lubo месяцев назад: 3
Родитель
Сommit
fe435b42d7

+ 3 - 0
ruoyi-business/src/main/java/com/ruoyi/business/domain/Business.java

@@ -286,6 +286,9 @@ public class Business extends BaseEntity {
         return this.balance.compareTo(amount) >= 0;
     }
 
+    /**
+     * 金额是否大于到店扫码单笔消费限额
+     */
     public Boolean gtOnlineOrderConsumptionLimit(BigDecimal amount) {
         if(this.onlineOrderConsumptionLimit == null)
         {

+ 2 - 1
ruoyi-business/src/main/java/com/ruoyi/business/exception/BusinessExceptionEnum.java

@@ -22,7 +22,8 @@ public enum BusinessExceptionEnum implements IIntegerEnum {
     BUSINESS_CLOSE_STATUS_ERROR( 500009, "当前商户已关闭"),
     BUSINESS_NOT_CLOSE( 500010, "当前商户未关闭"),
     BUSINESS_NOT_VALID( 500011, "目标已被关闭或已过期"),
-    BUSINESS_NOT_MOVE_SELF( 500012, "不能移动到同样的商户家");
+    BUSINESS_NOT_MOVE_SELF( 500012, "不能移动到同样的商户家"),
+    QUEUE_COMPLETE( 500013, "排队已完成");
 
     private Integer code;
 

+ 6 - 3
ruoyi-line/src/main/java/com/ruoyi/subsidy/service/impl/SubsidyQueueServiceImpl.java

@@ -644,6 +644,7 @@ public class SubsidyQueueServiceImpl implements ISubsidyQueueService {
             .last("limit 1"));
     }
 
+    @Transactional(rollbackFor = Exception.class)
     @Override
     public void move(SubsidyQueueMoveBo bo) {
         Business originalBusiness = businessService.loadById(bo.getOriginalBusinessId(), true);
@@ -666,9 +667,11 @@ public class SubsidyQueueServiceImpl implements ISubsidyQueueService {
         for (Long queueId : bo.getIds()) {
             queueCount = queueCount + 1;
             SubsidyQueue firstQueue = this.loadById(queueId, false);
-            if (ObjectUtil.isNotNull(firstQueue)
-                && firstQueue.getCurrentBusinessId().equals(originalBusiness.getBusinessId())
-                && SubsidyStatus.WAITING.equals(firstQueue.getSubsidyStatus())) {
+            if (ObjectUtil.isNotNull(firstQueue) && firstQueue.getCurrentBusinessId().equals(originalBusiness.getBusinessId())) {
+                if(SubsidyStatus.COMPLETE.equals(firstQueue.getSubsidyStatus()))
+                {
+                    throw new ServiceException(String.format("订单编号:%s,%s", firstQueue.getOrderNo(),BusinessExceptionEnum.QUEUE_COMPLETE.getMsg()),BusinessExceptionEnum.QUEUE_COMPLETE.getCode());
+                }
                 firstQueue.setCurrentBusinessId(targetBusiness.getBusinessId());
                 firstQueue.setCurrentBusinessName(targetBusiness.getBusinessName());
                 firstQueue.setMoveTime(new Date());