Quellcode durchsuchen

修改订单不允许修改航次

lishiqiang vor 1 Woche
Ursprung
Commit
0cb70a0f42

+ 2 - 0
ship-module-trade/ship-module-trade-api/src/main/java/com/yc/ship/module/trade/enums/ErrorCodeConstants.java

@@ -147,6 +147,8 @@ public interface ErrorCodeConstants {
 
     // ========== 核销 ==========
     ErrorCode ORDER_NOT_EXIST = new ErrorCode(30_100, "订单不存在");
+    ErrorCode ORDER_NOT_VOYAGE_CHANGE = new ErrorCode(30_101, "航次不能修改");
+    ErrorCode ORDER_NOT_VOYAGE = new ErrorCode(30_101, "航次不能为空");
     ErrorCode USE_DATE_RANGE_ERROR = new ErrorCode(30_102, "使用日期范围不正确");
     ErrorCode TRAVEL_DATE_ERROR = new ErrorCode(30_103, "游玩日期不正确");
     ErrorCode TRADE_DETAIL_NOT_EXIST = new ErrorCode(30_104, "票码不存在");

+ 8 - 0
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/service/otc/impl/OtcTradeOrderServiceImpl.java

@@ -1970,6 +1970,14 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
         }
         int auditType = 0;
         String orderNo = tradeOrderDO.getOrderNo();
+        Long oldvoyageId = tradeOrderDO.getVoyageId();
+        Long newvoyageId = createVO.getVoyageId();
+        if (newvoyageId == null) {
+            return CommonResult.error(ORDER_NOT_VOYAGE);
+        }
+        if(!Objects.equals(oldvoyageId, newvoyageId)){
+            return CommonResult.error(ORDER_NOT_VOYAGE_CHANGE);
+        }
         //现在给整个订单号的加锁
         String lockKey = String.format(ProductRedisKeyConstants.ORDER_REDIS_KEY_PREFIX, orderNo);
         RLock lock = redissonClient.getLock(lockKey);