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