瀏覽代碼

新增派单sop发布

wangliang 1 年之前
父節點
當前提交
66d5ef03aa

+ 20 - 2
sop-api/src/main/java/com/qmth/sop/server/api/TBCrmDetailController.java

@@ -147,7 +147,7 @@ public class TBCrmDetailController {
         boolean lock = memoryLock.lock(SystemConstant.LOCK_CRM_DETAIL_SOP_PUBLISH_PREFIX + id, id,
                 SystemConstant.LOCK_CRM_DETAIL_SOP_TIME_OUT);
         if (!lock) {
-            throw ExceptionResultEnum.ERROR.exception("正在保存数据,请稍候再试!");
+            throw ExceptionResultEnum.ERROR.exception("正在发布数据,请稍候再试!");
         }
         boolean result = false;
         try {
@@ -170,7 +170,25 @@ public class TBCrmDetailController {
     @OperationLog(logType = LogTypeEnum.DELETE)
     @ApiResponses({ @ApiResponse(code = 200, message = "派单明细sop删除", response = EditResult.class) })
     public Result sopDelete(@ApiParam(value = "派单明细sopId", required = true) @RequestParam Long id) {
-        return ResultUtil.ok(tbCrmDetailService.sopDelete(id));
+        boolean lock = memoryLock.lock(SystemConstant.LOCK_CRM_DETAIL_SOP_DELETE_PREFIX + id, id,
+                SystemConstant.LOCK_CRM_DETAIL_SOP_TIME_OUT);
+        if (!lock) {
+            throw ExceptionResultEnum.ERROR.exception("正在删除数据,请稍候再试!");
+        }
+        boolean result = false;
+        try {
+            result = tbCrmDetailService.sopDelete(id);
+        } catch (Exception e) {
+            log.error(SystemConstant.LOG_ERROR, e);
+            if (e instanceof ApiException) {
+                ResultUtil.error((ApiException) e, ((ApiException) e).getCode(), e.getMessage());
+            } else {
+                ResultUtil.error(e.getMessage());
+            }
+        } finally {
+            memoryLock.unlock(SystemConstant.LOCK_CRM_DETAIL_SOP_DELETE_PREFIX + id);
+        }
+        return ResultUtil.ok(result);
     }
 
     @ApiOperation(value = "导入派单明细")

+ 3 - 2
sop-common/src/main/java/com/qmth/sop/common/contant/SystemConstant.java

@@ -356,8 +356,9 @@ public class SystemConstant {
     public static final String LOCK_JOB_PREFIX = "lock:job:";//定时任务锁
     public static final String LOCK_CRM_DETAIL_SOP_PREFIX = "lock:crm:detail:sop:";//派单明细sop锁
     public static final String LOCK_CRM_DETAIL_SOP_VAR_PREFIX = "lock:crm:detail:sop:var";//派单明细sop变量锁
-    public static final String LOCK_CRM_DETAIL_SOP_CREATE_PREFIX = "lock:crm:detail:sop:create";//派单明细创建sop锁
-    public static final String LOCK_CRM_DETAIL_SOP_PUBLISH_PREFIX = "lock:crm:detail:sop:publish";//派单明细创建sop锁
+    public static final String LOCK_CRM_DETAIL_SOP_CREATE_PREFIX = "lock:crm:detail:sop:create";//派单明细sop创建锁
+    public static final String LOCK_CRM_DETAIL_SOP_PUBLISH_PREFIX = "lock:crm:detail:sop:publish";//派单明细sop发布锁
+    public static final String LOCK_CRM_DETAIL_SOP_DELETE_PREFIX = "lock:crm:detail:sop:publish";//派单明细sop删除锁
 
     public static final Long LOCK_FLOW_TIME_OUT = 60L * 2 * 1000;
     public static final Long LOCK_SEQUENCE_TIME_OUT = 60L * 1 * 1000;