| @@ -187,7 +187,7 @@ public class WxOrderController extends BaseController { | |||||
| return new ResultData(ErrorCode.COUPON_IS_NOT_FREE); | 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, | order = wxOrderService.saveFreeOrderForCoupon(new Date(),false,composeOrder,user, coupon, 1, | ||||
| wxCouponChannel, orderSaveDto.getFormId(), null,null,EnumPayWay.PAY_WAY_NOT_UNPAY_CREDIT,EnumPayVersion.NO_VERSION, | wxCouponChannel, orderSaveDto.getFormId(), null,null,EnumPayWay.PAY_WAY_NOT_UNPAY_CREDIT,EnumPayVersion.NO_VERSION, | ||||
| EnumOrderShopingType.ONLINE_PURCHASE.getCode(),null); | EnumOrderShopingType.ONLINE_PURCHASE.getCode(),null); | ||||
| @@ -10,6 +10,7 @@ import com.iformall.domain.vo.WxCouponActionLogVo; | |||||
| import com.iformall.domain.vo.WxCouponSendVo; | import com.iformall.domain.vo.WxCouponSendVo; | ||||
| import com.iformall.enums.EnumCouponSendSendType; | import com.iformall.enums.EnumCouponSendSendType; | ||||
| import com.iformall.enums.EnumCouponSendStatus; | import com.iformall.enums.EnumCouponSendStatus; | ||||
| import com.iformall.enums.EnumPayVersion; | |||||
| import com.iformall.enums.EnumPayWay; | import com.iformall.enums.EnumPayWay; | ||||
| import com.iformall.exception.MallinkException; | import com.iformall.exception.MallinkException; | ||||
| import com.iformall.mapper.WxCUserMapper; | import com.iformall.mapper.WxCUserMapper; | ||||
| @@ -102,7 +103,7 @@ public class WxCouponSendController extends BaseController { | |||||
| wxCouponSend.setSendType(EnumCouponSendSendType.MERCHANT.getCode()); | wxCouponSend.setSendType(EnumCouponSendSendType.MERCHANT.getCode()); | ||||
| wxCouponSend.setStatus(EnumCouponSendStatus.VALID.getCode()); | wxCouponSend.setStatus(EnumCouponSendStatus.VALID.getCode()); | ||||
| try { | 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) { | } catch (MallinkException e) { | ||||
| logger.error("注券异常: ", e); | logger.error("注券异常: ", e); | ||||
| return new ResultData(e.getErrorCode(), e.getMessage()); | return new ResultData(e.getErrorCode(), e.getMessage()); | ||||
| @@ -3,11 +3,13 @@ package com.iformall.controller; | |||||
| import cn.binarywang.wx.miniapp.api.WxMaService; | import cn.binarywang.wx.miniapp.api.WxMaService; | ||||
| import com.iformall.common.ErrorCode; | import com.iformall.common.ErrorCode; | ||||
| import com.iformall.common.IdWorker; | import com.iformall.common.IdWorker; | ||||
| import com.iformall.common.ResultData; | |||||
| import com.iformall.domain.po.*; | import com.iformall.domain.po.*; | ||||
| import com.iformall.domain.po.base.BaseCUserEntity; | import com.iformall.domain.po.base.BaseCUserEntity; | ||||
| import com.iformall.domain.po.base.TenantEntity; | import com.iformall.domain.po.base.TenantEntity; | ||||
| import com.iformall.domain.po.tt.TtCUser; | import com.iformall.domain.po.tt.TtCUser; | ||||
| import com.iformall.enums.EnumAppPlat; | import com.iformall.enums.EnumAppPlat; | ||||
| import com.iformall.enums.EnumPayVersion; | |||||
| import com.iformall.enums.EnumPayWay; | import com.iformall.enums.EnumPayWay; | ||||
| import com.iformall.enums.EnumScoreType; | import com.iformall.enums.EnumScoreType; | ||||
| import com.iformall.exception.MallinkException; | import com.iformall.exception.MallinkException; | ||||
| @@ -66,6 +68,9 @@ public class BaseController { | |||||
| @Autowired | @Autowired | ||||
| private MemCouponFromDspService memCouponFromDspService; | private MemCouponFromDspService memCouponFromDspService; | ||||
| @Autowired | |||||
| private WxPayAccountService wxPayAccountService; | |||||
| @Autowired | @Autowired | ||||
| @Qualifier("objectCommonRedisTemplate") | @Qualifier("objectCommonRedisTemplate") | ||||
| RedisTemplate<String, Object> objectCommonRedisTemplate; | RedisTemplate<String, Object> objectCommonRedisTemplate; | ||||
| @@ -134,6 +139,25 @@ public class BaseController { | |||||
| } | } | ||||
| return appInfo; | 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,非会员 | * 微信端获取当前用户 wx_c_user,非会员 | ||||
| @@ -101,7 +101,7 @@ public class WxCouponPasswordController extends BaseController { | |||||
| // 3. 领取free coupon | // 3. 领取free coupon | ||||
| try { | 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, | WxOrder order = orderService.saveFreeOrderForCoupon(new Date(),false,composeOrder,member, coupon, 1, | ||||
| null, formId, couponPassword.getId(),null,payWay,payVersion, | null, formId, couponPassword.getId(),null,payWay,payVersion, | ||||
| EnumOrderShopingType.ONLINE_PURCHASE.getCode(),null); | EnumOrderShopingType.ONLINE_PURCHASE.getCode(),null); | ||||
| @@ -37,6 +37,7 @@ import com.iformall.service.pay.entity.PayExtraParam; | |||||
| import com.iformall.utils.Constant; | import com.iformall.utils.Constant; | ||||
| import com.iformall.utils.IPUtil; | import com.iformall.utils.IPUtil; | ||||
| import com.iformall.utils.MaUtil; | import com.iformall.utils.MaUtil; | ||||
| import com.iformall.utils.RedisCacheUtils; | |||||
| import com.iformall.utils.RedisLock; | import com.iformall.utils.RedisLock; | ||||
| import io.swagger.annotations.Api; | import io.swagger.annotations.Api; | ||||
| @@ -103,7 +104,6 @@ public class WxOrderController extends BaseController { | |||||
| @Autowired | @Autowired | ||||
| RedisLock redisLock; | RedisLock redisLock; | ||||
| //券包下单的逻辑和组合下单的逻辑差不错,但是库存走的是券包的库存,子订单的分账需要调用多次分账 | //券包下单的逻辑和组合下单的逻辑差不错,但是库存走的是券包的库存,子订单的分账需要调用多次分账 | ||||
| @ApiOperation(value = "券包下单,", notes = "[{\"signleOrder\":{\"couponChannelId\":\"String\",\"couponId\":\"String\",\"press\":\"String\",\"orderGroupId\":\"String\",\"formId\":\"String\"},\"count\":8},]") | @ApiOperation(value = "券包下单,", notes = "[{\"signleOrder\":{\"couponChannelId\":\"String\",\"couponId\":\"String\",\"press\":\"String\",\"orderGroupId\":\"String\",\"formId\":\"String\"},\"count\":8},]") | ||||
| @PostMapping("couponPackageSave") | @PostMapping("couponPackageSave") | ||||
| @@ -114,7 +114,7 @@ public class WxOrderController extends BaseController { | |||||
| } catch (Exception e) { | } catch (Exception e) { | ||||
| return new ResultData(Result.ERROR,e.getMessage()); | 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},]") | @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) { | } catch (Exception e) { | ||||
| return new ResultData(Result.ERROR,e.getMessage()); | 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},]") | @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) { | } catch (Exception e) { | ||||
| return new ResultData(Result.ERROR,e.getMessage()); | 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\"}") | @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.setSignleOrder(orderSaveDto); | ||||
| dto.setCount(1); | dto.setCount(1); | ||||
| list.add(dto); | 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 | @AuthIgnore | ||||
| @@ -9,6 +9,7 @@ import com.iformall.domain.vo.WxCarCYFVo; | |||||
| import com.iformall.enums.EnumCarCmd; | import com.iformall.enums.EnumCarCmd; | ||||
| import com.iformall.enums.EnumCarVendor; | import com.iformall.enums.EnumCarVendor; | ||||
| import com.iformall.enums.EnumCouponSendSendType; | import com.iformall.enums.EnumCouponSendSendType; | ||||
| import com.iformall.enums.EnumPayVersion; | |||||
| import com.iformall.enums.EnumPayWay; | import com.iformall.enums.EnumPayWay; | ||||
| import com.iformall.service.*; | import com.iformall.service.*; | ||||
| import com.iformall.service.park.impl.cyf.CYFUtil; | import com.iformall.service.park.impl.cyf.CYFUtil; | ||||
| @@ -118,7 +119,7 @@ public class WxCarCYFCallBackController extends BaseController { | |||||
| boolean bFirst = true; | boolean bFirst = true; | ||||
| for (WxCUserCar userCar : userCarList) { | for (WxCUserCar userCar : userCarList) { | ||||
| userCar.setParentTenantId(park.getParentTenantId()); | 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()); | WxCUserBasicInfo cUser = wxCUserBasicInfoService.getById(userCar.getCUserId(),park.getFinalTenantId()); | ||||
| if(cUser != null){ | if(cUser != null){ | ||||
| if(bFirst) { | if(bFirst) { | ||||
| @@ -10,6 +10,7 @@ import com.iformall.enums.EnumCarCmd; | |||||
| import com.iformall.enums.EnumCarVendor; | import com.iformall.enums.EnumCarVendor; | ||||
| import com.iformall.enums.EnumCouponSendSendType; | import com.iformall.enums.EnumCouponSendSendType; | ||||
| import com.iformall.enums.EnumETCPCode; | import com.iformall.enums.EnumETCPCode; | ||||
| import com.iformall.enums.EnumPayVersion; | |||||
| import com.iformall.enums.EnumPayWay; | import com.iformall.enums.EnumPayWay; | ||||
| import com.iformall.exception.MallinkException; | import com.iformall.exception.MallinkException; | ||||
| import com.iformall.service.*; | import com.iformall.service.*; | ||||
| @@ -396,7 +397,7 @@ public class WxCarETCPCallBackController extends BaseController { | |||||
| boolean bFirst = true; | boolean bFirst = true; | ||||
| for (WxCUserCar userCar : userCarList) { | for (WxCUserCar userCar : userCarList) { | ||||
| userCar.setParentTenantId(park.getParentTenantId()); | 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()); | WxCUserBasicInfo cUser = wxCUserBasicInfoService.getById(userCar.getCUserId(),park.getFinalTenantId()); | ||||
| if(cUser != null){ | if(cUser != null){ | ||||
| if(bFirst) { | if(bFirst) { | ||||
| @@ -7,6 +7,7 @@ import com.iformall.domain.po.*; | |||||
| import com.iformall.enums.EnumCarCmd; | import com.iformall.enums.EnumCarCmd; | ||||
| import com.iformall.enums.EnumCarVendor; | import com.iformall.enums.EnumCarVendor; | ||||
| import com.iformall.enums.EnumCouponSendSendType; | import com.iformall.enums.EnumCouponSendSendType; | ||||
| import com.iformall.enums.EnumPayVersion; | |||||
| import com.iformall.enums.EnumPayWay; | import com.iformall.enums.EnumPayWay; | ||||
| import com.iformall.service.*; | import com.iformall.service.*; | ||||
| import com.iformall.service.park.impl.tjd.TJDUtil; | import com.iformall.service.park.impl.tjd.TJDUtil; | ||||
| @@ -170,7 +171,7 @@ public class WxCarTJDCallBackController extends BaseController { | |||||
| boolean bFirst = true; | boolean bFirst = true; | ||||
| for (WxCUserCar userCar : userCarList) { | for (WxCUserCar userCar : userCarList) { | ||||
| userCar.setParentTenantId(park.getParentTenantId()); | 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()); | WxCUserBasicInfo cUser = wxCUserBasicInfoService.getById(userCar.getCUserId(),park.getFinalTenantId()); | ||||
| if(cUser != null){ | if(cUser != null){ | ||||
| if(bFirst) { | if(bFirst) { | ||||
| @@ -10,6 +10,7 @@ import com.iformall.enums.EnumCarCmd; | |||||
| import com.iformall.enums.EnumCarVendor; | import com.iformall.enums.EnumCarVendor; | ||||
| import com.iformall.enums.EnumCouponSendSendType; | import com.iformall.enums.EnumCouponSendSendType; | ||||
| import com.iformall.enums.EnumETCPCode; | import com.iformall.enums.EnumETCPCode; | ||||
| import com.iformall.enums.EnumPayVersion; | |||||
| import com.iformall.enums.EnumPayWay; | import com.iformall.enums.EnumPayWay; | ||||
| import com.iformall.exception.MallinkException; | import com.iformall.exception.MallinkException; | ||||
| import com.iformall.service.*; | import com.iformall.service.*; | ||||
| @@ -210,7 +211,7 @@ public class WxParkCallBackBaseController extends BaseController { | |||||
| boolean bFirst = true; | boolean bFirst = true; | ||||
| for (WxCUserCar userCar : userCarList) { | for (WxCUserCar userCar : userCarList) { | ||||
| userCar.setParentTenantId(wxCarCmdLog.getParentTenantId()); | 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()); | WxCUserBasicInfo cUser = wxCUserBasicInfoService.getById(userCar.getCUserId(),wxCarCmdLog.getFinalTenantId()); | ||||
| if(cUser != null){ | if(cUser != null){ | ||||
| if(bFirst) { | if(bFirst) { | ||||
| @@ -192,7 +192,7 @@ public class CouponSendSchedule { | |||||
| // 发放免费券 | // 发放免费券 | ||||
| try { | 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); | wxCouponActionLogService.addOne(tenantEntity, cs.getCouponId(), couponOrder.getId(), cs.getSendType(), cs.getId(),0L); | ||||
| } catch (Exception e) { | } catch (Exception e) { | ||||
| logger.error("定时发券:发券失败 levelId=" + l.getId() + " couponId=" + cs.getCouponId() + " userId=" + cu.getId() + e.getMessage()); | logger.error("定时发券:发券失败 levelId=" + l.getId() + " couponId=" + cs.getCouponId() + " userId=" + cu.getId() + e.getMessage()); | ||||
| @@ -323,7 +323,7 @@ public class CouponSendSchedule { | |||||
| for (WxCUserBasicInfo cu : newUserList) { | for (WxCUserBasicInfo cu : newUserList) { | ||||
| // 发放生日券 | // 发放生日券 | ||||
| try { | 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); | wxCouponActionLogService.addOne(tenantEntity, cs.getCouponId(), couponOrder.getId(), cs.getSendType(), cs.getId(), 0L); | ||||
| couponSendedUsers.add(cu); | couponSendedUsers.add(cu); | ||||
| } catch (Exception e) { | } catch (Exception e) { | ||||
| @@ -98,6 +98,7 @@ public enum ErrorCode{ | |||||
| MEMBER_IS_LOCKED(2010, "当前会员已被锁定"), | MEMBER_IS_LOCKED(2010, "当前会员已被锁定"), | ||||
| USER_BIRTHDATE_AFTER(2109, "出生日期大于当前日期"), | USER_BIRTHDATE_AFTER(2109, "出生日期大于当前日期"), | ||||
| USER_APPINFO_NOT_EXIST(2110,"当前登录用户APP为空"), | USER_APPINFO_NOT_EXIST(2110,"当前登录用户APP为空"), | ||||
| USER_APPINFO_NOFUND_PAYACCOUNT(2111,"当前app找不到payAccount"), | |||||
| /** | /** | ||||
| * 商场/商户 | * 商场/商户 | ||||
| @@ -59,8 +59,8 @@ public class WxOrder extends TenantEntity { | |||||
| private Long productId; | private Long productId; | ||||
| @io.swagger.annotations.ApiModelProperty(value="类型(0:券,1:B刷卡支付,2:C扫码支付,3:储值卡, 10:POS支付)",name="type") | @io.swagger.annotations.ApiModelProperty(value="类型(0:券,1:B刷卡支付,2:C扫码支付,3:储值卡, 10:POS支付)",name="type") | ||||
| private Integer 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") | @io.swagger.annotations.ApiModelProperty(value = "支付渠道版本EnumPayVersion", name = "payVersion") | ||||
| private Integer payVersion; | private Integer payVersion; | ||||
| @io.swagger.annotations.ApiModelProperty(value="0: 付款 1: 退款",name="paymentType") | @io.swagger.annotations.ApiModelProperty(value="0: 付款 1: 退款",name="paymentType") | ||||
| @@ -7,6 +7,7 @@ import com.iformall.domain.po.base.TenantEntity; | |||||
| import com.iformall.domain.po.WxCouponSend; | import com.iformall.domain.po.WxCouponSend; | ||||
| import com.iformall.domain.vo.WxCouponSendVo; | import com.iformall.domain.vo.WxCouponSendVo; | ||||
| import com.iformall.enums.EnumCouponSendSendType; | import com.iformall.enums.EnumCouponSendSendType; | ||||
| import com.iformall.enums.EnumPayVersion; | |||||
| import com.iformall.enums.EnumPayWay; | import com.iformall.enums.EnumPayWay; | ||||
| public interface WxCouponSendService { | public interface WxCouponSendService { | ||||
| @@ -55,7 +56,7 @@ public interface WxCouponSendService { | |||||
| * @param cUserId | * @param cUserId | ||||
| * @param type 2:停车发券 3:核销发券 | * @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); | void updateStatusByCouponId(Long couponId, TenantEntity tenantEntity, int status); | ||||
| @@ -98,7 +99,7 @@ public interface WxCouponSendService { | |||||
| * | * | ||||
| * @param wxCouponSend | * @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<WxCouponSendVo> findListVo(WxCouponSend record); | List<WxCouponSendVo> findListVo(WxCouponSend record); | ||||
| @@ -249,7 +249,7 @@ public interface WxOrderService { | |||||
| //ResultData saveOrder(OrderSaveDto orderSaveDto,Long cUserId,EnumPayWay payWay,TenantEntity tenantEntity); | //ResultData saveOrder(OrderSaveDto orderSaveDto,Long cUserId,EnumPayWay payWay,TenantEntity tenantEntity); | ||||
| ResultData composeSaveOrder(boolean allowUnPayOrder,EnumComposeOrder composeOrderType,List<OrderComposeSaveDto> composeOrderSaveDto,Long cUserId,EnumPayWay payWay, | ResultData composeSaveOrder(boolean allowUnPayOrder,EnumComposeOrder composeOrderType,List<OrderComposeSaveDto> composeOrderSaveDto,Long cUserId,EnumPayWay payWay, | ||||
| TenantEntity tenantEntity,WxAppinfo appinfo); | |||||
| TenantEntity tenantEntity,EnumPayVersion payVersion); | |||||
| //平台推送订单,如抖音支付2.0 | //平台推送订单,如抖音支付2.0 | ||||
| ResultData platPushSaveOrder(boolean allowUnPayOrder,EnumComposeOrder composeOrderType,String allExtParam,List<PlatPushOrderSaveDto> platPushOrderList,Long cUserId, | ResultData platPushSaveOrder(boolean allowUnPayOrder,EnumComposeOrder composeOrderType,String allExtParam,List<PlatPushOrderSaveDto> platPushOrderList,Long cUserId, | ||||
| @@ -176,7 +176,7 @@ public class AliBusinessCircleOrderServiceImpl implements AliBusinessCircleOrder | |||||
| } | } | ||||
| try { | 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) { | } catch (Exception e) { | ||||
| logger.error("支付发券: " + e.getMessage()); | logger.error("支付发券: " + e.getMessage()); | ||||
| } | } | ||||
| @@ -173,7 +173,7 @@ public class WxBusinessCircleOrderServiceImpl implements WxBusinessCircleOrderSe | |||||
| if(record.getCUserId() != null){ | if(record.getCUserId() != null){ | ||||
| try { | 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) { | } catch (Exception e) { | ||||
| logger.error("支付发券: " + e.getMessage()); | logger.error("支付发券: " + e.getMessage()); | ||||
| } | } | ||||
| @@ -274,7 +274,7 @@ public class WxCouponInjectServiceImpl implements WxCouponInjectService { | |||||
| // 发放免费券 | // 发放免费券 | ||||
| WxCouponOrder couponOrder = null; | WxCouponOrder couponOrder = null; | ||||
| try { | 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) { | if (couponOrder != null) { | ||||
| wxCouponActionLogService.addOne(couponOrder, wxCoupon.getId(), couponOrder.getId(), EnumCouponSendSendType.INJECT.getCode(), couponInjectId,0L); | wxCouponActionLogService.addOne(couponOrder, wxCoupon.getId(), couponOrder.getId(), EnumCouponSendSendType.INJECT.getCode(), couponInjectId,0L); | ||||
| } | } | ||||
| @@ -1860,7 +1860,7 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { | |||||
| WxOrder wxOrder = wxOrderMapper.selectById(couponOrder.getOrderId(),couponOrder.getTenantId()); | WxOrder wxOrder = wxOrderMapper.selectById(couponOrder.getOrderId(),couponOrder.getTenantId()); | ||||
| if (wxOrder != null) { | if (wxOrder != null) { | ||||
| try { | 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) { | } catch (Exception e) { | ||||
| logger.error("核销发券: " + e.getMessage(),e); | logger.error("核销发券: " + e.getMessage(),e); | ||||
| } | } | ||||
| @@ -1874,7 +1874,7 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { | |||||
| WxOrder wxOrder = wxOrderMapper.selectById(orderId,tenantEntity.getTenantId()); | WxOrder wxOrder = wxOrderMapper.selectById(orderId,tenantEntity.getTenantId()); | ||||
| if (wxOrder != null) { | if (wxOrder != null) { | ||||
| try { | 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) { | } catch (Exception e) { | ||||
| logger.error("B端刷卡支付发券: " + e.getMessage()); | logger.error("B端刷卡支付发券: " + e.getMessage()); | ||||
| } | } | ||||
| @@ -468,7 +468,7 @@ public class WxCouponSendServiceImpl implements WxCouponSendService { | |||||
| @Override | @Override | ||||
| @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) | @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; | TenantEntity tenantEntity; | ||||
| Long cUserId; | Long cUserId; | ||||
| @@ -557,7 +557,7 @@ public class WxCouponSendServiceImpl implements WxCouponSendService { | |||||
| // 发放免费券 | // 发放免费券 | ||||
| WxCouponOrder couponOrder = null; | WxCouponOrder couponOrder = null; | ||||
| try { | 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) { | if (couponOrder != null) { | ||||
| bRet = true; | bRet = true; | ||||
| @@ -698,7 +698,7 @@ public class WxCouponSendServiceImpl implements WxCouponSendService { | |||||
| @Override | @Override | ||||
| @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) | @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()); | WxCUserBasicInfo wxCUserBasicInfo = wxCUserBasicInfoMapper.selectById(cUserId,wxCouponSend.getFinalTenantId()); | ||||
| if (Objects.isNull(wxCUserBasicInfo)) { | if (Objects.isNull(wxCUserBasicInfo)) { | ||||
| @@ -711,7 +711,7 @@ public class WxCouponSendServiceImpl implements WxCouponSendService { | |||||
| } | } | ||||
| couponSendList.forEach(cs -> { | 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) { | if (couponOrder != null) { | ||||
| wxCouponActionLogService.addOne(couponOrder, cs.getCouponId(), couponOrder.getId(), cs.getSendType(), cs.getId(),bUserId); | wxCouponActionLogService.addOne(couponOrder, cs.getCouponId(), couponOrder.getId(), cs.getSendType(), cs.getId(),bUserId); | ||||
| sendMsgForSendCoupon(couponOrder, cs, couponOrder, wxCUserBasicInfo); | sendMsgForSendCoupon(couponOrder, cs, couponOrder, wxCUserBasicInfo); | ||||
| @@ -456,7 +456,7 @@ public class WxGameServiceImpl implements WxGameService { | |||||
| ocsd.setSignleOrder(orderSaveDto); | ocsd.setSignleOrder(orderSaveDto); | ||||
| ocsd.setCount(1); | ocsd.setCount(1); | ||||
| orderSave.add(ocsd); | 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){ | if(resultData1.code == Result.SUCCESS && resultData1.data != null && resultData1.data instanceof WxComposeOrder){ | ||||
| WxComposeOrder order = (WxComposeOrder)resultData1.data; | WxComposeOrder order = (WxComposeOrder)resultData1.data; | ||||
| @@ -2091,7 +2091,7 @@ public class WxOrderServiceImpl implements WxOrderService { | |||||
| // 交易发券 | // 交易发券 | ||||
| try { | 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) { | } catch (Exception e) { | ||||
| logger.error("订单发券:" + e.getMessage(),e); | logger.error("订单发券:" + e.getMessage(),e); | ||||
| } | } | ||||
| @@ -2804,7 +2804,7 @@ public class WxOrderServiceImpl implements WxOrderService { | |||||
| OrderAdapterService orderAdapterService = orderFactory.getOrderAdapterService(composeOrderType.getCode()); | 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(); | Date orderDate = new Date(); | ||||
| WxOrder lastOrder = null; | WxOrder lastOrder = null; | ||||
| WxCoupon lastCoupon = null; | WxCoupon lastCoupon = null; | ||||
| @@ -2881,7 +2881,7 @@ public class WxOrderServiceImpl implements WxOrderService { | |||||
| OrderAdapterService orderAdapterService = orderFactory.getOrderAdapterService(composeOrderType.getCode()); | 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(); | Date orderDate = new Date(); | ||||
| WxOrder lastOrder = null; | WxOrder lastOrder = null; | ||||
| for (int i = 0 ; i < orderSave.size(); i ++) { | for (int i = 0 ; i < orderSave.size(); i ++) { | ||||
| @@ -3411,13 +3411,9 @@ public class WxOrderServiceImpl implements WxOrderService { | |||||
| @Override | @Override | ||||
| public ResultData composeSaveOrder(boolean allowUnPayOrder,EnumComposeOrder composeOrderType,List<OrderComposeSaveDto> composeOrderSaveDto,Long cUserId,EnumPayWay payWay, | public ResultData composeSaveOrder(boolean allowUnPayOrder,EnumComposeOrder composeOrderType,List<OrderComposeSaveDto> composeOrderSaveDto,Long cUserId,EnumPayWay payWay, | ||||
| TenantEntity tenantEntity,WxAppinfo appinfo) { | |||||
| TenantEntity tenantEntity,EnumPayVersion payVersion) { | |||||
| try { | try { | ||||
| if ( null == appinfo) { | |||||
| return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"无商品信息"); | |||||
| } | |||||
| if (null == composeOrderSaveDto || composeOrderSaveDto.size() <= 0 ) { | if (null == composeOrderSaveDto || composeOrderSaveDto.size() <= 0 ) { | ||||
| return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"无商品信息"); | return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"无商品信息"); | ||||
| } | } | ||||
| @@ -3440,20 +3436,9 @@ public class WxOrderServiceImpl implements WxOrderService { | |||||
| ocsd.setWxCoupon(coupon); | 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(); | WxOrderServiceImpl proxy = (WxOrderServiceImpl) AopContext.currentProxy(); | ||||
| try { | 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); | return new ResultData(order); | ||||
| } catch (MallinkException e) { | } catch (MallinkException e) { | ||||
| logger.error("saveOrderForCoupon error.",e); | logger.error("saveOrderForCoupon error.",e); | ||||
| @@ -178,7 +178,7 @@ public class WxThirdPartyOrdersServiceImpl implements WxThirdPartyOrdersService | |||||
| } | } | ||||
| try { | 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) { | } catch (Exception e) { | ||||
| logger.error("支付发券: " + e.getMessage()); | logger.error("支付发券: " + e.getMessage()); | ||||
| } | } | ||||
| @@ -7,6 +7,7 @@ import com.iformall.domain.dto.OrderComposeSaveDto; | |||||
| import com.iformall.domain.dto.PlatPushOrderSaveDto; | import com.iformall.domain.dto.PlatPushOrderSaveDto; | ||||
| import com.iformall.domain.po.*; | import com.iformall.domain.po.*; | ||||
| import com.iformall.domain.po.base.TenantEntity; | import com.iformall.domain.po.base.TenantEntity; | ||||
| import com.iformall.enums.EnumPayVersion; | |||||
| import com.iformall.enums.EnumPayWay; | import com.iformall.enums.EnumPayWay; | ||||
| import com.iformall.service.order.entity.WxComposeChildOrderPrice; | import com.iformall.service.order.entity.WxComposeChildOrderPrice; | ||||
| import com.iformall.service.order.entity.WxComposeOrder; | import com.iformall.service.order.entity.WxComposeOrder; | ||||
| @@ -17,12 +18,12 @@ public interface OrderAdapterService { | |||||
| * 数据库创建组合主订单,不是wxOrder.单个的模式不用创建 | * 数据库创建组合主订单,不是wxOrder.单个的模式不用创建 | ||||
| * @return | * @return | ||||
| */ | */ | ||||
| WxComposeOrder createDBMainOrder(TenantEntity tenantEntity,WxCUserBasicInfo user,List<OrderComposeSaveDto> orderSave,EnumPayWay payWay); | |||||
| WxComposeOrder createDBMainOrder(TenantEntity tenantEntity,WxCUserBasicInfo user,List<OrderComposeSaveDto> 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<PlatPushOrderSaveDto> platPushOrderList,EnumPayWay payWay); | |||||
| WxComposeOrder createDBMainOrderByPushOrder(TenantEntity tenantEntity,WxCUserBasicInfo user,String allExtParam,List<PlatPushOrderSaveDto> platPushOrderList,EnumPayWay payWay,EnumPayVersion payVersion); | |||||
| /** | /** | ||||
| * 获取支付时商品名称,供服务商API使用 | * 获取支付时商品名称,供服务商API使用 | ||||
| @@ -17,6 +17,7 @@ import com.iformall.domain.dto.OrderComposeSaveDto; | |||||
| import com.iformall.domain.dto.PlatPushOrderSaveDto; | import com.iformall.domain.dto.PlatPushOrderSaveDto; | ||||
| import com.iformall.enums.EnumComposeOrder; | import com.iformall.enums.EnumComposeOrder; | ||||
| import com.iformall.enums.EnumOrderShopingType; | import com.iformall.enums.EnumOrderShopingType; | ||||
| import com.iformall.enums.EnumPayVersion; | |||||
| import com.iformall.enums.EnumPayWay; | import com.iformall.enums.EnumPayWay; | ||||
| import com.iformall.mapper.WxBatchOrderMapper; | import com.iformall.mapper.WxBatchOrderMapper; | ||||
| import com.iformall.mapper.WxOrderMapper; | import com.iformall.mapper.WxOrderMapper; | ||||
| @@ -41,22 +42,22 @@ public class SingleOrderAdapterService extends BaseBatchOrderAdapterService { | |||||
| @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) | @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) | ||||
| @Override | @Override | ||||
| public WxComposeOrder createDBMainOrder(TenantEntity tenantEntity,WxCUserBasicInfo user,List<OrderComposeSaveDto> orderSave,EnumPayWay payWay) { | |||||
| return super.createDBMainOrder(tenantEntity,user, orderSave, payWay, EnumComposeOrder.SINGLE); | |||||
| public WxComposeOrder createDBMainOrder(TenantEntity tenantEntity,WxCUserBasicInfo user,List<OrderComposeSaveDto> orderSave,EnumPayWay payWay,EnumPayVersion payVersion) { | |||||
| return super.createDBMainOrder(tenantEntity,user, orderSave, payWay,payVersion, EnumComposeOrder.SINGLE); | |||||
| } | } | ||||
| @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) | @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) | ||||
| @Override | @Override | ||||
| public WxComposeOrder createDBMainOrder(TenantEntity tenantEntity, WxCUserBasicInfo user, int payment, | 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}) | @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) | ||||
| @Override | @Override | ||||
| public WxComposeOrder createDBMainOrderByPushOrder(TenantEntity tenantEntity, WxCUserBasicInfo user,String allExtParam, | public WxComposeOrder createDBMainOrderByPushOrder(TenantEntity tenantEntity, WxCUserBasicInfo user,String allExtParam, | ||||
| List<PlatPushOrderSaveDto> platPushOrderList, EnumPayWay payWay) { | |||||
| return super.createDBMainOrderForPushOrders(tenantEntity, user, allExtParam,platPushOrderList, payWay, EnumComposeOrder.SINGLE); | |||||
| List<PlatPushOrderSaveDto> platPushOrderList, EnumPayWay payWay,EnumPayVersion payVersion) { | |||||
| return super.createDBMainOrderForPushOrders(tenantEntity, user, allExtParam,platPushOrderList, payWay,payVersion, EnumComposeOrder.SINGLE); | |||||
| } | } | ||||
| @Override | @Override | ||||
| @@ -22,6 +22,7 @@ import com.iformall.domain.po.WxOrder; | |||||
| import com.iformall.domain.po.base.TenantEntity; | import com.iformall.domain.po.base.TenantEntity; | ||||
| import com.iformall.enums.EnumComposeOrder; | import com.iformall.enums.EnumComposeOrder; | ||||
| import com.iformall.enums.EnumOrderShopingType; | import com.iformall.enums.EnumOrderShopingType; | ||||
| import com.iformall.enums.EnumPayVersion; | |||||
| import com.iformall.enums.EnumPayWay; | import com.iformall.enums.EnumPayWay; | ||||
| import com.iformall.exception.MallinkException; | import com.iformall.exception.MallinkException; | ||||
| import com.iformall.service.WxCouponChannelService; | import com.iformall.service.WxCouponChannelService; | ||||
| @@ -77,7 +78,7 @@ public abstract class BaseBatchOrderAdapterService implements OrderAdapterServic | |||||
| @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) | @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) | ||||
| protected WxComposeOrder createDBMainOrder(TenantEntity tenantEntity,WxCUserBasicInfo user,List<OrderComposeSaveDto> orderSave,EnumPayWay payWay,EnumComposeOrder composeOrderType) { | |||||
| protected WxComposeOrder createDBMainOrder(TenantEntity tenantEntity,WxCUserBasicInfo user,List<OrderComposeSaveDto> orderSave,EnumPayWay payWay,EnumPayVersion payVersion,EnumComposeOrder composeOrderType) { | |||||
| int payment = 0; | int payment = 0; | ||||
| Map<Long,WxCoupon> couponMap = new HashMap<Long,WxCoupon>(); | Map<Long,WxCoupon> couponMap = new HashMap<Long,WxCoupon>(); | ||||
| Map<Long,WxCouponChannel> couponChannelMap = new HashMap<Long,WxCouponChannel>(); | Map<Long,WxCouponChannel> couponChannelMap = new HashMap<Long,WxCouponChannel>(); | ||||
| @@ -93,11 +94,12 @@ public abstract class BaseBatchOrderAdapterService implements OrderAdapterServic | |||||
| couponChannelMap.put(wxCouponChannel.getId(), wxCouponChannel); | 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}) | @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) | ||||
| protected WxComposeOrder createDBMainOrderForPushOrders(TenantEntity tenantEntity,WxCUserBasicInfo user,String allExtParam,List<PlatPushOrderSaveDto> platPushOrderList,EnumPayWay payWay,EnumComposeOrder composeOrderType) { | |||||
| protected WxComposeOrder createDBMainOrderForPushOrders(TenantEntity tenantEntity,WxCUserBasicInfo user,String allExtParam,List<PlatPushOrderSaveDto> platPushOrderList,EnumPayWay payWay, | |||||
| EnumPayVersion payVersion,EnumComposeOrder composeOrderType) { | |||||
| int payment = 0; | int payment = 0; | ||||
| Map<Long,WxCoupon> couponMap = new HashMap<Long,WxCoupon>(); | Map<Long,WxCoupon> couponMap = new HashMap<Long,WxCoupon>(); | ||||
| Map<Long,WxCouponChannel> couponChannelMap = new HashMap<Long,WxCouponChannel>(); | Map<Long,WxCouponChannel> couponChannelMap = new HashMap<Long,WxCouponChannel>(); | ||||
| @@ -113,12 +115,12 @@ public abstract class BaseBatchOrderAdapterService implements OrderAdapterServic | |||||
| couponChannelMap.put(wxCouponChannel.getId(), wxCouponChannel); | 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}) | @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<Long,WxCouponChannel> couponChannelMap,Map<Long,WxCoupon> couponMap) { | |||||
| protected WxComposeOrder createDBMainOrder(TenantEntity tenantEntity,WxCUserBasicInfo user,int payment,String allExtParam,EnumPayWay payWay,EnumPayVersion payVersion, | |||||
| EnumComposeOrder composeOrderType,Map<Long,WxCouponChannel> couponChannelMap,Map<Long,WxCoupon> couponMap) { | |||||
| //判断是否poi订单 | //判断是否poi订单 | ||||
| Integer isTtPoiOrder = null; | Integer isTtPoiOrder = null; | ||||
| try{ | try{ | ||||
| @@ -135,7 +137,7 @@ public abstract class BaseBatchOrderAdapterService implements OrderAdapterServic | |||||
| order.updateTenantInfo(tenantEntity); | order.updateTenantInfo(tenantEntity); | ||||
| order.setPayment(payment); | order.setPayment(payment); | ||||
| order.setPayVendor(payWay.getCode()); | order.setPayVendor(payWay.getCode()); | ||||
| order.setPayVersion(payVersion); | |||||
| order.setPayVersion(payVersion.getCode()); | |||||
| order.setOrderType(composeOrderType.getCode()); | order.setOrderType(composeOrderType.getCode()); | ||||
| order.setIsTtPoiOrder(isTtPoiOrder); | order.setIsTtPoiOrder(isTtPoiOrder); | ||||
| order.setCreateDate(new Date()); | order.setCreateDate(new Date()); | ||||
| @@ -31,22 +31,22 @@ public class CouponPackageOrderAdapterService extends BaseBatchOrderAdapterServi | |||||
| @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) | @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) | ||||
| @Override | @Override | ||||
| public WxComposeOrder createDBMainOrder(TenantEntity tenantEntity,WxCUserBasicInfo user,List<OrderComposeSaveDto> orderSave,EnumPayWay payWay) { | |||||
| return super.createDBMainOrder(tenantEntity,user, orderSave, payWay, EnumComposeOrder.PACKAGECOUPON); | |||||
| public WxComposeOrder createDBMainOrder(TenantEntity tenantEntity,WxCUserBasicInfo user,List<OrderComposeSaveDto> orderSave,EnumPayWay payWay,EnumPayVersion payVersion) { | |||||
| return super.createDBMainOrder(tenantEntity,user, orderSave, payWay,payVersion, EnumComposeOrder.PACKAGECOUPON); | |||||
| } | } | ||||
| @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) | @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) | ||||
| @Override | @Override | ||||
| public WxComposeOrder createDBMainOrder(TenantEntity tenantEntity, WxCUserBasicInfo user, int payment, | 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}) | @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) | ||||
| @Override | @Override | ||||
| public WxComposeOrder createDBMainOrderByPushOrder(TenantEntity tenantEntity, WxCUserBasicInfo user,String allExtParam, | public WxComposeOrder createDBMainOrderByPushOrder(TenantEntity tenantEntity, WxCUserBasicInfo user,String allExtParam, | ||||
| List<PlatPushOrderSaveDto> platPushOrderList, EnumPayWay payWay) { | |||||
| return super.createDBMainOrderForPushOrders(tenantEntity, user, allExtParam, platPushOrderList, payWay, EnumComposeOrder.PACKAGECOUPON); | |||||
| List<PlatPushOrderSaveDto> platPushOrderList, EnumPayWay payWay,EnumPayVersion payVersion) { | |||||
| return super.createDBMainOrderForPushOrders(tenantEntity, user, allExtParam, platPushOrderList, payWay,payVersion, EnumComposeOrder.PACKAGECOUPON); | |||||
| } | } | ||||
| @Override | @Override | ||||
| @@ -13,6 +13,7 @@ import org.springframework.transaction.annotation.Transactional; | |||||
| import com.iformall.domain.dto.OrderComposeSaveDto; | import com.iformall.domain.dto.OrderComposeSaveDto; | ||||
| import com.iformall.domain.dto.PlatPushOrderSaveDto; | import com.iformall.domain.dto.PlatPushOrderSaveDto; | ||||
| import com.iformall.enums.EnumComposeOrder; | import com.iformall.enums.EnumComposeOrder; | ||||
| 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; | ||||
| /** | /** | ||||
| @@ -32,22 +33,22 @@ public class MulityNumberOneOrderBatchOrderAdapterService extends BaseBatchOrder | |||||
| @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) | @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) | ||||
| @Override | @Override | ||||
| public WxComposeOrder createDBMainOrder(TenantEntity tenantEntity,WxCUserBasicInfo user, List<OrderComposeSaveDto> orderSave, | public WxComposeOrder createDBMainOrder(TenantEntity tenantEntity,WxCUserBasicInfo user, List<OrderComposeSaveDto> 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}) | @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) | ||||
| @Override | @Override | ||||
| public WxComposeOrder createDBMainOrder(TenantEntity tenantEntity, WxCUserBasicInfo user, int payment, | 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}) | @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) | ||||
| @Override | @Override | ||||
| public WxComposeOrder createDBMainOrderByPushOrder(TenantEntity tenantEntity, WxCUserBasicInfo user,String allExtParam, | public WxComposeOrder createDBMainOrderByPushOrder(TenantEntity tenantEntity, WxCUserBasicInfo user,String allExtParam, | ||||
| List<PlatPushOrderSaveDto> platPushOrderList, EnumPayWay payWay) { | |||||
| return super.createDBMainOrderForPushOrders(tenantEntity, user, allExtParam, platPushOrderList, payWay, EnumComposeOrder.MULITY_NUMBER_ORDER_BATCH); | |||||
| List<PlatPushOrderSaveDto> platPushOrderList, EnumPayWay payWay,EnumPayVersion payVersion) { | |||||
| return super.createDBMainOrderForPushOrders(tenantEntity, user, allExtParam, platPushOrderList, payWay,payVersion, EnumComposeOrder.MULITY_NUMBER_ORDER_BATCH); | |||||
| } | } | ||||
| @@ -12,6 +12,7 @@ import org.springframework.transaction.annotation.Transactional; | |||||
| import com.iformall.domain.dto.OrderComposeSaveDto; | import com.iformall.domain.dto.OrderComposeSaveDto; | ||||
| import com.iformall.domain.dto.PlatPushOrderSaveDto; | import com.iformall.domain.dto.PlatPushOrderSaveDto; | ||||
| import com.iformall.enums.EnumComposeOrder; | import com.iformall.enums.EnumComposeOrder; | ||||
| 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; | ||||
| @@ -31,22 +32,22 @@ public class OneNumberOneOrderBatchOrderAdapterService extends BaseBatchOrderAda | |||||
| @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) | @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) | ||||
| @Override | @Override | ||||
| public WxComposeOrder createDBMainOrder(TenantEntity tenantEntity,WxCUserBasicInfo user, List<OrderComposeSaveDto> orderSave, | public WxComposeOrder createDBMainOrder(TenantEntity tenantEntity,WxCUserBasicInfo user, List<OrderComposeSaveDto> 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}) | @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) | ||||
| @Override | @Override | ||||
| public WxComposeOrder createDBMainOrder(TenantEntity tenantEntity, WxCUserBasicInfo user, int payment, | 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}) | @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) | ||||
| @Override | @Override | ||||
| public WxComposeOrder createDBMainOrderByPushOrder(TenantEntity tenantEntity, WxCUserBasicInfo user,String allExtParam, | public WxComposeOrder createDBMainOrderByPushOrder(TenantEntity tenantEntity, WxCUserBasicInfo user,String allExtParam, | ||||
| List<PlatPushOrderSaveDto> platPushOrderList, EnumPayWay payWay) { | |||||
| return super.createDBMainOrderForPushOrders(tenantEntity, user, allExtParam,platPushOrderList, payWay, EnumComposeOrder.ONE_NUMBER_ORDER_BATCH); | |||||
| List<PlatPushOrderSaveDto> platPushOrderList, EnumPayWay payWay,EnumPayVersion payVersion) { | |||||
| return super.createDBMainOrderForPushOrders(tenantEntity, user, allExtParam,platPushOrderList, payWay,payVersion, EnumComposeOrder.ONE_NUMBER_ORDER_BATCH); | |||||
| } | } | ||||
| @Override | @Override | ||||