Browse Source

航次锁定

ZhangShuling 1 tuần trước cách đây
mục cha
commit
54889798e1

+ 8 - 0
ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/controller/admin/voyage/VoyageController.java

@@ -207,4 +207,12 @@ public class VoyageController {
                 BeanUtils.toBean(list, VoyageRespVO.class));
     }
 
+
+    @PutMapping("/update-lock")
+    @Operation(summary = "锁定或解锁航次管理")
+    @PreAuthorize("@ss.hasPermission('product:voyage:update-lock')")
+    public CommonResult<Boolean> updateLockVoyage(String id) {
+        voyageService.updateLockVoyage(id);
+        return success(true);
+    }
 }

+ 1 - 0
ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/controller/admin/voyage/vo/VoyagePageReqVO.java

@@ -61,4 +61,5 @@ public class VoyagePageReqVO extends PageParam {
     @Schema(description = "航次ID列表")
     private List<Long> voyageIds;
 
+    private Integer isLock;
 }

+ 2 - 0
ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/controller/admin/voyage/vo/VoyageRespVO.java

@@ -146,4 +146,6 @@ public class VoyageRespVO {
 
     @Schema(description = "航次方向")
     private Integer direction;
+
+    private Integer isLock;
 }

+ 2 - 0
ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/dal/dataobject/voyage/VoyageDO.java

@@ -138,4 +138,6 @@ public class VoyageDO extends TenantBaseDO {
      */
     private String childBookingNotice;
 
+
+    private Integer isLock;
 }

+ 1 - 0
ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/dal/mysql/voyage/VoyageMapper.java

@@ -36,6 +36,7 @@ public interface VoyageMapper extends BaseMapperX<VoyageDO> {
                 .eqIfPresent(VoyageDO::getType, reqVO.getType())
                 .eqIfPresent(VoyageDO::getTransfer, reqVO.getTransfer())
                 .eqIfPresent(VoyageDO::getShelfStatus, reqVO.getShelfStatus())
+                .eqIfPresent(VoyageDO::getIsLock, reqVO.getIsLock())
                 .betweenIfPresent(VoyageDO::getCreateTime, reqVO.getCreateTime())
                 .inIfPresent(VoyageDO::getId, reqVO.getVoyageIds())
                 .orderByDesc(VoyageDO::getId));

+ 2 - 0
ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/service/voyage/VoyageService.java

@@ -94,4 +94,6 @@ public interface VoyageService {
      * @return
      */
     List<AppVoyageDayRespVO> getVoyageListByShipIdAndDate(Long shipId, String date);
+
+    void updateLockVoyage(String id);
 }

+ 19 - 0
ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/service/voyage/VoyageServiceImpl.java

@@ -427,4 +427,23 @@ public class VoyageServiceImpl implements VoyageService {
         return voyageMapper.selectVoyageListByShipIdAndDate(shipId, date);
     }
 
+    @Override
+    public void updateLockVoyage(String id) {
+        log.info("准备锁定或解锁航次: {}", id);
+        VoyageDO voyageDO = voyageMapper.selectById(id);
+        if (voyageDO == null) {
+            log.info("未查询到航次: {}, 返回异常", id);
+            throw exception(VOYAGE_NOT_EXISTS);
+        }
+        if(voyageDO.getIsLock() == null || voyageDO.getIsLock().intValue() == 0){
+            log.info("航次: {} 当前锁定状态: 解锁, 将改为锁定 ...", id);
+            voyageDO.setIsLock(1);
+        } else {
+            log.info("航次: {} 当前锁定状态: 锁定, 将改为解锁 ...", id);
+            voyageDO.setIsLock(0);
+        }
+        voyageMapper.updateById(voyageDO);
+        log.info("航次: {}, {}完成 ...", id, (voyageDO.getIsLock().intValue() == 0 ? "解锁" : "锁定"));
+    }
+
 }