cup 2 년 전
부모
커밋
55c9f69888

+ 2 - 2
mp-service/src/main/java/com/qs/mp/admin/service/impl/TicketBoxServiceImpl.java

@@ -428,7 +428,7 @@ public class TicketBoxServiceImpl extends ServiceImpl<TicketBoxMapper, TicketBox
   @Transactional(rollbackFor = Exception.class)
   public void generateTicket(String boxId) {
     TicketBox ticketBox = getById(boxId);
-    Assert.isTrue(ticketBox.getStatus() == TicketBoxStatusEnum.DOING,
+    Assert.isTrue(ticketBox.getStatus() == TicketBoxStatusEnum.WAIT,
         "盲票生成时,票组状态不是出票中,boxId=" + boxId);
     List<TicketAwards> ticketAwardsList = ticketAwardsService.list(
         new LambdaQueryWrapper<TicketAwards>()
@@ -507,7 +507,7 @@ public class TicketBoxServiceImpl extends ServiceImpl<TicketBoxMapper, TicketBox
     ticketPackageService.saveBatch(ticketPackageList);
 
     boolean rst = update(new LambdaUpdateWrapper<TicketBox>().set(TicketBox::getStatus, TicketBoxStatusEnum.DONE)
-        .eq(TicketBox::getBoxId, boxId).eq(TicketBox::getStatus, TicketBoxStatusEnum.DOING));
+        .eq(TicketBox::getBoxId, boxId).eq(TicketBox::getStatus, TicketBoxStatusEnum.WAIT));
     Assert.isTrue(rst, "盲票生成完,更新盲票组状态失败。boxId:{0}" + ticketBox.getBoxId());
   }
 

+ 0 - 14
mp-service/src/main/java/com/qs/mp/framework/service/impl/AsyncTaskServiceImpl.java

@@ -135,13 +135,6 @@ public class AsyncTaskServiceImpl extends ServiceImpl<AsyncTaskMapper, AsyncTask
             LogUtil.warn(logger, "收到盲票支付成功任务,订单结佣状态不是未结佣,忽略任务。orderId=" + orderId);
             return;
         }
-        // 先更新状态,防并发。
-        boolean rst = userTicketOrderService.update(new LambdaUpdateWrapper<UserTicketOrder>().set(UserTicketOrder::getCommStatus, CommStatusEnum.DOING)
-                .eq(UserTicketOrder::getOrderId, orderId).eq(UserTicketOrder::getCommStatus, CommStatusEnum.NO));
-        if (!rst) {
-            LogUtil.error(logger, "收到盲票支付成功任务,更新订单结佣状态为结佣中失败。orderId=" + orderId);
-            return;
-        }
         userTicketOrderService.commToChannel(orderId, ChannelCommissionResourceEnum.USER.getValue());
 
     }
@@ -155,13 +148,6 @@ public class AsyncTaskServiceImpl extends ServiceImpl<AsyncTaskMapper, AsyncTask
             LogUtil.error(logger, "收到盲票生成任务,票组状态不是待出票,忽略任务。boxId=" + boxId);
             return;
         }
-        // 先更新状态,防并发。如果最后生成失败了,暂时人工重新触发
-        boolean rst = ticketBoxService.update(new LambdaUpdateWrapper<TicketBox>().set(TicketBox::getStatus, TicketBoxStatusEnum.DOING)
-                .eq(TicketBox::getBoxId, boxId).eq(TicketBox::getStatus, TicketBoxStatusEnum.WAIT));
-        if (!rst) {
-            LogUtil.error(logger, "收到盲票生成任务,更新票组状态为出票中失败。boxId=" + boxId);
-            return;
-        }
         ticketBoxService.generateTicket(boxId);
     }
 }

+ 3 - 3
mp-service/src/main/java/com/qs/mp/user/service/impl/UserTicketOrderServiceImpl.java

@@ -444,8 +444,8 @@ public class UserTicketOrderServiceImpl extends
     if (ChannelCommissionResourceEnum.USER.getValue().equals(resource)) {
       UserTicketOrder ticketOrder = getById(orderId);
       BeanUtils.copyProperties(ticketOrder, channelCommParam);
-      Assert.isTrue(channelCommParam.getCommStatus() == CommStatusEnum.DOING,
-              "结佣处理,结佣状态异常,不是结佣中。orderId=" + orderId);
+      Assert.isTrue(channelCommParam.getCommStatus() != CommStatusEnum.YES,
+              "结佣处理,结佣状态异常,不是结佣中或未结佣。orderId=" + orderId);
     } else {
       ChannelOrder channelOrder = channelOrderService.getById(orderId);
       ChannelOrderItem channelOrderItem = channelOrderItemService.getOne(new LambdaQueryWrapper<ChannelOrderItem>()
@@ -494,7 +494,7 @@ public class UserTicketOrderServiceImpl extends
               new LambdaUpdateWrapper<UserTicketOrder>().set(UserTicketOrder::getCommStatus,
                               CommStatusEnum.YES)
                       .eq(UserTicketOrder::getOrderId, orderId)
-                      .eq(UserTicketOrder::getCommStatus, CommStatusEnum.DOING));
+                      .in(UserTicketOrder::getCommStatus, CommStatusEnum.DOING, CommStatusEnum.NO));
       Assert.isTrue(rst, "渠道结佣完成,更新订单状态失败。orderId:" + orderId);
     }
     return true;