| @@ -152,9 +152,13 @@ public class WxOrderController extends BaseController { | |||||
| List<PlatPushOrderSaveDto> list = new ArrayList<>(); | List<PlatPushOrderSaveDto> list = new ArrayList<>(); | ||||
| PlatPushOrderSaveDto dto = new PlatPushOrderSaveDto(); | PlatPushOrderSaveDto dto = new PlatPushOrderSaveDto(); | ||||
| //TODO 从抖音推送的订单中取信息,每个订单里面有extParam,用来放第三方平台匹配的参数信息 | |||||
| /** | |||||
| * TODO 从抖音推送的订单中取信息,每个订单里面有extParam,用来放第三方平台匹配的参数信息 | |||||
| * 注意,wx_batch_order中要存allExtParam, wx_order,wx_coupon_order中存储每个订单的参数信息,需要自己根据总参数信息进行拆分 | |||||
| */ | |||||
| list.add(dto); | list.add(dto); | ||||
| return wxOrderService.platPushSaveOrder(false,EnumComposeOrder.ONE_NUMBER_ORDER_BATCH,list,memberId,getPayWay(),getTenantInfo()); | |||||
| String allExtParam = "{}"; | |||||
| return wxOrderService.platPushSaveOrder(false,EnumComposeOrder.ONE_NUMBER_ORDER_BATCH,allExtParam,list,memberId,getPayWay(),getTenantInfo()); | |||||
| } | } | ||||
| @@ -43,7 +43,7 @@ public class WxBatchOrder extends TenantEntity { | |||||
| @io.swagger.annotations.ApiModelProperty(value = "EnumYesOrNo是否抖音poi订单", name = "isTtPoiOrder") | @io.swagger.annotations.ApiModelProperty(value = "EnumYesOrNo是否抖音poi订单", name = "isTtPoiOrder") | ||||
| private Integer isTtPoiOrder; | private Integer isTtPoiOrder; | ||||
| @io.swagger.annotations.ApiModelProperty(value = "额外参数", name = "extParam") | |||||
| @io.swagger.annotations.ApiModelProperty(value = "额外参数,总参数", name = "extParam") | |||||
| private String extParam; | private String extParam; | ||||
| @TableField(exist = false) | @TableField(exist = false) | ||||
| @@ -247,7 +247,7 @@ public interface WxOrderService { | |||||
| ResultData composeSaveOrder(boolean allowUnPayOrder,EnumComposeOrder composeOrderType,List<OrderComposeSaveDto> composeOrderSaveDto,Long cUserId,EnumPayWay payWay,TenantEntity tenantEntity); | ResultData composeSaveOrder(boolean allowUnPayOrder,EnumComposeOrder composeOrderType,List<OrderComposeSaveDto> composeOrderSaveDto,Long cUserId,EnumPayWay payWay,TenantEntity tenantEntity); | ||||
| //平台推送订单,如抖音支付2.0 | //平台推送订单,如抖音支付2.0 | ||||
| ResultData platPushSaveOrder(boolean allowUnPayOrder,EnumComposeOrder composeOrderType,List<PlatPushOrderSaveDto> platPushOrderList,Long cUserId,EnumPayWay payWay,TenantEntity tenantEntity); | |||||
| ResultData platPushSaveOrder(boolean allowUnPayOrder,EnumComposeOrder composeOrderType,String allExtParam,List<PlatPushOrderSaveDto> platPushOrderList,Long cUserId,EnumPayWay payWay,TenantEntity tenantEntity); | |||||
| void sendInsideOrderPushMsg(TenantEntity tenantEntity,Long composeOrderId); | void sendInsideOrderPushMsg(TenantEntity tenantEntity,Long composeOrderId); | ||||
| @@ -2769,7 +2769,7 @@ public class WxOrderServiceImpl implements WxOrderService { | |||||
| RedisTemplate<String, WxCUserBasicInfo> cUserBasicInfoRedisTemplate; | RedisTemplate<String, WxCUserBasicInfo> cUserBasicInfoRedisTemplate; | ||||
| @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) | @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) | ||||
| public WxComposeOrder savePlatPushOrderForCoupon(TenantEntity tenantEntity,boolean allowUnPayOrder,EnumComposeOrder composeOrderType,WxCUserBasicInfo user,List<PlatPushOrderSaveDto> platPushOrderList,EnumPayWay payWay) { | |||||
| public WxComposeOrder savePlatPushOrderForCoupon(TenantEntity tenantEntity,boolean allowUnPayOrder,EnumComposeOrder composeOrderType,WxCUserBasicInfo user,String allExtParam,List<PlatPushOrderSaveDto> platPushOrderList,EnumPayWay payWay) { | |||||
| WxOrderServiceImpl proxy = (WxOrderServiceImpl) AopContext.currentProxy(); | WxOrderServiceImpl proxy = (WxOrderServiceImpl) AopContext.currentProxy(); | ||||
| // 防止同一用户重复下单,1秒内 | // 防止同一用户重复下单,1秒内 | ||||
| String key = new StringBuilder().append("savePlatPushOrder:").append(user.getId()).toString(); | String key = new StringBuilder().append("savePlatPushOrder:").append(user.getId()).toString(); | ||||
| @@ -2782,7 +2782,7 @@ public class WxOrderServiceImpl implements WxOrderService { | |||||
| OrderAdapterService orderAdapterService = orderFactory.getOrderAdapterService(composeOrderType.getCode()); | OrderAdapterService orderAdapterService = orderFactory.getOrderAdapterService(composeOrderType.getCode()); | ||||
| //从这里开始,就需要锁住渠道的价格,不能修改 | //从这里开始,就需要锁住渠道的价格,不能修改 | ||||
| WxComposeOrder composeOrder = orderAdapterService.createDBMainOrderByPushOrder(tenantEntity,user, platPushOrderList, payWay); | |||||
| WxComposeOrder composeOrder = orderAdapterService.createDBMainOrderByPushOrder(tenantEntity,user, allExtParam,platPushOrderList, payWay); | |||||
| Date orderDate = new Date(); | Date orderDate = new Date(); | ||||
| WxOrder lastOrder = null; | WxOrder lastOrder = null; | ||||
| for (int i = 0 ; i < platPushOrderList.size(); i ++) { | for (int i = 0 ; i < platPushOrderList.size(); i ++) { | ||||
| @@ -3398,7 +3398,7 @@ public class WxOrderServiceImpl implements WxOrderService { | |||||
| } | } | ||||
| @Override | @Override | ||||
| public ResultData platPushSaveOrder(boolean allowUnPayOrder,EnumComposeOrder composeOrderType,List<PlatPushOrderSaveDto> platPushOrderList,Long cUserId,EnumPayWay payWay,TenantEntity tenantEntity) { | |||||
| public ResultData platPushSaveOrder(boolean allowUnPayOrder,EnumComposeOrder composeOrderType,String allExtParam,List<PlatPushOrderSaveDto> platPushOrderList,Long cUserId,EnumPayWay payWay,TenantEntity tenantEntity) { | |||||
| try { | try { | ||||
| if (null == platPushOrderList || platPushOrderList.size() <= 0 ) { | if (null == platPushOrderList || platPushOrderList.size() <= 0 ) { | ||||
| return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"无商品信息"); | return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"无商品信息"); | ||||
| @@ -3422,7 +3422,7 @@ public class WxOrderServiceImpl implements WxOrderService { | |||||
| } | } | ||||
| WxOrderServiceImpl proxy = (WxOrderServiceImpl) AopContext.currentProxy(); | WxOrderServiceImpl proxy = (WxOrderServiceImpl) AopContext.currentProxy(); | ||||
| try { | try { | ||||
| WxComposeOrder order = proxy.savePlatPushOrderForCoupon(tenantEntity,allowUnPayOrder,composeOrderType,wxCUserBasicInfo, platPushOrderList, payWay); | |||||
| WxComposeOrder order = proxy.savePlatPushOrderForCoupon(tenantEntity,allowUnPayOrder,composeOrderType,wxCUserBasicInfo, allExtParam,platPushOrderList, payWay); | |||||
| return new ResultData(order); | return new ResultData(order); | ||||
| } catch (MallinkException e) { | } catch (MallinkException e) { | ||||
| logger.error("saveOrderForCoupon error.",e); | logger.error("saveOrderForCoupon error.",e); | ||||
| @@ -22,7 +22,7 @@ public interface OrderAdapterService { | |||||
| WxComposeOrder createDBMainOrder(TenantEntity tenantEntity,WxCUserBasicInfo user,int payment,EnumPayWay payWay); | WxComposeOrder createDBMainOrder(TenantEntity tenantEntity,WxCUserBasicInfo user,int payment,EnumPayWay payWay); | ||||
| //第三方平台推送过来的订单 | //第三方平台推送过来的订单 | ||||
| WxComposeOrder createDBMainOrderByPushOrder(TenantEntity tenantEntity,WxCUserBasicInfo user,List<PlatPushOrderSaveDto> platPushOrderList,EnumPayWay payWay); | |||||
| WxComposeOrder createDBMainOrderByPushOrder(TenantEntity tenantEntity,WxCUserBasicInfo user,String allExtParam,List<PlatPushOrderSaveDto> platPushOrderList,EnumPayWay payWay); | |||||
| /** | /** | ||||
| * 获取支付时商品名称,供服务商API使用 | * 获取支付时商品名称,供服务商API使用 | ||||
| @@ -95,7 +95,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 createDBMainOrderForPushOrders(TenantEntity tenantEntity,WxCUserBasicInfo user,List<PlatPushOrderSaveDto> platPushOrderList,EnumPayWay payWay,EnumComposeOrder composeOrderType) { | |||||
| protected WxComposeOrder createDBMainOrderForPushOrders(TenantEntity tenantEntity,WxCUserBasicInfo user,String allExtParam,List<PlatPushOrderSaveDto> platPushOrderList,EnumPayWay payWay,EnumComposeOrder composeOrderType) { | |||||
| int payment = 0; | int payment = 0; | ||||
| Map<Long,WxCouponChannel> couponChannelMap = new HashMap<Long,WxCouponChannel>(); | Map<Long,WxCouponChannel> couponChannelMap = new HashMap<Long,WxCouponChannel>(); | ||||
| for (PlatPushOrderSaveDto ocsd : platPushOrderList) { | for (PlatPushOrderSaveDto ocsd : platPushOrderList) { | ||||
| @@ -109,11 +109,11 @@ public abstract class BaseBatchOrderAdapterService implements OrderAdapterServic | |||||
| couponChannelMap.put(wxCouponChannel.getId(), wxCouponChannel); | couponChannelMap.put(wxCouponChannel.getId(), wxCouponChannel); | ||||
| } | } | ||||
| return createDBMainOrder(tenantEntity, user, payment, payWay, composeOrderType,couponChannelMap); | |||||
| return createDBMainOrder(tenantEntity, user, payment, allExtParam,payWay, composeOrderType,couponChannelMap); | |||||
| } | } | ||||
| @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 extParam,EnumPayWay payWay,EnumComposeOrder composeOrderType,Map<Long,WxCouponChannel> couponChannelMap) { | |||||
| protected WxComposeOrder createDBMainOrder(TenantEntity tenantEntity,WxCUserBasicInfo user,int payment,String allExtParam,EnumPayWay payWay,EnumComposeOrder composeOrderType,Map<Long,WxCouponChannel> couponChannelMap) { | |||||
| //判断是否poi订单 | //判断是否poi订单 | ||||
| Integer isTtPoiOrder = null; | Integer isTtPoiOrder = null; | ||||
| try{ | try{ | ||||
| @@ -133,7 +133,7 @@ public abstract class BaseBatchOrderAdapterService implements OrderAdapterServic | |||||
| order.setOrderType(composeOrderType.getCode()); | order.setOrderType(composeOrderType.getCode()); | ||||
| order.setIsTtPoiOrder(isTtPoiOrder); | order.setIsTtPoiOrder(isTtPoiOrder); | ||||
| order.setCreateDate(new Date()); | order.setCreateDate(new Date()); | ||||
| order.setExtParam(extParam); | |||||
| order.setExtParam(allExtParam); | |||||
| wxBatchOrderMapper.insert(order); | wxBatchOrderMapper.insert(order); | ||||
| WxComposeOrder composeOrder = new WxComposeOrder(order.getId(), composeOrderType.getCode(), payment); | WxComposeOrder composeOrder = new WxComposeOrder(order.getId(), composeOrderType.getCode(), payment); | ||||
| composeOrder.updateTenantInfo(tenantEntity); | composeOrder.updateTenantInfo(tenantEntity); | ||||