diff --git a/mallinkBApi/src/main/java/com/iformall/controller/WxMicroPayController.java b/mallinkBApi/src/main/java/com/iformall/controller/WxMicroPayController.java index a82632d6e..c1bdd633c 100644 --- a/mallinkBApi/src/main/java/com/iformall/controller/WxMicroPayController.java +++ b/mallinkBApi/src/main/java/com/iformall/controller/WxMicroPayController.java @@ -386,11 +386,11 @@ public class WxMicroPayController extends BaseController { String couponOrderIdStr = paramMap.get("couponOrderId"); String authCode = paramMap.get("authCode"); String payPriceStr = paramMap.get("payPrice"); - return saveMicopayPayOrder(orderIdStr, couponOrderIdStr, authCode, payPriceStr, EnumPayWay.PAY_WAY_WECHAT_MA, request); + return saveMicopayPayOrder(orderIdStr, couponOrderIdStr, authCode, payPriceStr, EnumPayWay.PAY_WAY_WECHAT_MA,EnumPayVersion.WX_PAY_V2, request); } private ResultData saveMicopayPayOrder(String orderIdStr,String couponOrderIdStr,String authCode,String payPriceStr, - EnumPayWay payWay, HttpServletRequest request) { + EnumPayWay payWay,EnumPayVersion payVersion, HttpServletRequest request) { WxMerchantBUser user = getLoginBUser(); if (StringUtils.isBlank(orderIdStr)) { logger.error("orderId不能为空"); @@ -456,7 +456,7 @@ public class WxMicroPayController extends BaseController { Integer remainPrice = payPrice; if (wxCouponOrder != null) { try { - couponPayOrder = wxCouponOrderService.microPayPreVerify(composeOrder, wxCouponOrder, wxMerchantBUser, payPrice,payWay,ipStr,authCode); + couponPayOrder = wxCouponOrderService.microPayPreVerify(composeOrder, wxCouponOrder, wxMerchantBUser, payPrice,payWay,payVersion,ipStr,authCode); //remainPrice = microOrder.getPayment() - couponPayOrder.getPayAmount(); remainPrice = couponPayOrder.getPayAmount(); // 更新实际支付金额 diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxPayOrderController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxPayOrderController.java index 71e52a096..8ae49592a 100644 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxPayOrderController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxPayOrderController.java @@ -204,6 +204,7 @@ public class WxPayOrderController extends BaseController { payOrder.setFailReason(reasonStr); payOrder.updateTenantInfo(getTenantInfo()); payOrder.setPayVendor(getPayWay().getCode()); + payOrder.setPayVersion(getPayVersion().getCode()); try { //有价券支付成功 diff --git a/mallinkPosApi/src/main/java/com/iformall/service/impl/PosServiceImpl.java b/mallinkPosApi/src/main/java/com/iformall/service/impl/PosServiceImpl.java index a8baa8ebd..6012bb42c 100644 --- a/mallinkPosApi/src/main/java/com/iformall/service/impl/PosServiceImpl.java +++ b/mallinkPosApi/src/main/java/com/iformall/service/impl/PosServiceImpl.java @@ -2124,6 +2124,7 @@ public class PosServiceImpl implements PosService { payOrder.setPayOrderNo(String.valueOf(payOrderId)); payOrder.setPayAmount(neuPaymentAmount); payOrder.setPayVendor(EnumPayWay.PAY_WAY_POS_NEU.getCode()); + payOrder.setPayVersion(EnumPayVersion.NEU_POS_V1.getCode()); payOrder.setPayOrderStatus(EnumPayStatus.PAY_STATUS_SUCCESS.getCode()); payOrder.setShare(EnumPayShare.NO.getCode()); payOrder.setPayFrom(EnumPayFrom.POS.getCode()); @@ -2223,6 +2224,7 @@ public class PosServiceImpl implements PosService { payOrder.setPayOrderNo(String.valueOf(payOrderId)); payOrder.setPayAmount(neuPaymentAmount); payOrder.setPayVendor(EnumPayWay.PAY_WAY_POS_NEU.getCode()); + payOrder.setPayVersion(EnumPayVersion.NEU_POS_V1.getCode()); payOrder.setPayOrderStatus(EnumPayStatus.PAY_STATUS_SUCCESS.getCode()); payOrder.setShare(EnumPayShare.NO.getCode()); payOrder.setPayFrom(EnumPayFrom.POS.getCode()); @@ -2298,6 +2300,7 @@ public class PosServiceImpl implements PosService { payOrder.setPayOrderNo(String.valueOf(payOrderId)); payOrder.setPayAmount(neuPaymentAmount); payOrder.setPayVendor(EnumPayWay.PAY_WAY_POS_NEU.getCode()); + payOrder.setPayVersion(EnumPayVersion.NEU_POS_V1.getCode()); payOrder.setPayOrderStatus(EnumPayStatus.PAY_STATUS_SUCCESS.getCode()); payOrder.setShare(EnumPayShare.NO.getCode()); payOrder.setPayFrom(EnumPayFrom.POS.getCode()); diff --git a/mallinkService/src/main/java/com/iformall/service/WxCouponOrderService.java b/mallinkService/src/main/java/com/iformall/service/WxCouponOrderService.java index a096a1198..221630b29 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxCouponOrderService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxCouponOrderService.java @@ -7,6 +7,7 @@ import com.iformall.domain.po.*; import com.iformall.domain.po.base.TenantEntity; import com.iformall.domain.vo.*; import com.iformall.enums.EnumCouponVerifyType; +import com.iformall.enums.EnumPayVersion; import com.iformall.enums.EnumPayWay; import com.iformall.service.order.entity.WxComposeOrder; @@ -204,7 +205,7 @@ public interface WxCouponOrderService { */ JSONArray queryMicroPayCouponOrder(WxMerchantBUser user, WxCUserBasicInfo cUser, Integer price); - WxPayOrder microPayPreVerify(WxComposeOrder composeOrder, WxCouponOrder couponOrder, WxMerchantBUser bUser, Integer price, EnumPayWay payWay,String ipstr,String authCode); + WxPayOrder microPayPreVerify(WxComposeOrder composeOrder, WxCouponOrder couponOrder, WxMerchantBUser bUser, Integer price, EnumPayWay payWay,EnumPayVersion payVersion,String ipstr,String authCode); Integer microPayVerify(WxMerchantBUser bUser, Long couponOrderId,EnumPayWay payWay); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java index b6b1dc920..65f09b16f 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java @@ -2552,7 +2552,7 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { @Override @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) - public WxPayOrder microPayPreVerify(WxComposeOrder composeOrder, WxCouponOrder couponOrder, WxMerchantBUser bUser, Integer payPrice, EnumPayWay payWay,String ipstr,String authCode) { + public WxPayOrder microPayPreVerify(WxComposeOrder composeOrder, WxCouponOrder couponOrder, WxMerchantBUser bUser, Integer payPrice, EnumPayWay payWay,EnumPayVersion payVersion,String ipstr,String authCode) { // 1. 获取券信息 WxCoupon wxCoupon = wxCouponMapper.selectById(couponOrder.getCouponId(),couponOrder.getTenantId()); if (wxCoupon == null) { @@ -2700,6 +2700,7 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { // payOrder.setPayAmount(microOrder.getPayment()); // } payOrder.setPayVendor(payWay.getCode()); + payOrder.setPayVersion(payVersion.getCode()); payOrder.setPayOrderStatus(EnumPayStatus.PAY_STATUS_WAIT.getCode()); payOrder.setShare(shareCode); if (shareCode.intValue() == EnumPayShare.YES.getCode().intValue()) { diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxPayOrderServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxPayOrderServiceImpl.java index 4aa40bf6b..4779d1700 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxPayOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxPayOrderServiceImpl.java @@ -428,6 +428,7 @@ public class WxPayOrderServiceImpl implements WxPayOrderService { record.setPayAmount(composeOrder.getPayment()); record.setPayFrom(payWay.getCode()); record.setPayVendor(payWay.getCode()); + record.setPayVersion(payAccount.getPayVersion()); record.setPayOrderStatus(EnumPayStatus.PAY_STATUS_WAIT.getCode()); record.setMchType(payMchType.getCode()); record.setShare(isShare.getCode()); @@ -573,6 +574,7 @@ public class WxPayOrderServiceImpl implements WxPayOrderService { record.setPayOrderNo(payOrderNo); record.setPayAmount(record.getPayAmount()); record.setPayVendor(payWay.getCode()); + record.setPayVersion(payAccount.getPayVersion()); record.setPayOrderStatus(EnumPayStatus.PAY_STATUS_WAIT.getCode()); record.setShare(isShare.getCode()); record.setComposeOrder(EnumComposeOrder.SINGLE.getCode()); @@ -1126,6 +1128,7 @@ public class WxPayOrderServiceImpl implements WxPayOrderService { unPayOrder.setOrderId(composeOrder.getMainOrderId()); unPayOrder.setPayOrderStatus(EnumPayStatus.PAY_STATUS_SUCCESS.getCode()); unPayOrder.setPayVendor(payWay.getCode()); + unPayOrder.setPayVersion(payAccount.getPayVersion()); wxPayOrderMapper.updateById(unPayOrder); } catch (Exception e) { logger.error("支付订单数据库更新失败: " + e.getMessage());