Browse Source

Merge branch 'dev' into 'mp-server-test'

卡密订单支付后插入发货任务

See merge request quanshu/mp-server!928
jiang hao 2 years ago
parent
commit
f4b2abd727

+ 2 - 1
mp-common/src/main/java/com/qs/mp/common/enums/AsyncTaskTypeEnum.java

@@ -13,7 +13,8 @@ import io.swagger.annotations.ApiModel;
 public enum AsyncTaskTypeEnum implements IEnum<Integer> {
     CHANNEL_CONFIRM_RECEIPT(1,"经销商确认收货任务"),
     TICKET_PAY(2,"盲票付款任务"),
-    TICKET_GENERATE(3, "盲票生成任务");
+    TICKET_GENERATE(3, "盲票生成任务"),
+    CARD_ORDER_DELIVER(4, "卡密订单自动发货");
 
     private Integer value;
     private String desc;

+ 16 - 1
mp-service/src/main/java/com/qs/mp/user/service/impl/UserDeliverOrderServiceImpl.java

@@ -16,6 +16,8 @@ import com.qs.mp.common.service.IDeliveryCompanyService;
 import com.qs.mp.common.utils.DateUtils;
 import com.qs.mp.common.utils.LogUtil;
 import com.qs.mp.common.utils.StringUtils;
+import com.qs.mp.framework.domain.AsyncTask;
+import com.qs.mp.framework.service.IAsyncTaskService;
 import com.qs.mp.pay.domain.PayOrder;
 import com.qs.mp.system.service.id.BizIdGenerator;
 import com.qs.mp.user.domain.UserAddr;
@@ -80,6 +82,9 @@ public class UserDeliverOrderServiceImpl extends ServiceImpl<UserDeliverOrderMap
     @Autowired
     private IDeliveryCompanyService deliveryCompanyService;
 
+    @Autowired
+    private IAsyncTaskService asyncTaskService;
+
     @Override
     @Transactional
     public String submitOrder(Long userId, String memo, DeliverOrderSettleVO orderSettleVO) {
@@ -234,7 +239,7 @@ public class UserDeliverOrderServiceImpl extends ServiceImpl<UserDeliverOrderMap
     }
 
     @Override
-    @Transactional
+    @Transactional(rollbackFor = Exception.class)
     public boolean paySuccess(PayOrder payOrder) {
         UserDeliverOrder deliverOrder = getById(payOrder.getBizId());
         if (null == deliverOrder || deliverOrder.getStatus() != DeliverOrderStatusEnum.NOT_PAY) {
@@ -247,6 +252,16 @@ public class UserDeliverOrderServiceImpl extends ServiceImpl<UserDeliverOrderMap
         deliverOrder.setPayType(payOrder.getPayResource());
         boolean rst = updateById(deliverOrder);
         Assert.isTrue(rst, "支付回调用户提货订单处理,更新订单状态失败,orderId:" + deliverOrder.getOrderId());
+
+        // 卡密订单插入自动发货任务
+        if (DeliverOrderTypeEnum.CARD.getValue().equals(deliverOrder.getType())) {
+            AsyncTask asyncTask = new AsyncTask();
+            asyncTask.setBizId(deliverOrder.getOrderId());
+            asyncTask.setType(AsyncTaskTypeEnum.CARD_ORDER_DELIVER.getValue());
+            boolean rtn = asyncTaskService.save(asyncTask);
+            Assert.isTrue(rtn, "支付回调用户提货订单处理,卡密订单插入发货任务失败,orderId:" + deliverOrder.getOrderId());
+        }
+
         return false;
     }