| @@ -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. 成长值 | |||