From 4b4572f989447f1b5203c1f26ecb497302106af9 Mon Sep 17 00:00:00 2001 From: lin <642018748@qq.com> Date: Sun, 29 May 2022 13:37:10 +0800 Subject: [PATCH] fix bug --- .../java/com/iformall/controller/WxOrderController.java | 8 ++++++-- .../main/java/com/iformall/domain/po/WxBatchOrder.java | 2 +- .../main/java/com/iformall/service/WxOrderService.java | 2 +- .../com/iformall/service/impl/WxOrderServiceImpl.java | 8 ++++---- .../com/iformall/service/order/OrderAdapterService.java | 2 +- .../order/impl/batch/BaseBatchOrderAdapterService.java | 8 ++++---- 6 files changed, 17 insertions(+), 13 deletions(-) diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxOrderController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxOrderController.java index ea754dba0..8a6330785 100644 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxOrderController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxOrderController.java @@ -152,9 +152,13 @@ public class WxOrderController extends BaseController { List list = new ArrayList<>(); PlatPushOrderSaveDto dto = new PlatPushOrderSaveDto(); - //TODO 从抖音推送的订单中取信息,每个订单里面有extParam,用来放第三方平台匹配的参数信息 + /** + * TODO 从抖音推送的订单中取信息,每个订单里面有extParam,用来放第三方平台匹配的参数信息 + * 注意,wx_batch_order中要存allExtParam, wx_order,wx_coupon_order中存储每个订单的参数信息,需要自己根据总参数信息进行拆分 + */ 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()); } diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxBatchOrder.java b/mallinkService/src/main/java/com/iformall/domain/po/WxBatchOrder.java index a0bf97718..aefe01c89 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxBatchOrder.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxBatchOrder.java @@ -43,7 +43,7 @@ public class WxBatchOrder extends TenantEntity { @io.swagger.annotations.ApiModelProperty(value = "EnumYesOrNo是否抖音poi订单", name = "isTtPoiOrder") private Integer isTtPoiOrder; - @io.swagger.annotations.ApiModelProperty(value = "额外参数", name = "extParam") + @io.swagger.annotations.ApiModelProperty(value = "额外参数,总参数", name = "extParam") private String extParam; @TableField(exist = false) diff --git a/mallinkService/src/main/java/com/iformall/service/WxOrderService.java b/mallinkService/src/main/java/com/iformall/service/WxOrderService.java index 82c9398d7..0d1b898ab 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxOrderService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxOrderService.java @@ -247,7 +247,7 @@ public interface WxOrderService { ResultData composeSaveOrder(boolean allowUnPayOrder,EnumComposeOrder composeOrderType,List composeOrderSaveDto,Long cUserId,EnumPayWay payWay,TenantEntity tenantEntity); //平台推送订单,如抖音支付2.0 - ResultData platPushSaveOrder(boolean allowUnPayOrder,EnumComposeOrder composeOrderType,List platPushOrderList,Long cUserId,EnumPayWay payWay,TenantEntity tenantEntity); + ResultData platPushSaveOrder(boolean allowUnPayOrder,EnumComposeOrder composeOrderType,String allExtParam,List platPushOrderList,Long cUserId,EnumPayWay payWay,TenantEntity tenantEntity); void sendInsideOrderPushMsg(TenantEntity tenantEntity,Long composeOrderId); 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 70b911a52..f5dc98666 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java @@ -2769,7 +2769,7 @@ public class WxOrderServiceImpl implements WxOrderService { RedisTemplate cUserBasicInfoRedisTemplate; @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) - public WxComposeOrder savePlatPushOrderForCoupon(TenantEntity tenantEntity,boolean allowUnPayOrder,EnumComposeOrder composeOrderType,WxCUserBasicInfo user,List platPushOrderList,EnumPayWay payWay) { + public WxComposeOrder savePlatPushOrderForCoupon(TenantEntity tenantEntity,boolean allowUnPayOrder,EnumComposeOrder composeOrderType,WxCUserBasicInfo user,String allExtParam,List platPushOrderList,EnumPayWay payWay) { WxOrderServiceImpl proxy = (WxOrderServiceImpl) AopContext.currentProxy(); // 防止同一用户重复下单,1秒内 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()); //从这里开始,就需要锁住渠道的价格,不能修改 - WxComposeOrder composeOrder = orderAdapterService.createDBMainOrderByPushOrder(tenantEntity,user, platPushOrderList, payWay); + WxComposeOrder composeOrder = orderAdapterService.createDBMainOrderByPushOrder(tenantEntity,user, allExtParam,platPushOrderList, payWay); Date orderDate = new Date(); WxOrder lastOrder = null; for (int i = 0 ; i < platPushOrderList.size(); i ++) { @@ -3398,7 +3398,7 @@ public class WxOrderServiceImpl implements WxOrderService { } @Override - public ResultData platPushSaveOrder(boolean allowUnPayOrder,EnumComposeOrder composeOrderType,List platPushOrderList,Long cUserId,EnumPayWay payWay,TenantEntity tenantEntity) { + public ResultData platPushSaveOrder(boolean allowUnPayOrder,EnumComposeOrder composeOrderType,String allExtParam,List platPushOrderList,Long cUserId,EnumPayWay payWay,TenantEntity tenantEntity) { try { if (null == platPushOrderList || platPushOrderList.size() <= 0 ) { return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"无商品信息"); @@ -3422,7 +3422,7 @@ public class WxOrderServiceImpl implements WxOrderService { } WxOrderServiceImpl proxy = (WxOrderServiceImpl) AopContext.currentProxy(); 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); } catch (MallinkException e) { logger.error("saveOrderForCoupon error.",e); 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 9fa481af6..cf274a2e9 100644 --- a/mallinkService/src/main/java/com/iformall/service/order/OrderAdapterService.java +++ b/mallinkService/src/main/java/com/iformall/service/order/OrderAdapterService.java @@ -22,7 +22,7 @@ public interface OrderAdapterService { WxComposeOrder createDBMainOrder(TenantEntity tenantEntity,WxCUserBasicInfo user,int payment,EnumPayWay payWay); //第三方平台推送过来的订单 - WxComposeOrder createDBMainOrderByPushOrder(TenantEntity tenantEntity,WxCUserBasicInfo user,List platPushOrderList,EnumPayWay payWay); + WxComposeOrder createDBMainOrderByPushOrder(TenantEntity tenantEntity,WxCUserBasicInfo user,String allExtParam,List platPushOrderList,EnumPayWay payWay); /** * 获取支付时商品名称,供服务商API使用 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 99ceba075..d90be2dce 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 @@ -95,7 +95,7 @@ public abstract class BaseBatchOrderAdapterService implements OrderAdapterServic } @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) - protected WxComposeOrder createDBMainOrderForPushOrders(TenantEntity tenantEntity,WxCUserBasicInfo user,List platPushOrderList,EnumPayWay payWay,EnumComposeOrder composeOrderType) { + protected WxComposeOrder createDBMainOrderForPushOrders(TenantEntity tenantEntity,WxCUserBasicInfo user,String allExtParam,List platPushOrderList,EnumPayWay payWay,EnumComposeOrder composeOrderType) { int payment = 0; Map couponChannelMap = new HashMap(); for (PlatPushOrderSaveDto ocsd : platPushOrderList) { @@ -109,11 +109,11 @@ public abstract class BaseBatchOrderAdapterService implements OrderAdapterServic 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}) - protected WxComposeOrder createDBMainOrder(TenantEntity tenantEntity,WxCUserBasicInfo user,int payment,String extParam,EnumPayWay payWay,EnumComposeOrder composeOrderType,Map couponChannelMap) { + protected WxComposeOrder createDBMainOrder(TenantEntity tenantEntity,WxCUserBasicInfo user,int payment,String allExtParam,EnumPayWay payWay,EnumComposeOrder composeOrderType,Map couponChannelMap) { //判断是否poi订单 Integer isTtPoiOrder = null; try{ @@ -133,7 +133,7 @@ public abstract class BaseBatchOrderAdapterService implements OrderAdapterServic order.setOrderType(composeOrderType.getCode()); order.setIsTtPoiOrder(isTtPoiOrder); order.setCreateDate(new Date()); - order.setExtParam(extParam); + order.setExtParam(allExtParam); wxBatchOrderMapper.insert(order); WxComposeOrder composeOrder = new WxComposeOrder(order.getId(), composeOrderType.getCode(), payment); composeOrder.updateTenantInfo(tenantEntity);