Browse Source

fix pos bug

release_toaliyun_real
xiaohanzi 5 years ago
parent
commit
32c19b3eec
1 changed files with 119 additions and 94 deletions
  1. +119
    -94
      mallinkPosApi/src/main/java/com/iformall/service/impl/PosServiceImpl.java

+ 119
- 94
mallinkPosApi/src/main/java/com/iformall/service/impl/PosServiceImpl.java View File

@@ -2126,37 +2126,46 @@ public class PosServiceImpl implements PosService {
Long memId, Integer sceneType,
Long posPayOrderId, Integer neuPaymentAmount, Date neuPosPayOrderTime, String posPayOrderNo) {
// 1. insert into PayOrder
final IdWorker idWorker = IdWorker.get();
Long payOrderId = idWorker.nextId();
WxPayOrder payOrder = new WxPayOrder() {{
Date curDate = new Date();
setId(payOrderId);
setTenantId(merchantBUser.getTenantId());
updateTenantInfo(merchantBUser);
setCUserId(memId);
setBUserId(merchantBUser.getId());
setOrderId(order.getId());
setCreateTime(curDate);
setUpdateTime(curDate);
setPayTimeStart(curDate);
setPayTimeEnd(curDate);
setPayOrderNo(String.valueOf(payOrderId));
setPayAmount(neuPaymentAmount);
setPayVendor(EnumPayWay.PAY_WAY_POS_NEU.getCode());
setPayOrderStatus(EnumPayStatus.PAY_STATUS_SUCCESS.getCode());
setShare(EnumPayShare.NO.getCode());
setPayFrom(EnumPayFrom.POS.getCode());
setPosPayOrderId(posPayOrderId);
setPosPayOrderTime(neuPosPayOrderTime.getTime());
setPosPaymentType(EnumNeuPosPamentType.MEM_COUPON.getCode());
setPosPayDes("POS优惠券支付");
setPosPayOrderNo(posPayOrderNo);
}};
int sqlRow = payOrderMapper.insert(payOrder);
if (sqlRow != 1) {
logger.error("pay order insert error: " + payOrder.toString());
throw new MallinkException(ErrorCode.DB_FAIL);
}
WxPayOrder payOrderQ = new WxPayOrder();
payOrderQ.setOrderId(order.getId());
List<WxPayOrder> payOrderList = payOrderMapper.findList(payOrderQ);
WxPayOrder payOrder = null;
if (null == payOrderList || payOrderList.size()<=0) {
final IdWorker idWorker = IdWorker.get();
Long payOrderId = idWorker.nextId();
payOrder = new WxPayOrder() {{
Date curDate = new Date();
setId(payOrderId);
setTenantId(merchantBUser.getTenantId());
updateTenantInfo(merchantBUser);
setCUserId(memId);
setBUserId(merchantBUser.getId());
setOrderId(order.getId());
setCreateTime(curDate);
setUpdateTime(curDate);
setPayTimeStart(curDate);
setPayTimeEnd(curDate);
setPayOrderNo(String.valueOf(payOrderId));
setPayAmount(neuPaymentAmount);
setPayVendor(EnumPayWay.PAY_WAY_POS_NEU.getCode());
setPayOrderStatus(EnumPayStatus.PAY_STATUS_SUCCESS.getCode());
setShare(EnumPayShare.NO.getCode());
setPayFrom(EnumPayFrom.POS.getCode());
setPosPayOrderId(posPayOrderId);
setPosPayOrderTime(neuPosPayOrderTime.getTime());
setPosPaymentType(EnumNeuPosPamentType.MEM_COUPON.getCode());
setPosPayDes("POS优惠券支付");
setPosPayOrderNo(posPayOrderNo);
}};
int sqlRow = payOrderMapper.insert(payOrder);
if (sqlRow != 1) {
logger.error("pay order insert error: " + payOrder.toString());
throw new MallinkException(ErrorCode.DB_FAIL);
}
}else {
payOrder = payOrderList.get(0);
}
Long couponOrderId = Long.valueOf(posPayOrderNo);
// 2. 预核销->核销
if (sceneType.equals(EnumPosSceneType.PAY.getCode())) {
@@ -2212,38 +2221,46 @@ public class PosServiceImpl implements PosService {
WxOrder order, Long memId,
Long posPayOrderId, Integer neuPaymentAmount, Date neuPosPayOrderTime, String posPayOrderNo) {
// 1. insert into PayOrder
final IdWorker idWorker = IdWorker.get();
Long payOrderId = idWorker.nextId();
WxPayOrder payOrder = new WxPayOrder() {{
Date curDate = new Date();
setId(payOrderId);
setTenantId(buUser.getTenantId());
updateTenantInfo(buUser);
setCUserId(memId);
setBUserId(buUser.getId());
setOrderId(order.getId());
setCreateTime(curDate);
setUpdateTime(curDate);
setPayTimeStart(curDate);
setPayTimeEnd(curDate);
setPayOrderNo(String.valueOf(payOrderId));
setPayAmount(neuPaymentAmount);
setPayVendor(EnumPayWay.PAY_WAY_POS_NEU.getCode());
setPayOrderStatus(EnumPayStatus.PAY_STATUS_SUCCESS.getCode());
setShare(EnumPayShare.NO.getCode());
setPayFrom(EnumPayFrom.POS.getCode());
setPosPayOrderId(posPayOrderId);
setPosPayOrderTime(neuPosPayOrderTime.getTime());
setPosPaymentType(EnumNeuPosPamentType.MEM_CARD.getCode());
setPosPayDes("POS富茂卡支付");
setPosPayOrderNo(posPayOrderNo);

}};
int sqlRow = payOrderMapper.insert(payOrder);
if (sqlRow != 1) {
logger.error("pay order insert error: " + payOrder.toString());
throw new MallinkException(ErrorCode.DB_FAIL);
}
WxPayOrder payOrderQ = new WxPayOrder();
payOrderQ.setOrderId(order.getId());
List<WxPayOrder> payOrderList = payOrderMapper.findList(payOrderQ);
WxPayOrder payOrder = null;
if (null == payOrderList || payOrderList.size()<=0) {
final IdWorker idWorker = IdWorker.get();
Long payOrderId = idWorker.nextId();
payOrder = new WxPayOrder() {{
Date curDate = new Date();
setId(payOrderId);
setTenantId(buUser.getTenantId());
updateTenantInfo(buUser);
setCUserId(memId);
setBUserId(buUser.getId());
setOrderId(order.getId());
setCreateTime(curDate);
setUpdateTime(curDate);
setPayTimeStart(curDate);
setPayTimeEnd(curDate);
setPayOrderNo(String.valueOf(payOrderId));
setPayAmount(neuPaymentAmount);
setPayVendor(EnumPayWay.PAY_WAY_POS_NEU.getCode());
setPayOrderStatus(EnumPayStatus.PAY_STATUS_SUCCESS.getCode());
setShare(EnumPayShare.NO.getCode());
setPayFrom(EnumPayFrom.POS.getCode());
setPosPayOrderId(posPayOrderId);
setPosPayOrderTime(neuPosPayOrderTime.getTime());
setPosPaymentType(EnumNeuPosPamentType.MEM_CARD.getCode());
setPosPayDes("POS富茂卡支付");
setPosPayOrderNo(posPayOrderNo);
}};
int sqlRow = payOrderMapper.insert(payOrder);
if (sqlRow != 1) {
logger.error("pay order insert error: " + payOrder.toString());
throw new MallinkException(ErrorCode.DB_FAIL);
}
}else {
payOrder = payOrderList.get(0);
}
// 2. 卡支付
Long cardSpendId;
try {
@@ -2281,37 +2298,45 @@ public class PosServiceImpl implements PosService {
WxMerchant merchant, WxMerchantBUser buUser, WxOrder order, Long memId,
Integer neuPayOrderType, Long neuPayOrderId, Integer neuPaymentAmount, Date neuPosPayOrderTime, String neuPayThirdNo) {
// 1. insert into PayOrder
final IdWorker idWorker = IdWorker.get();
Long payOrderId = idWorker.nextId();
WxPayOrder payOrder = new WxPayOrder() {{
Date curDate = new Date();
setId(payOrderId);
setTenantId(buUser.getTenantId());
updateTenantInfo(buUser);
setCUserId(memId);
setOrderId(order.getId());
setCreateTime(curDate);
setUpdateTime(curDate);
setPayTimeStart(curDate);
setPayTimeEnd(curDate);
setPayOrderNo(String.valueOf(payOrderId));
setPayAmount(neuPaymentAmount);
setPayVendor(EnumPayWay.PAY_WAY_POS_NEU.getCode());
setPayOrderStatus(EnumPayStatus.PAY_STATUS_SUCCESS.getCode());
setShare(EnumPayShare.NO.getCode());
setPayFrom(EnumPayFrom.POS.getCode());
setPosPayOrderId(neuPayOrderId);
setPosPayOrderTime(neuPosPayOrderTime.getTime());
setPosPaymentType(neuPayOrderType);
setPosPayDes("POS支付");
setPosPayOrderNo(neuPayThirdNo);

}};
int sqlRow = payOrderMapper.insert(payOrder);
if (sqlRow != 1) {
logger.error("pay order insert error: " + payOrder.toString());
throw new MallinkException(ErrorCode.DB_FAIL);
}
WxPayOrder payOrderQ = new WxPayOrder();
payOrderQ.setOrderId(order.getId());
List<WxPayOrder> payOrderList = payOrderMapper.findList(payOrderQ);
WxPayOrder payOrder = null;
if (null == payOrderList || payOrderList.size()<=0) {
final IdWorker idWorker = IdWorker.get();
Long payOrderId = idWorker.nextId();
payOrder = new WxPayOrder() {{
Date curDate = new Date();
setId(payOrderId);
setTenantId(buUser.getTenantId());
updateTenantInfo(buUser);
setCUserId(memId);
setOrderId(order.getId());
setCreateTime(curDate);
setUpdateTime(curDate);
setPayTimeStart(curDate);
setPayTimeEnd(curDate);
setPayOrderNo(String.valueOf(payOrderId));
setPayAmount(neuPaymentAmount);
setPayVendor(EnumPayWay.PAY_WAY_POS_NEU.getCode());
setPayOrderStatus(EnumPayStatus.PAY_STATUS_SUCCESS.getCode());
setShare(EnumPayShare.NO.getCode());
setPayFrom(EnumPayFrom.POS.getCode());
setPosPayOrderId(neuPayOrderId);
setPosPayOrderTime(neuPosPayOrderTime.getTime());
setPosPaymentType(neuPayOrderType);
setPosPayDes("POS支付");
setPosPayOrderNo(neuPayThirdNo);
}};
int sqlRow = payOrderMapper.insert(payOrder);
if (sqlRow != 1) {
logger.error("pay order insert error: " + payOrder.toString());
throw new MallinkException(ErrorCode.DB_FAIL);
}
}else {
payOrder = payOrderList.get(0);
}

// 2. 积分, 成长值
// 3. 成长值


Loading…
Cancel
Save