소스 검색

fix bug 预约充电启动失败

skyline 2 년 전
부모
커밋
c8b7d4f5af
1개의 변경된 파일6개의 추가작업 그리고 2개의 파일을 삭제
  1. 6 2
      service/src/main/java/com/kym/service/miniapp/impl/ChargeServiceImpl.java

+ 6 - 2
service/src/main/java/com/kym/service/miniapp/impl/ChargeServiceImpl.java

@@ -196,8 +196,12 @@ public class ChargeServiceImpl implements ChargeService {
         // 当前设备是是否有正在进行中的订单
         var chargeOrder = chargeOrderService.getChargingOrderByUserId(userId);
         if (chargeOrder != null) {
-            LOGGER.error("用户:{}存在进行中的订单:{}", userId, chargeOrder.getStartChargeSeq());
-            throw new BusinessException(ResponseEnum.ORDER_IN_PROGRESS);
+            // 预约中的订单到了启动时间则直接启动,忽略校验
+            if (!(chargeOrder.getChargeStatus().equals(ChargeOrder.CHARGE_STATUS_预约中) && chargeOrder.getStartTime().isBefore(LocalDateTime.now()))) {
+                LOGGER.error("用户:{}存在进行中的订单:{}", userId, chargeOrder.getStartChargeSeq());
+                throw new BusinessException(ResponseEnum.ORDER_IN_PROGRESS);
+            }
+
         }
         // 查询用户余额
         var account = accountService.getAccountByUserId(userId);