From 24f076497f45a5dad76f07c8ecbd47843fecbad1 Mon Sep 17 00:00:00 2001 From: zhengfangyuan Date: Wed, 10 Aug 2022 11:08:11 +0800 Subject: [PATCH] fix pay v3 --- .../controller/market/WxOrderController.java | 2 +- .../controller/WxCouponSendController.java | 3 ++- .../iformall/controller/BaseController.java | 24 ++++++++++++++++++ .../WxCouponPasswordController.java | 2 +- .../controller/WxOrderController.java | 10 ++++---- .../car/WxCarCYFCallBackController.java | 3 ++- .../car/WxCarETCPCallBackController.java | 3 ++- .../car/WxCarTJDCallBackController.java | 3 ++- .../car/WxParkCallBackBaseController.java | 3 ++- .../iformall/schedule/CouponSendSchedule.java | 4 +-- .../java/com/iformall/common/ErrorCode.java | 1 + .../java/com/iformall/domain/po/WxOrder.java | 4 +-- .../iformall/service/WxCouponSendService.java | 5 ++-- .../com/iformall/service/WxOrderService.java | 2 +- .../AliBusinessCircleOrderServiceImpl.java | 2 +- .../WxBusinessCircleOrderServiceImpl.java | 2 +- .../impl/WxCouponInjectServiceImpl.java | 2 +- .../impl/WxCouponOrderServiceImpl.java | 4 +-- .../service/impl/WxCouponSendServiceImpl.java | 8 +++--- .../service/impl/WxGameServiceImpl.java | 2 +- .../service/impl/WxOrderServiceImpl.java | 25 ++++--------------- .../impl/WxThirdPartyOrdersServiceImpl.java | 2 +- .../service/order/OrderAdapterService.java | 7 +++--- .../order/impl/SingleOrderAdapterService.java | 13 +++++----- .../batch/BaseBatchOrderAdapterService.java | 16 ++++++------ .../CouponPackageOrderAdapterService.java | 12 ++++----- ...umberOneOrderBatchOrderAdapterService.java | 13 +++++----- ...umberOneOrderBatchOrderAdapterService.java | 13 +++++----- 28 files changed, 106 insertions(+), 84 deletions(-) diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxOrderController.java b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxOrderController.java index 47ff872ba..a5101fe1b 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxOrderController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxOrderController.java @@ -187,7 +187,7 @@ public class WxOrderController extends BaseController { return new ResultData(ErrorCode.COUPON_IS_NOT_FREE); } // 免费券 - WxComposeOrder composeOrder = orderFactory.getOrderAdapterService(EnumComposeOrder.SINGLE.getCode()).createDBMainOrder(coupon, user, 0, EnumPayWay.PAY_WAY_NOT_UNPAY_CREDIT); + WxComposeOrder composeOrder = orderFactory.getOrderAdapterService(EnumComposeOrder.SINGLE.getCode()).createDBMainOrder(coupon, user, 0, EnumPayWay.PAY_WAY_NOT_UNPAY_CREDIT,EnumPayVersion.NO_VERSION); order = wxOrderService.saveFreeOrderForCoupon(new Date(),false,composeOrder,user, coupon, 1, wxCouponChannel, orderSaveDto.getFormId(), null,null,EnumPayWay.PAY_WAY_NOT_UNPAY_CREDIT,EnumPayVersion.NO_VERSION, EnumOrderShopingType.ONLINE_PURCHASE.getCode(),null); diff --git a/mallinkBApi/src/main/java/com/iformall/controller/WxCouponSendController.java b/mallinkBApi/src/main/java/com/iformall/controller/WxCouponSendController.java index 69e49887f..270ba8cdc 100644 --- a/mallinkBApi/src/main/java/com/iformall/controller/WxCouponSendController.java +++ b/mallinkBApi/src/main/java/com/iformall/controller/WxCouponSendController.java @@ -10,6 +10,7 @@ import com.iformall.domain.vo.WxCouponActionLogVo; import com.iformall.domain.vo.WxCouponSendVo; import com.iformall.enums.EnumCouponSendSendType; import com.iformall.enums.EnumCouponSendStatus; +import com.iformall.enums.EnumPayVersion; import com.iformall.enums.EnumPayWay; import com.iformall.exception.MallinkException; import com.iformall.mapper.WxCUserMapper; @@ -102,7 +103,7 @@ public class WxCouponSendController extends BaseController { wxCouponSend.setSendType(EnumCouponSendSendType.MERCHANT.getCode()); wxCouponSend.setStatus(EnumCouponSendStatus.VALID.getCode()); try { - wxCouponSendService.handSel(wxCouponSend, Long.parseLong(cUserId),EnumPayWay.PAY_WAY_NOT_UNPAY_MERCHANT,getLoginBUser().getMerchantId(),getLoginBUser().getId()); + wxCouponSendService.handSel(wxCouponSend, Long.parseLong(cUserId),EnumPayWay.PAY_WAY_NOT_UNPAY_MERCHANT,EnumPayVersion.NO_VERSION,getLoginBUser().getMerchantId(),getLoginBUser().getId()); } catch (MallinkException e) { logger.error("注券异常: ", e); return new ResultData(e.getErrorCode(), e.getMessage()); diff --git a/mallinkCApi/src/main/java/com/iformall/controller/BaseController.java b/mallinkCApi/src/main/java/com/iformall/controller/BaseController.java index b1713383c..e3ba510e5 100644 --- a/mallinkCApi/src/main/java/com/iformall/controller/BaseController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/BaseController.java @@ -3,11 +3,13 @@ package com.iformall.controller; import cn.binarywang.wx.miniapp.api.WxMaService; import com.iformall.common.ErrorCode; import com.iformall.common.IdWorker; +import com.iformall.common.ResultData; import com.iformall.domain.po.*; import com.iformall.domain.po.base.BaseCUserEntity; import com.iformall.domain.po.base.TenantEntity; import com.iformall.domain.po.tt.TtCUser; import com.iformall.enums.EnumAppPlat; +import com.iformall.enums.EnumPayVersion; import com.iformall.enums.EnumPayWay; import com.iformall.enums.EnumScoreType; import com.iformall.exception.MallinkException; @@ -66,6 +68,9 @@ public class BaseController { @Autowired private MemCouponFromDspService memCouponFromDspService; + @Autowired + private WxPayAccountService wxPayAccountService; + @Autowired @Qualifier("objectCommonRedisTemplate") RedisTemplate objectCommonRedisTemplate; @@ -134,6 +139,25 @@ public class BaseController { } return appInfo; } + + public EnumPayVersion getPayVersion() { + WxAppinfo appinfo = getCurrentApp(); + if ( null == appinfo) { + throw new MallinkException(ErrorCode.USER_APPINFO_NOT_EXIST); + } + + WxPayAccount payAccount = RedisCacheUtils.getCacheObject(objectCommonRedisTemplate, "payAccount:"+appinfo.getPayId(), WxPayAccount.class); + if (null == payAccount) { + payAccount = wxPayAccountService.getById(appinfo.getPayId()); + if (null != payAccount) { + RedisCacheUtils.cache(objectCommonRedisTemplate, "payAccount:"+appinfo.getPayId(), payAccount, 24*60*60); + } + } + if (null == payAccount) { + throw new MallinkException(ErrorCode.USER_APPINFO_NOFUND_PAYACCOUNT); + } + return EnumPayVersion.getEnum(payAccount.getPayVersion()); + } /** * 微信端获取当前用户 wx_c_user,非会员 diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxCouponPasswordController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxCouponPasswordController.java index 4129907a5..8595c0428 100644 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxCouponPasswordController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxCouponPasswordController.java @@ -101,7 +101,7 @@ public class WxCouponPasswordController extends BaseController { // 3. 领取free coupon try { - WxComposeOrder composeOrder = orderFactory.getOrderAdapterService(EnumComposeOrder.SINGLE.getCode()).createDBMainOrder(coupon, member, 0, payWay); + WxComposeOrder composeOrder = orderFactory.getOrderAdapterService(EnumComposeOrder.SINGLE.getCode()).createDBMainOrder(coupon, member, 0, payWay,payVersion); WxOrder order = orderService.saveFreeOrderForCoupon(new Date(),false,composeOrder,member, coupon, 1, null, formId, couponPassword.getId(),null,payWay,payVersion, EnumOrderShopingType.ONLINE_PURCHASE.getCode(),null); diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxOrderController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxOrderController.java index 3e12c7e2e..456dae195 100644 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxOrderController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxOrderController.java @@ -37,6 +37,7 @@ import com.iformall.service.pay.entity.PayExtraParam; import com.iformall.utils.Constant; import com.iformall.utils.IPUtil; import com.iformall.utils.MaUtil; +import com.iformall.utils.RedisCacheUtils; import com.iformall.utils.RedisLock; import io.swagger.annotations.Api; @@ -103,7 +104,6 @@ public class WxOrderController extends BaseController { @Autowired RedisLock redisLock; - //券包下单的逻辑和组合下单的逻辑差不错,但是库存走的是券包的库存,子订单的分账需要调用多次分账 @ApiOperation(value = "券包下单,", notes = "[{\"signleOrder\":{\"couponChannelId\":\"String\",\"couponId\":\"String\",\"press\":\"String\",\"orderGroupId\":\"String\",\"formId\":\"String\"},\"count\":8},]") @PostMapping("couponPackageSave") @@ -114,7 +114,7 @@ public class WxOrderController extends BaseController { } catch (Exception e) { return new ResultData(Result.ERROR,e.getMessage()); } - return wxOrderService.composeSaveOrder(false,EnumComposeOrder.PACKAGECOUPON,orderSaveDto,memberId,EnumPayWay.PAY_WAY_WECHAT,getTenantInfo(),this.getCurrentApp()); + return wxOrderService.composeSaveOrder(false,EnumComposeOrder.PACKAGECOUPON,orderSaveDto,memberId,EnumPayWay.PAY_WAY_WECHAT,getTenantInfo(),this.getPayVersion()); } @ApiOperation(value = "商品购物车组合下单", notes = "[{\"signleOrder\":{\"couponChannelId\":\"String\",\"couponId\":\"String\",\"press\":\"String\",\"orderGroupId\":\"String\",\"formId\":\"String\"},\"count\":8},]") @@ -126,7 +126,7 @@ public class WxOrderController extends BaseController { } catch (Exception e) { return new ResultData(Result.ERROR,e.getMessage()); } - return wxOrderService.composeSaveOrder(true,EnumComposeOrder.MULITY_NUMBER_ORDER_BATCH,orderSaveDto,memberId,EnumPayWay.PAY_WAY_WECHAT,getTenantInfo(),this.getCurrentApp()); + return wxOrderService.composeSaveOrder(true,EnumComposeOrder.MULITY_NUMBER_ORDER_BATCH,orderSaveDto,memberId,EnumPayWay.PAY_WAY_WECHAT,getTenantInfo(),this.getPayVersion()); } @ApiOperation(value = "券购物车组合下单", notes = "[{\"signleOrder\":{\"couponChannelId\":\"String\",\"couponId\":\"String\",\"press\":\"String\",\"orderGroupId\":\"String\",\"formId\":\"String\"},\"count\":8},]") @@ -138,7 +138,7 @@ public class WxOrderController extends BaseController { } catch (Exception e) { return new ResultData(Result.ERROR,e.getMessage()); } - return wxOrderService.composeSaveOrder(false,EnumComposeOrder.ONE_NUMBER_ORDER_BATCH,orderSaveDto,memberId,getPayWay(),getTenantInfo(),this.getCurrentApp()); + return wxOrderService.composeSaveOrder(false,EnumComposeOrder.ONE_NUMBER_ORDER_BATCH,orderSaveDto,memberId,getPayWay(),getTenantInfo(),this.getPayVersion()); } @ApiOperation(value = "单个券单个订单,卡(分账导致无法批量下单)、拼团,砍价用", notes = "{\"couponChannelId\":\"String\",\"couponId\":\"String\",\"press\":\"String\",\"orderGroupId\":\"String\",\"formId\":\"String\"}") @@ -159,7 +159,7 @@ public class WxOrderController extends BaseController { dto.setSignleOrder(orderSaveDto); dto.setCount(1); list.add(dto); - return wxOrderService.composeSaveOrder(false,EnumComposeOrder.SINGLE,list,memberId,getPayWay(),getTenantInfo(),this.getCurrentApp()); + return wxOrderService.composeSaveOrder(false,EnumComposeOrder.SINGLE,list,memberId,getPayWay(),getTenantInfo(),this.getPayVersion()); } @AuthIgnore diff --git a/mallinkCallback/src/main/java/com/iformall/controller/callback/car/WxCarCYFCallBackController.java b/mallinkCallback/src/main/java/com/iformall/controller/callback/car/WxCarCYFCallBackController.java index 009259b91..fa21d847d 100644 --- a/mallinkCallback/src/main/java/com/iformall/controller/callback/car/WxCarCYFCallBackController.java +++ b/mallinkCallback/src/main/java/com/iformall/controller/callback/car/WxCarCYFCallBackController.java @@ -9,6 +9,7 @@ import com.iformall.domain.vo.WxCarCYFVo; import com.iformall.enums.EnumCarCmd; import com.iformall.enums.EnumCarVendor; import com.iformall.enums.EnumCouponSendSendType; +import com.iformall.enums.EnumPayVersion; import com.iformall.enums.EnumPayWay; import com.iformall.service.*; import com.iformall.service.park.impl.cyf.CYFUtil; @@ -118,7 +119,7 @@ public class WxCarCYFCallBackController extends BaseController { boolean bFirst = true; for (WxCUserCar userCar : userCarList) { userCar.setParentTenantId(park.getParentTenantId()); - wxCouponSendService.sendCouponToUser(EnumCouponSendSendType.CAR_STOP, userCar,EnumPayWay.PAY_WAY_NOT_UNPAY_CAR_STOP); + wxCouponSendService.sendCouponToUser(EnumCouponSendSendType.CAR_STOP, userCar,EnumPayWay.PAY_WAY_NOT_UNPAY_CAR_STOP,EnumPayVersion.NO_VERSION); WxCUserBasicInfo cUser = wxCUserBasicInfoService.getById(userCar.getCUserId(),park.getFinalTenantId()); if(cUser != null){ if(bFirst) { diff --git a/mallinkCallback/src/main/java/com/iformall/controller/callback/car/WxCarETCPCallBackController.java b/mallinkCallback/src/main/java/com/iformall/controller/callback/car/WxCarETCPCallBackController.java index d46021818..055e4a2d9 100644 --- a/mallinkCallback/src/main/java/com/iformall/controller/callback/car/WxCarETCPCallBackController.java +++ b/mallinkCallback/src/main/java/com/iformall/controller/callback/car/WxCarETCPCallBackController.java @@ -10,6 +10,7 @@ import com.iformall.enums.EnumCarCmd; import com.iformall.enums.EnumCarVendor; import com.iformall.enums.EnumCouponSendSendType; import com.iformall.enums.EnumETCPCode; +import com.iformall.enums.EnumPayVersion; import com.iformall.enums.EnumPayWay; import com.iformall.exception.MallinkException; import com.iformall.service.*; @@ -396,7 +397,7 @@ public class WxCarETCPCallBackController extends BaseController { boolean bFirst = true; for (WxCUserCar userCar : userCarList) { userCar.setParentTenantId(park.getParentTenantId()); - wxCouponSendService.sendCouponToUser(EnumCouponSendSendType.CAR_STOP, userCar,EnumPayWay.PAY_WAY_NOT_UNPAY_CAR_STOP); + wxCouponSendService.sendCouponToUser(EnumCouponSendSendType.CAR_STOP, userCar,EnumPayWay.PAY_WAY_NOT_UNPAY_CAR_STOP,EnumPayVersion.NO_VERSION); WxCUserBasicInfo cUser = wxCUserBasicInfoService.getById(userCar.getCUserId(),park.getFinalTenantId()); if(cUser != null){ if(bFirst) { diff --git a/mallinkCallback/src/main/java/com/iformall/controller/callback/car/WxCarTJDCallBackController.java b/mallinkCallback/src/main/java/com/iformall/controller/callback/car/WxCarTJDCallBackController.java index 7f06c5524..c0d346840 100644 --- a/mallinkCallback/src/main/java/com/iformall/controller/callback/car/WxCarTJDCallBackController.java +++ b/mallinkCallback/src/main/java/com/iformall/controller/callback/car/WxCarTJDCallBackController.java @@ -7,6 +7,7 @@ import com.iformall.domain.po.*; import com.iformall.enums.EnumCarCmd; import com.iformall.enums.EnumCarVendor; import com.iformall.enums.EnumCouponSendSendType; +import com.iformall.enums.EnumPayVersion; import com.iformall.enums.EnumPayWay; import com.iformall.service.*; import com.iformall.service.park.impl.tjd.TJDUtil; @@ -170,7 +171,7 @@ public class WxCarTJDCallBackController extends BaseController { boolean bFirst = true; for (WxCUserCar userCar : userCarList) { userCar.setParentTenantId(park.getParentTenantId()); - wxCouponSendService.sendCouponToUser(EnumCouponSendSendType.CAR_STOP, userCar,EnumPayWay.PAY_WAY_NOT_UNPAY_CAR_STOP); + wxCouponSendService.sendCouponToUser(EnumCouponSendSendType.CAR_STOP, userCar,EnumPayWay.PAY_WAY_NOT_UNPAY_CAR_STOP,EnumPayVersion.NO_VERSION); WxCUserBasicInfo cUser = wxCUserBasicInfoService.getById(userCar.getCUserId(),park.getFinalTenantId()); if(cUser != null){ if(bFirst) { diff --git a/mallinkCallback/src/main/java/com/iformall/controller/callback/car/WxParkCallBackBaseController.java b/mallinkCallback/src/main/java/com/iformall/controller/callback/car/WxParkCallBackBaseController.java index 592f9c4e8..e586b1df0 100644 --- a/mallinkCallback/src/main/java/com/iformall/controller/callback/car/WxParkCallBackBaseController.java +++ b/mallinkCallback/src/main/java/com/iformall/controller/callback/car/WxParkCallBackBaseController.java @@ -10,6 +10,7 @@ import com.iformall.enums.EnumCarCmd; import com.iformall.enums.EnumCarVendor; import com.iformall.enums.EnumCouponSendSendType; import com.iformall.enums.EnumETCPCode; +import com.iformall.enums.EnumPayVersion; import com.iformall.enums.EnumPayWay; import com.iformall.exception.MallinkException; import com.iformall.service.*; @@ -210,7 +211,7 @@ public class WxParkCallBackBaseController extends BaseController { boolean bFirst = true; for (WxCUserCar userCar : userCarList) { userCar.setParentTenantId(wxCarCmdLog.getParentTenantId()); - wxCouponSendService.sendCouponToUser(EnumCouponSendSendType.CAR_STOP, userCar,EnumPayWay.PAY_WAY_NOT_UNPAY_CAR_STOP); + wxCouponSendService.sendCouponToUser(EnumCouponSendSendType.CAR_STOP, userCar,EnumPayWay.PAY_WAY_NOT_UNPAY_CAR_STOP,EnumPayVersion.NO_VERSION); WxCUserBasicInfo cUser = wxCUserBasicInfoService.getById(userCar.getCUserId(),wxCarCmdLog.getFinalTenantId()); if(cUser != null){ if(bFirst) { diff --git a/mallinkSchedule/src/main/java/com/iformall/schedule/CouponSendSchedule.java b/mallinkSchedule/src/main/java/com/iformall/schedule/CouponSendSchedule.java index 9a2abb8c7..d461379cc 100644 --- a/mallinkSchedule/src/main/java/com/iformall/schedule/CouponSendSchedule.java +++ b/mallinkSchedule/src/main/java/com/iformall/schedule/CouponSendSchedule.java @@ -192,7 +192,7 @@ public class CouponSendSchedule { // 发放免费券 try { - WxCouponOrder couponOrder = wxOrderService.sendFreeCouponToUser(cu.getId(), cs,cs.getCouponId(), null,EnumPayWay.PAY_WAY_NOT_UNPAY_SYSTEM_SEND,null,null); + WxCouponOrder couponOrder = wxOrderService.sendFreeCouponToUser(cu.getId(), cs,cs.getCouponId(), null,EnumPayWay.PAY_WAY_NOT_UNPAY_SYSTEM_SEND,EnumPayVersion.NO_VERSION,null,null); wxCouponActionLogService.addOne(tenantEntity, cs.getCouponId(), couponOrder.getId(), cs.getSendType(), cs.getId(),0L); } catch (Exception e) { logger.error("定时发券:发券失败 levelId=" + l.getId() + " couponId=" + cs.getCouponId() + " userId=" + cu.getId() + e.getMessage()); @@ -323,7 +323,7 @@ public class CouponSendSchedule { for (WxCUserBasicInfo cu : newUserList) { // 发放生日券 try { - WxCouponOrder couponOrder = wxOrderService.sendFreeCouponToUser(cu.getId(),cs, cs.getCouponId(), null,EnumPayWay.PAY_WAY_NOT_UNPAY_SYSTEM_SEND,null,null); + WxCouponOrder couponOrder = wxOrderService.sendFreeCouponToUser(cu.getId(),cs, cs.getCouponId(), null,EnumPayWay.PAY_WAY_NOT_UNPAY_SYSTEM_SEND,EnumPayVersion.NO_VERSION,null,null); wxCouponActionLogService.addOne(tenantEntity, cs.getCouponId(), couponOrder.getId(), cs.getSendType(), cs.getId(), 0L); couponSendedUsers.add(cu); } catch (Exception e) { diff --git a/mallinkService/src/main/java/com/iformall/common/ErrorCode.java b/mallinkService/src/main/java/com/iformall/common/ErrorCode.java index a0171d54a..96501f88c 100644 --- a/mallinkService/src/main/java/com/iformall/common/ErrorCode.java +++ b/mallinkService/src/main/java/com/iformall/common/ErrorCode.java @@ -98,6 +98,7 @@ public enum ErrorCode{ MEMBER_IS_LOCKED(2010, "当前会员已被锁定"), USER_BIRTHDATE_AFTER(2109, "出生日期大于当前日期"), USER_APPINFO_NOT_EXIST(2110,"当前登录用户APP为空"), + USER_APPINFO_NOFUND_PAYACCOUNT(2111,"当前app找不到payAccount"), /** * 商场/商户 diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxOrder.java b/mallinkService/src/main/java/com/iformall/domain/po/WxOrder.java index ee9257ae7..a0e0675be 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxOrder.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxOrder.java @@ -59,8 +59,8 @@ public class WxOrder extends TenantEntity { private Long productId; @io.swagger.annotations.ApiModelProperty(value="类型(0:券,1:B刷卡支付,2:C扫码支付,3:储值卡, 10:POS支付)",name="type") private Integer type; -// @io.swagger.annotations.ApiModelProperty(value = "支付渠道EnumPayWay", name = "payVendor") -// private Integer payVendor; + @io.swagger.annotations.ApiModelProperty(value = "支付渠道EnumPayWay", name = "payVendor") + private Integer payVendor; @io.swagger.annotations.ApiModelProperty(value = "支付渠道版本EnumPayVersion", name = "payVersion") private Integer payVersion; @io.swagger.annotations.ApiModelProperty(value="0: 付款 1: 退款",name="paymentType") diff --git a/mallinkService/src/main/java/com/iformall/service/WxCouponSendService.java b/mallinkService/src/main/java/com/iformall/service/WxCouponSendService.java index 91f17ac80..386316a64 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxCouponSendService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxCouponSendService.java @@ -7,6 +7,7 @@ import com.iformall.domain.po.base.TenantEntity; import com.iformall.domain.po.WxCouponSend; import com.iformall.domain.vo.WxCouponSendVo; import com.iformall.enums.EnumCouponSendSendType; +import com.iformall.enums.EnumPayVersion; import com.iformall.enums.EnumPayWay; public interface WxCouponSendService { @@ -55,7 +56,7 @@ public interface WxCouponSendService { * @param cUserId * @param type 2:停车发券 3:核销发券 */ - boolean sendCouponToUser(EnumCouponSendSendType type, Object param,EnumPayWay payWay); + boolean sendCouponToUser(EnumCouponSendSendType type, Object param,EnumPayWay payWay,EnumPayVersion payVersion); void updateStatusByCouponId(Long couponId, TenantEntity tenantEntity, int status); @@ -98,7 +99,7 @@ public interface WxCouponSendService { * * @param wxCouponSend */ - void handSel(WxCouponSend wxCouponSend,Long cUserId,EnumPayWay payWay,Long merchantId,Long bUserId) ; + void handSel(WxCouponSend wxCouponSend,Long cUserId,EnumPayWay payWay,EnumPayVersion payVersion,Long merchantId,Long bUserId) ; List findListVo(WxCouponSend record); diff --git a/mallinkService/src/main/java/com/iformall/service/WxOrderService.java b/mallinkService/src/main/java/com/iformall/service/WxOrderService.java index 10d11915a..f7497501c 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxOrderService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxOrderService.java @@ -249,7 +249,7 @@ public interface WxOrderService { //ResultData saveOrder(OrderSaveDto orderSaveDto,Long cUserId,EnumPayWay payWay,TenantEntity tenantEntity); ResultData composeSaveOrder(boolean allowUnPayOrder,EnumComposeOrder composeOrderType,List composeOrderSaveDto,Long cUserId,EnumPayWay payWay, - TenantEntity tenantEntity,WxAppinfo appinfo); + TenantEntity tenantEntity,EnumPayVersion payVersion); //平台推送订单,如抖音支付2.0 ResultData platPushSaveOrder(boolean allowUnPayOrder,EnumComposeOrder composeOrderType,String allExtParam,List platPushOrderList,Long cUserId, diff --git a/mallinkService/src/main/java/com/iformall/service/impl/AliBusinessCircleOrderServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/AliBusinessCircleOrderServiceImpl.java index 16c309209..6b20cd8bb 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/AliBusinessCircleOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/AliBusinessCircleOrderServiceImpl.java @@ -176,7 +176,7 @@ public class AliBusinessCircleOrderServiceImpl implements AliBusinessCircleOrder } try { - wxCouponSendService.sendCouponToUser(EnumCouponSendSendType.B_MICROPAY, record,EnumPayWay.PAY_WAY_NOT_UNPAY_B_MA); + wxCouponSendService.sendCouponToUser(EnumCouponSendSendType.B_MICROPAY, record,EnumPayWay.PAY_WAY_NOT_UNPAY_B_MA,EnumPayVersion.NO_VERSION); } catch (Exception e) { logger.error("支付发券: " + e.getMessage()); } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxBusinessCircleOrderServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxBusinessCircleOrderServiceImpl.java index 0a5400960..0065dfd97 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxBusinessCircleOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxBusinessCircleOrderServiceImpl.java @@ -173,7 +173,7 @@ public class WxBusinessCircleOrderServiceImpl implements WxBusinessCircleOrderSe if(record.getCUserId() != null){ try { - wxCouponSendService.sendCouponToUser(EnumCouponSendSendType.B_MICROPAY, record,EnumPayWay.PAY_WAY_NOT_UNPAY_B_MA); + wxCouponSendService.sendCouponToUser(EnumCouponSendSendType.B_MICROPAY, record,EnumPayWay.PAY_WAY_NOT_UNPAY_B_MA,EnumPayVersion.NO_VERSION); } catch (Exception e) { logger.error("支付发券: " + e.getMessage()); } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponInjectServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponInjectServiceImpl.java index 934046a57..791f6462b 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponInjectServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponInjectServiceImpl.java @@ -274,7 +274,7 @@ public class WxCouponInjectServiceImpl implements WxCouponInjectService { // 发放免费券 WxCouponOrder couponOrder = null; try { - couponOrder = wxOrderService.sendFreeCouponToUser(tempCUser.getId(),wxCoupon, wxCoupon.getId(),null,EnumPayWay.PAY_WAY_NOT_UNPAY_BATCH_SEND,null,null); + couponOrder = wxOrderService.sendFreeCouponToUser(tempCUser.getId(),wxCoupon, wxCoupon.getId(),null,EnumPayWay.PAY_WAY_NOT_UNPAY_BATCH_SEND,EnumPayVersion.NO_VERSION,null,null); if (couponOrder != null) { wxCouponActionLogService.addOne(couponOrder, wxCoupon.getId(), couponOrder.getId(), EnumCouponSendSendType.INJECT.getCode(), couponInjectId,0L); } 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 f48646549..0cc816ca0 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java @@ -1860,7 +1860,7 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { WxOrder wxOrder = wxOrderMapper.selectById(couponOrder.getOrderId(),couponOrder.getTenantId()); if (wxOrder != null) { try { - return wxCouponSendService.sendCouponToUser(EnumCouponSendSendType.COUPON_VERIFY, wxOrder,EnumPayWay.PAY_WAY_NOT_UNPAY_VERRIFY); + return wxCouponSendService.sendCouponToUser(EnumCouponSendSendType.COUPON_VERIFY, wxOrder,EnumPayWay.PAY_WAY_NOT_UNPAY_VERRIFY,EnumPayVersion.NO_VERSION); } catch (Exception e) { logger.error("核销发券: " + e.getMessage(),e); } @@ -1874,7 +1874,7 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { WxOrder wxOrder = wxOrderMapper.selectById(orderId,tenantEntity.getTenantId()); if (wxOrder != null) { try { - return wxCouponSendService.sendCouponToUser(EnumCouponSendSendType.B_MICROPAY, wxOrder,EnumPayWay.PAY_WAY_NOT_UNPAY_B_MA); + return wxCouponSendService.sendCouponToUser(EnumCouponSendSendType.B_MICROPAY, wxOrder,EnumPayWay.PAY_WAY_NOT_UNPAY_B_MA,EnumPayVersion.NO_VERSION); } catch (Exception e) { logger.error("B端刷卡支付发券: " + e.getMessage()); } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponSendServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponSendServiceImpl.java index af1b5ac23..0a4d39ccf 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponSendServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponSendServiceImpl.java @@ -468,7 +468,7 @@ public class WxCouponSendServiceImpl implements WxCouponSendService { @Override @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) - public boolean sendCouponToUser(EnumCouponSendSendType type, Object param,EnumPayWay payWay) { + public boolean sendCouponToUser(EnumCouponSendSendType type, Object param,EnumPayWay payWay,EnumPayVersion payVersion) { TenantEntity tenantEntity; Long cUserId; @@ -557,7 +557,7 @@ public class WxCouponSendServiceImpl implements WxCouponSendService { // 发放免费券 WxCouponOrder couponOrder = null; try { - couponOrder = wxOrderService.sendFreeCouponToUser(cUserId,send, send.getCouponId(), null,payWay,null,null); + couponOrder = wxOrderService.sendFreeCouponToUser(cUserId,send, send.getCouponId(), null,payWay,payVersion,null,null); if (couponOrder != null) { bRet = true; @@ -698,7 +698,7 @@ public class WxCouponSendServiceImpl implements WxCouponSendService { @Override @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) - public void handSel(WxCouponSend wxCouponSend, Long cUserId,EnumPayWay payWay,Long merchantId,Long bUserId) { + public void handSel(WxCouponSend wxCouponSend, Long cUserId,EnumPayWay payWay,EnumPayVersion payVersion,Long merchantId,Long bUserId) { WxCUserBasicInfo wxCUserBasicInfo = wxCUserBasicInfoMapper.selectById(cUserId,wxCouponSend.getFinalTenantId()); if (Objects.isNull(wxCUserBasicInfo)) { @@ -711,7 +711,7 @@ public class WxCouponSendServiceImpl implements WxCouponSendService { } couponSendList.forEach(cs -> { // 发放免费券 - WxCouponOrder couponOrder = wxOrderService.sendFreeCouponToUser(cUserId,cs, cs.getCouponId(), cs,payWay,merchantId,bUserId); + WxCouponOrder couponOrder = wxOrderService.sendFreeCouponToUser(cUserId,cs, cs.getCouponId(), cs,payWay,payVersion,merchantId,bUserId); if (couponOrder != null) { wxCouponActionLogService.addOne(couponOrder, cs.getCouponId(), couponOrder.getId(), cs.getSendType(), cs.getId(),bUserId); sendMsgForSendCoupon(couponOrder, cs, couponOrder, wxCUserBasicInfo); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxGameServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxGameServiceImpl.java index b6251be3f..f414bac3f 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxGameServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxGameServiceImpl.java @@ -456,7 +456,7 @@ public class WxGameServiceImpl implements WxGameService { ocsd.setSignleOrder(orderSaveDto); ocsd.setCount(1); orderSave.add(ocsd); - ResultData resultData1 = wxOrderService.composeSaveOrder(false,EnumComposeOrder.SINGLE,orderSave, userId, EnumPayWay.PAY_WAY_WECHAT, wxGame); + ResultData resultData1 = wxOrderService.composeSaveOrder(false,EnumComposeOrder.SINGLE,orderSave, userId, EnumPayWay.PAY_WAY_WECHAT, wxGame,EnumPayVersion.WX_PAY_V2); if(resultData1.code == Result.SUCCESS && resultData1.data != null && resultData1.data instanceof WxComposeOrder){ WxComposeOrder order = (WxComposeOrder)resultData1.data; diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java index 5b6640af0..17d2e42f4 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java @@ -2091,7 +2091,7 @@ public class WxOrderServiceImpl implements WxOrderService { // 交易发券 try { - wxCouponSendService.sendCouponToUser(EnumCouponSendSendType.C_ORDER, order,EnumPayWay.PAY_WAY_NOT_UNPAY_TRADE); + wxCouponSendService.sendCouponToUser(EnumCouponSendSendType.C_ORDER, order,EnumPayWay.PAY_WAY_NOT_UNPAY_TRADE,EnumPayVersion.NO_VERSION); } catch (Exception e) { logger.error("订单发券:" + e.getMessage(),e); } @@ -2804,7 +2804,7 @@ public class WxOrderServiceImpl implements WxOrderService { OrderAdapterService orderAdapterService = orderFactory.getOrderAdapterService(composeOrderType.getCode()); //从这里开始,就需要锁住渠道的价格,不能修改 - WxComposeOrder composeOrder = orderAdapterService.createDBMainOrderByPushOrder(tenantEntity,user, allExtParam,platPushOrderList, payWay); + WxComposeOrder composeOrder = orderAdapterService.createDBMainOrderByPushOrder(tenantEntity,user, allExtParam,platPushOrderList, payWay,payVersion); Date orderDate = new Date(); WxOrder lastOrder = null; WxCoupon lastCoupon = null; @@ -2881,7 +2881,7 @@ public class WxOrderServiceImpl implements WxOrderService { OrderAdapterService orderAdapterService = orderFactory.getOrderAdapterService(composeOrderType.getCode()); //从这里开始,就需要锁住渠道的价格,不能修改 - WxComposeOrder composeOrder = orderAdapterService.createDBMainOrder(tenantEntity,user, orderSave, payWay); + WxComposeOrder composeOrder = orderAdapterService.createDBMainOrder(tenantEntity,user, orderSave, payWay,payVersion); Date orderDate = new Date(); WxOrder lastOrder = null; for (int i = 0 ; i < orderSave.size(); i ++) { @@ -3411,13 +3411,9 @@ public class WxOrderServiceImpl implements WxOrderService { @Override public ResultData composeSaveOrder(boolean allowUnPayOrder,EnumComposeOrder composeOrderType,List composeOrderSaveDto,Long cUserId,EnumPayWay payWay, - TenantEntity tenantEntity,WxAppinfo appinfo) { + TenantEntity tenantEntity,EnumPayVersion payVersion) { try { - if ( null == appinfo) { - return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"无商品信息"); - } - if (null == composeOrderSaveDto || composeOrderSaveDto.size() <= 0 ) { return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"无商品信息"); } @@ -3440,20 +3436,9 @@ public class WxOrderServiceImpl implements WxOrderService { ocsd.setWxCoupon(coupon); } - WxPayAccount payAccount = RedisCacheUtils.getCacheObject(redisTemplate, "payAccount:"+appinfo.getPayId(), WxPayAccount.class); - if (null == payAccount) { - payAccount = wxPayAccountMapper.selectById(appinfo.getPayId()); - if (null != payAccount) { - RedisCacheUtils.cache(redisTemplate, "payAccount:"+appinfo.getPayId(), payAccount, 24*60*60); - } - } - if (null == payAccount) { - return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"app查询不到payAccount"); - } - WxOrderServiceImpl proxy = (WxOrderServiceImpl) AopContext.currentProxy(); try { - WxComposeOrder order = proxy.saveOrderForCoupon(tenantEntity,allowUnPayOrder,composeOrderType,wxCUserBasicInfo, composeOrderSaveDto, payWay,payAccount.getPayVersion()); + WxComposeOrder order = proxy.saveOrderForCoupon(tenantEntity,allowUnPayOrder,composeOrderType,wxCUserBasicInfo, composeOrderSaveDto, payWay,payVersion); return new ResultData(order); } catch (MallinkException e) { logger.error("saveOrderForCoupon error.",e); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxThirdPartyOrdersServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxThirdPartyOrdersServiceImpl.java index a647cb566..37e8de8d2 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxThirdPartyOrdersServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxThirdPartyOrdersServiceImpl.java @@ -178,7 +178,7 @@ public class WxThirdPartyOrdersServiceImpl implements WxThirdPartyOrdersService } try { - wxCouponSendService.sendCouponToUser(EnumCouponSendSendType.B_MICROPAY, record,EnumPayWay.PAY_WAY_NOT_UNPAY_B_MA); + wxCouponSendService.sendCouponToUser(EnumCouponSendSendType.B_MICROPAY, record,EnumPayWay.PAY_WAY_NOT_UNPAY_B_MA,EnumPayVersion.NO_VERSION); } catch (Exception e) { logger.error("支付发券: " + e.getMessage()); } diff --git a/mallinkService/src/main/java/com/iformall/service/order/OrderAdapterService.java b/mallinkService/src/main/java/com/iformall/service/order/OrderAdapterService.java index cf274a2e9..6ae2f7c5d 100644 --- a/mallinkService/src/main/java/com/iformall/service/order/OrderAdapterService.java +++ b/mallinkService/src/main/java/com/iformall/service/order/OrderAdapterService.java @@ -7,6 +7,7 @@ import com.iformall.domain.dto.OrderComposeSaveDto; import com.iformall.domain.dto.PlatPushOrderSaveDto; import com.iformall.domain.po.*; import com.iformall.domain.po.base.TenantEntity; +import com.iformall.enums.EnumPayVersion; import com.iformall.enums.EnumPayWay; import com.iformall.service.order.entity.WxComposeChildOrderPrice; import com.iformall.service.order.entity.WxComposeOrder; @@ -17,12 +18,12 @@ public interface OrderAdapterService { * 数据库创建组合主订单,不是wxOrder.单个的模式不用创建 * @return */ - WxComposeOrder createDBMainOrder(TenantEntity tenantEntity,WxCUserBasicInfo user,List orderSave,EnumPayWay payWay); + WxComposeOrder createDBMainOrder(TenantEntity tenantEntity,WxCUserBasicInfo user,List orderSave,EnumPayWay payWay,EnumPayVersion payVersion); - WxComposeOrder createDBMainOrder(TenantEntity tenantEntity,WxCUserBasicInfo user,int payment,EnumPayWay payWay); + WxComposeOrder createDBMainOrder(TenantEntity tenantEntity,WxCUserBasicInfo user,int payment,EnumPayWay payWay,EnumPayVersion payVersion); //第三方平台推送过来的订单 - WxComposeOrder createDBMainOrderByPushOrder(TenantEntity tenantEntity,WxCUserBasicInfo user,String allExtParam,List platPushOrderList,EnumPayWay payWay); + WxComposeOrder createDBMainOrderByPushOrder(TenantEntity tenantEntity,WxCUserBasicInfo user,String allExtParam,List platPushOrderList,EnumPayWay payWay,EnumPayVersion payVersion); /** * 获取支付时商品名称,供服务商API使用 diff --git a/mallinkService/src/main/java/com/iformall/service/order/impl/SingleOrderAdapterService.java b/mallinkService/src/main/java/com/iformall/service/order/impl/SingleOrderAdapterService.java index c6477f0d0..03af75957 100644 --- a/mallinkService/src/main/java/com/iformall/service/order/impl/SingleOrderAdapterService.java +++ b/mallinkService/src/main/java/com/iformall/service/order/impl/SingleOrderAdapterService.java @@ -17,6 +17,7 @@ import com.iformall.domain.dto.OrderComposeSaveDto; import com.iformall.domain.dto.PlatPushOrderSaveDto; import com.iformall.enums.EnumComposeOrder; import com.iformall.enums.EnumOrderShopingType; +import com.iformall.enums.EnumPayVersion; import com.iformall.enums.EnumPayWay; import com.iformall.mapper.WxBatchOrderMapper; import com.iformall.mapper.WxOrderMapper; @@ -41,22 +42,22 @@ public class SingleOrderAdapterService extends BaseBatchOrderAdapterService { @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) @Override - public WxComposeOrder createDBMainOrder(TenantEntity tenantEntity,WxCUserBasicInfo user,List orderSave,EnumPayWay payWay) { - return super.createDBMainOrder(tenantEntity,user, orderSave, payWay, EnumComposeOrder.SINGLE); + public WxComposeOrder createDBMainOrder(TenantEntity tenantEntity,WxCUserBasicInfo user,List orderSave,EnumPayWay payWay,EnumPayVersion payVersion) { + return super.createDBMainOrder(tenantEntity,user, orderSave, payWay,payVersion, EnumComposeOrder.SINGLE); } @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) @Override public WxComposeOrder createDBMainOrder(TenantEntity tenantEntity, WxCUserBasicInfo user, int payment, - EnumPayWay payWay) { - return super.createDBMainOrder(tenantEntity,user, payment,null, payWay, EnumComposeOrder.SINGLE,null,null); + EnumPayWay payWay,EnumPayVersion payVersion) { + return super.createDBMainOrder(tenantEntity,user, payment,null, payWay,payVersion, EnumComposeOrder.SINGLE,null,null); } @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) @Override public WxComposeOrder createDBMainOrderByPushOrder(TenantEntity tenantEntity, WxCUserBasicInfo user,String allExtParam, - List platPushOrderList, EnumPayWay payWay) { - return super.createDBMainOrderForPushOrders(tenantEntity, user, allExtParam,platPushOrderList, payWay, EnumComposeOrder.SINGLE); + List platPushOrderList, EnumPayWay payWay,EnumPayVersion payVersion) { + return super.createDBMainOrderForPushOrders(tenantEntity, user, allExtParam,platPushOrderList, payWay,payVersion, EnumComposeOrder.SINGLE); } @Override diff --git a/mallinkService/src/main/java/com/iformall/service/order/impl/batch/BaseBatchOrderAdapterService.java b/mallinkService/src/main/java/com/iformall/service/order/impl/batch/BaseBatchOrderAdapterService.java index 6b5f6b91c..b0e7864b4 100644 --- a/mallinkService/src/main/java/com/iformall/service/order/impl/batch/BaseBatchOrderAdapterService.java +++ b/mallinkService/src/main/java/com/iformall/service/order/impl/batch/BaseBatchOrderAdapterService.java @@ -22,6 +22,7 @@ import com.iformall.domain.po.WxOrder; import com.iformall.domain.po.base.TenantEntity; import com.iformall.enums.EnumComposeOrder; import com.iformall.enums.EnumOrderShopingType; +import com.iformall.enums.EnumPayVersion; import com.iformall.enums.EnumPayWay; import com.iformall.exception.MallinkException; import com.iformall.service.WxCouponChannelService; @@ -77,7 +78,7 @@ public abstract class BaseBatchOrderAdapterService implements OrderAdapterServic @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) - protected WxComposeOrder createDBMainOrder(TenantEntity tenantEntity,WxCUserBasicInfo user,List orderSave,EnumPayWay payWay,EnumComposeOrder composeOrderType) { + protected WxComposeOrder createDBMainOrder(TenantEntity tenantEntity,WxCUserBasicInfo user,List orderSave,EnumPayWay payWay,EnumPayVersion payVersion,EnumComposeOrder composeOrderType) { int payment = 0; Map couponMap = new HashMap(); Map couponChannelMap = new HashMap(); @@ -93,11 +94,12 @@ public abstract class BaseBatchOrderAdapterService implements OrderAdapterServic couponChannelMap.put(wxCouponChannel.getId(), wxCouponChannel); } - return createDBMainOrder(tenantEntity, user, payment, null,payWay, composeOrderType,couponChannelMap,couponMap); + return createDBMainOrder(tenantEntity, user, payment, null,payWay,payVersion, composeOrderType,couponChannelMap,couponMap); } @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) - protected WxComposeOrder createDBMainOrderForPushOrders(TenantEntity tenantEntity,WxCUserBasicInfo user,String allExtParam,List platPushOrderList,EnumPayWay payWay,EnumComposeOrder composeOrderType) { + protected WxComposeOrder createDBMainOrderForPushOrders(TenantEntity tenantEntity,WxCUserBasicInfo user,String allExtParam,List platPushOrderList,EnumPayWay payWay, + EnumPayVersion payVersion,EnumComposeOrder composeOrderType) { int payment = 0; Map couponMap = new HashMap(); Map couponChannelMap = new HashMap(); @@ -113,12 +115,12 @@ public abstract class BaseBatchOrderAdapterService implements OrderAdapterServic couponChannelMap.put(wxCouponChannel.getId(), wxCouponChannel); } - return createDBMainOrder(tenantEntity, user, payment, allExtParam,payWay, composeOrderType,couponChannelMap,couponMap); + return createDBMainOrder(tenantEntity, user, payment, allExtParam,payWay,payVersion, composeOrderType,couponChannelMap,couponMap); } @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) - protected WxComposeOrder createDBMainOrder(TenantEntity tenantEntity,WxCUserBasicInfo user,int payment,String allExtParam,EnumPayWay payWay,EnumComposeOrder composeOrderType, - Map couponChannelMap,Map couponMap) { + protected WxComposeOrder createDBMainOrder(TenantEntity tenantEntity,WxCUserBasicInfo user,int payment,String allExtParam,EnumPayWay payWay,EnumPayVersion payVersion, + EnumComposeOrder composeOrderType,Map couponChannelMap,Map couponMap) { //判断是否poi订单 Integer isTtPoiOrder = null; try{ @@ -135,7 +137,7 @@ public abstract class BaseBatchOrderAdapterService implements OrderAdapterServic order.updateTenantInfo(tenantEntity); order.setPayment(payment); order.setPayVendor(payWay.getCode()); - order.setPayVersion(payVersion); + order.setPayVersion(payVersion.getCode()); order.setOrderType(composeOrderType.getCode()); order.setIsTtPoiOrder(isTtPoiOrder); order.setCreateDate(new Date()); diff --git a/mallinkService/src/main/java/com/iformall/service/order/impl/batch/CouponPackageOrderAdapterService.java b/mallinkService/src/main/java/com/iformall/service/order/impl/batch/CouponPackageOrderAdapterService.java index ca65e2447..589a77394 100644 --- a/mallinkService/src/main/java/com/iformall/service/order/impl/batch/CouponPackageOrderAdapterService.java +++ b/mallinkService/src/main/java/com/iformall/service/order/impl/batch/CouponPackageOrderAdapterService.java @@ -31,22 +31,22 @@ public class CouponPackageOrderAdapterService extends BaseBatchOrderAdapterServi @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) @Override - public WxComposeOrder createDBMainOrder(TenantEntity tenantEntity,WxCUserBasicInfo user,List orderSave,EnumPayWay payWay) { - return super.createDBMainOrder(tenantEntity,user, orderSave, payWay, EnumComposeOrder.PACKAGECOUPON); + public WxComposeOrder createDBMainOrder(TenantEntity tenantEntity,WxCUserBasicInfo user,List orderSave,EnumPayWay payWay,EnumPayVersion payVersion) { + return super.createDBMainOrder(tenantEntity,user, orderSave, payWay,payVersion, EnumComposeOrder.PACKAGECOUPON); } @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) @Override public WxComposeOrder createDBMainOrder(TenantEntity tenantEntity, WxCUserBasicInfo user, int payment, - EnumPayWay payWay) { - return super.createDBMainOrder(tenantEntity, user, payment,null, payWay, EnumComposeOrder.PACKAGECOUPON,null,null); + EnumPayWay payWay,EnumPayVersion payVersion) { + return super.createDBMainOrder(tenantEntity, user, payment,null, payWay,payVersion, EnumComposeOrder.PACKAGECOUPON,null,null); } @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) @Override public WxComposeOrder createDBMainOrderByPushOrder(TenantEntity tenantEntity, WxCUserBasicInfo user,String allExtParam, - List platPushOrderList, EnumPayWay payWay) { - return super.createDBMainOrderForPushOrders(tenantEntity, user, allExtParam, platPushOrderList, payWay, EnumComposeOrder.PACKAGECOUPON); + List platPushOrderList, EnumPayWay payWay,EnumPayVersion payVersion) { + return super.createDBMainOrderForPushOrders(tenantEntity, user, allExtParam, platPushOrderList, payWay,payVersion, EnumComposeOrder.PACKAGECOUPON); } @Override diff --git a/mallinkService/src/main/java/com/iformall/service/order/impl/batch/MulityNumberOneOrderBatchOrderAdapterService.java b/mallinkService/src/main/java/com/iformall/service/order/impl/batch/MulityNumberOneOrderBatchOrderAdapterService.java index 3955a3a61..a3f2714f8 100644 --- a/mallinkService/src/main/java/com/iformall/service/order/impl/batch/MulityNumberOneOrderBatchOrderAdapterService.java +++ b/mallinkService/src/main/java/com/iformall/service/order/impl/batch/MulityNumberOneOrderBatchOrderAdapterService.java @@ -13,6 +13,7 @@ import org.springframework.transaction.annotation.Transactional; import com.iformall.domain.dto.OrderComposeSaveDto; import com.iformall.domain.dto.PlatPushOrderSaveDto; import com.iformall.enums.EnumComposeOrder; +import com.iformall.enums.EnumPayVersion; import com.iformall.enums.EnumPayWay; import com.iformall.service.order.entity.WxComposeOrder; /** @@ -32,22 +33,22 @@ public class MulityNumberOneOrderBatchOrderAdapterService extends BaseBatchOrder @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) @Override public WxComposeOrder createDBMainOrder(TenantEntity tenantEntity,WxCUserBasicInfo user, List orderSave, - EnumPayWay payWay) { - return super.createDBMainOrder(tenantEntity,user, orderSave, payWay, EnumComposeOrder.MULITY_NUMBER_ORDER_BATCH); + EnumPayWay payWay,EnumPayVersion payVersion) { + return super.createDBMainOrder(tenantEntity,user, orderSave, payWay,payVersion, EnumComposeOrder.MULITY_NUMBER_ORDER_BATCH); } @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) @Override public WxComposeOrder createDBMainOrder(TenantEntity tenantEntity, WxCUserBasicInfo user, int payment, - EnumPayWay payWay) { - return super.createDBMainOrder(tenantEntity,user, payment, null, payWay, EnumComposeOrder.MULITY_NUMBER_ORDER_BATCH,null,null); + EnumPayWay payWay,EnumPayVersion payVersion) { + return super.createDBMainOrder(tenantEntity,user, payment, null, payWay,payVersion, EnumComposeOrder.MULITY_NUMBER_ORDER_BATCH,null,null); } @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) @Override public WxComposeOrder createDBMainOrderByPushOrder(TenantEntity tenantEntity, WxCUserBasicInfo user,String allExtParam, - List platPushOrderList, EnumPayWay payWay) { - return super.createDBMainOrderForPushOrders(tenantEntity, user, allExtParam, platPushOrderList, payWay, EnumComposeOrder.MULITY_NUMBER_ORDER_BATCH); + List platPushOrderList, EnumPayWay payWay,EnumPayVersion payVersion) { + return super.createDBMainOrderForPushOrders(tenantEntity, user, allExtParam, platPushOrderList, payWay,payVersion, EnumComposeOrder.MULITY_NUMBER_ORDER_BATCH); } diff --git a/mallinkService/src/main/java/com/iformall/service/order/impl/batch/OneNumberOneOrderBatchOrderAdapterService.java b/mallinkService/src/main/java/com/iformall/service/order/impl/batch/OneNumberOneOrderBatchOrderAdapterService.java index c145eda7c..35aeadb29 100644 --- a/mallinkService/src/main/java/com/iformall/service/order/impl/batch/OneNumberOneOrderBatchOrderAdapterService.java +++ b/mallinkService/src/main/java/com/iformall/service/order/impl/batch/OneNumberOneOrderBatchOrderAdapterService.java @@ -12,6 +12,7 @@ import org.springframework.transaction.annotation.Transactional; import com.iformall.domain.dto.OrderComposeSaveDto; import com.iformall.domain.dto.PlatPushOrderSaveDto; import com.iformall.enums.EnumComposeOrder; +import com.iformall.enums.EnumPayVersion; import com.iformall.enums.EnumPayWay; import com.iformall.service.order.entity.WxComposeOrder; @@ -31,22 +32,22 @@ public class OneNumberOneOrderBatchOrderAdapterService extends BaseBatchOrderAda @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) @Override public WxComposeOrder createDBMainOrder(TenantEntity tenantEntity,WxCUserBasicInfo user, List orderSave, - EnumPayWay payWay) { - return super.createDBMainOrder(tenantEntity,user, orderSave, payWay, EnumComposeOrder.ONE_NUMBER_ORDER_BATCH); + EnumPayWay payWay,EnumPayVersion payVersion) { + return super.createDBMainOrder(tenantEntity,user, orderSave, payWay,payVersion, EnumComposeOrder.ONE_NUMBER_ORDER_BATCH); } @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) @Override public WxComposeOrder createDBMainOrder(TenantEntity tenantEntity, WxCUserBasicInfo user, int payment, - EnumPayWay payWay) { - return super.createDBMainOrder(tenantEntity,user, payment, null,payWay, EnumComposeOrder.ONE_NUMBER_ORDER_BATCH,null,null); + EnumPayWay payWay,EnumPayVersion payVersion) { + return super.createDBMainOrder(tenantEntity,user, payment, null,payWay,payVersion, EnumComposeOrder.ONE_NUMBER_ORDER_BATCH,null,null); } @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) @Override public WxComposeOrder createDBMainOrderByPushOrder(TenantEntity tenantEntity, WxCUserBasicInfo user,String allExtParam, - List platPushOrderList, EnumPayWay payWay) { - return super.createDBMainOrderForPushOrders(tenantEntity, user, allExtParam,platPushOrderList, payWay, EnumComposeOrder.ONE_NUMBER_ORDER_BATCH); + List platPushOrderList, EnumPayWay payWay,EnumPayVersion payVersion) { + return super.createDBMainOrderForPushOrders(tenantEntity, user, allExtParam,platPushOrderList, payWay,payVersion, EnumComposeOrder.ONE_NUMBER_ORDER_BATCH); } @Override