Jelajahi Sumber

fix: ignore check lock 1

shc 4 bulan lalu
induk
melakukan
14abf5524f

+ 8 - 8
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/task/WmTaskControllerV2.java

@@ -160,7 +160,7 @@ public class WmTaskControllerV2 {
         String.format(
             "【%s】正在进行任务【%s】", user.getRealName(), checkReq.getCheckResult() ? "通过" : "拒绝");
 
-    String lockKey = "task_opt:check:" + checkReq.getTaskId();
+    String lockKey = "task_opt:check:" + checkReq.getTaskId() + ":" + checkReq.getNodeId();
     Boolean locked =
         redisTemplate.opsForValue().setIfAbsent(lockKey, lockInfo /*, 10, TimeUnit.MINUTES*/);
 
@@ -212,7 +212,7 @@ public class WmTaskControllerV2 {
 
       List<String> taskIds =
           pretreatmentClear.getTaskIds().stream()
-              .map(tid -> "task_opt:check:" + tid)
+              .map(tid -> "task_opt:check:" + tid + ":" + pretreatmentClear.getNodeId())
               .collect(Collectors.toList());
 
       return R.ok(redisTemplate.delete(taskIds));
@@ -250,7 +250,7 @@ public class WmTaskControllerV2 {
       DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
       for (String taskId : taskIds) {
 
-        String lockKey = "task_opt:check:" + taskId;
+        String lockKey = "task_opt:check:" + taskId + ":" + pretreatment.getNodeId();
 
         // 不存在历史执行锁
         if (Boolean.TRUE.equals(
@@ -335,7 +335,7 @@ public class WmTaskControllerV2 {
     Map<String, String> lockKeys = new LinkedHashMap<>(taskIds.size());
 
     for (String taskId : taskIds) {
-      lockKeys.put("task_opt:check:" + taskId, lockInfo);
+      lockKeys.put("task_opt:check:" + taskId + ":" + checkReq.getNodeId(), lockInfo);
     }
 
     // 设置执行锁
@@ -355,10 +355,10 @@ public class WmTaskControllerV2 {
       log.error(e.getMessage(), e);
       redisTemplate.delete(lockKeys.keySet());
     }
-//   finally {
-//     不论审核结果如何都不删除锁了
-//          redisTemplate.delete(lockKeys.keySet());
-//   }
+    //   finally {
+    //     不论审核结果如何都不删除锁了
+    //          redisTemplate.delete(lockKeys.keySet());
+    //   }
 
     return ok(Boolean.TRUE);
   }

+ 6 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/task/vo/TaskReqVO.java

@@ -113,6 +113,9 @@ public final class TaskReqVO {
     @Size(min = 1, max = 500, message = "批量审核任务数量范围为{min}-{max}")
     private List<String> taskIds;
 
+    @NotNull(message = "审核节点必填")
+    private Integer nodeId;
+
   }
 
   @Data
@@ -125,5 +128,8 @@ public final class TaskReqVO {
     @NotBlank(message = "请求令牌不能为空")
     private String token;
 
+    @NotNull(message = "审核节点必填")
+    private Integer nodeId;
+
   }
 }