Explorar o código

广药待办问题修复

wangliang hai 1 semana
pai
achega
a78e839547

+ 66 - 48
cas/src/main/java/com/qmth/teachcloud/cas/mq/gdpu/api/GdpuMqController.java

@@ -95,42 +95,44 @@ public class GdpuMqController {
             result.put("content", content);
             return result;
         }
-        JSONObject data = new JSONObject();
-        ToDoTaskDto toDoTaskDto = FlowMqCacheUtil.getToDoTask(flowId);
-        JSONArray processInfo = new JSONArray(); //主流程信息
-        ProcessInfoDTO processInfoDTO = null;
-        if (orunId != null) {
-            processInfoDTO = new ProcessInfoDTO();
-            processInfoDTO.setSysAppId(sysAppId);
-            processInfoDTO.setOrunId(sysAppId + flowId);
-            setProcessInfoDTO(processInfoDTO, toDoTaskDto, basicSchool.getCode());
+
+        try {
+            JSONObject data = new JSONObject();
+            ToDoTaskDto toDoTaskDto = FlowMqCacheUtil.getToDoTask(flowId);
+            JSONArray processInfo = new JSONArray(); //主流程信息
+            ProcessInfoDTO processInfoDTO = null;
+            if (orunId != null) {
+                processInfoDTO = new ProcessInfoDTO();
+                processInfoDTO.setSysAppId(sysAppId);
+                processInfoDTO.setOrunId(sysAppId + flowId);
+                setProcessInfoDTO(processInfoDTO, toDoTaskDto, basicSchool.getCode());
 //            processInfo.add(processInfoDTO);
-        }
+            }
 //        data.put("processInfo", processInfo);
 
-        JSONArray todoInfo = new JSONArray(); //待办信息
-        if (Objects.nonNull(toDoTaskDto) && Objects.nonNull(toDoTaskDto.getHandleMessageDto())) {
-            List<StandardFlowWorkMsg> todoTaskList = toDoTaskDto.getHandleMessageDto().getTodoTaskList();
-            if (!CollectionUtils.isEmpty(todoTaskList)) {
-                for (StandardFlowWorkMsg s : todoTaskList) {
-                    TodoInfoDTO todoInfoDTO = new TodoInfoDTO();
-                    setTodoInfoDTO(todoInfoDTO, s, basicSchool.getCode());
-                    if (Objects.nonNull(processInfoDTO)) {
-                        processInfoDTO.setUserId(todoInfoDTO.getUserId());
-                        processInfoDTO.setUserName(todoInfoDTO.getUserName());
-                        processInfoDTO.setUrl(todoInfoDTO.getUrl());
-                        processInfoDTO.setMobileUrl(todoInfoDTO.getMobileUrl());
+            JSONArray todoInfo = new JSONArray(); //待办信息
+            if (Objects.nonNull(toDoTaskDto) && Objects.nonNull(toDoTaskDto.getHandleMessageDto())) {
+                List<StandardFlowWorkMsg> todoTaskList = toDoTaskDto.getHandleMessageDto().getTodoTaskList();
+                if (!CollectionUtils.isEmpty(todoTaskList)) {
+                    for (StandardFlowWorkMsg s : todoTaskList) {
+                        TodoInfoDTO todoInfoDTO = new TodoInfoDTO();
+                        setTodoInfoDTO(todoInfoDTO, s, basicSchool.getCode());
+                        if (Objects.nonNull(processInfoDTO)) {
+                            processInfoDTO.setUserId(todoInfoDTO.getUserId());
+                            processInfoDTO.setUserName(todoInfoDTO.getUserName());
+                            processInfoDTO.setUrl(todoInfoDTO.getUrl());
+                            processInfoDTO.setMobileUrl(todoInfoDTO.getMobileUrl());
+                        }
+                        todoInfo.add(todoInfoDTO);
                     }
-                    todoInfo.add(todoInfoDTO);
+                    data.put("todoInfo", todoInfo);
                 }
-                data.put("todoInfo", todoInfo);
             }
-        }
 
-        if (orunId != null && Objects.nonNull(processInfoDTO)) {
-            processInfo.add(processInfoDTO);
-        }
-        data.put("processInfo", processInfo);
+            if (orunId != null && Objects.nonNull(processInfoDTO)) {
+                processInfo.add(processInfoDTO);
+            }
+            data.put("processInfo", processInfo);
 //        JSONArray toreadInfo = new JSONArray(); //待阅信息
 //        if (orunId != null) {
 //            ToReadInfoDTO toReadInfoDTO = new ToReadInfoDTO();
@@ -138,31 +140,47 @@ public class GdpuMqController {
 //            setToReadInfoDTO(toReadInfoDTO);
 //            toreadInfo.add(toReadInfoDTO);
 //        }
-        DoneTaskDto doneTaskDto = FlowMqCacheUtil.getDoneTask(flowId);
-        if (Objects.nonNull(doneTaskDto)) {
-            JSONArray remarkInfo = new JSONArray(); //已办信息
-            RemarkInfoDTO remarkInfoDTO = new RemarkInfoDTO();
-            setRemarkInfoDTO(remarkInfoDTO, doneTaskDto, basicSchool.getCode());
-            remarkInfo.add(remarkInfoDTO);
-            data.put("remarkInfo", remarkInfo);
-        }
+            DoneTaskDto doneTaskDto = FlowMqCacheUtil.getDoneTask(flowId);
+            if (Objects.nonNull(doneTaskDto)) {
+                JSONArray remarkInfo = new JSONArray(); //已办信息
+                RemarkInfoDTO remarkInfoDTO = new RemarkInfoDTO();
+                setRemarkInfoDTO(remarkInfoDTO, doneTaskDto, basicSchool.getCode());
+                remarkInfo.add(remarkInfoDTO);
+                data.put("remarkInfo", remarkInfo);
+            }
 
 //        data.put("processInfo", processInfo);
 //        data.put("todoInfo", todoInfo);
 //        data.put("toreadInfo", toreadInfo);
 //        data.put("remarkInfo", remarkInfo);
-        content.put("statusCode", 200);
-        content.put("success", true);
-        content.put("message", "操作成功!");
-        content.put("data", data);
-        log.info("content:{}", content.toJSONString());
-        //请求参数body内容加密
-        try {
-            result.put("content", AESEncryptUtils.aesEncrypt(content.toJSONString(), appSecret.substring(0, 16)));
+            content.put("statusCode", 200);
+            content.put("success", true);
+            content.put("message", "操作成功!");
+            content.put("data", data);
+            log.info("content:{}", content.toJSONString());
+            //请求参数body内容加密
+            try {
+                result.put("content", AESEncryptUtils.aesEncrypt(content.toJSONString(), appSecret.substring(0, 16)));
+            } catch (Exception e) {
+
+                log.error("AES加密失败");
+                log.error(SystemConstant.LOG_ERROR, e);
+            }
         } catch (Exception e) {
-            System.out.println("AES加密失败");
-            e.printStackTrace();
-            throw new RuntimeException(e);
+            log.error(SystemConstant.LOG_ERROR, e);
+            FlowMqCacheUtil.expire(flowId);
+            content.put("statusCode", 201);
+            content.put("success", true);
+            content.put("message", "操作成功!");
+            content.put("data", "错误的流程数据");
+            log.info("content:{}", content.toJSONString());
+            //请求参数body内容加密
+            try {
+                result.put("content", AESEncryptUtils.aesEncrypt(content.toJSONString(), appSecret.substring(0, 16)));
+            } catch (Exception e1) {
+                log.error("AES加密失败");
+                log.error(SystemConstant.LOG_ERROR, e1);
+            }
         }
         return result;
     }

+ 4 - 0
cas/src/main/java/com/qmth/teachcloud/cas/mq/gdpu/cache/FlowMqCacheUtil.java

@@ -50,4 +50,8 @@ public class FlowMqCacheUtil {
     public static Long getUpdateTime(Long flowId) {
         return (Long) redisUtil.get(RedisKeyHelper.flowIdCacheKey(flowId), FlowMqFieldEnum.updateTime.name());
     }
+
+    public static void expire(Long flowId) {
+        redisUtil.expire(RedisKeyHelper.flowIdCacheKey(flowId), 0);
+    }
 }