瀏覽代碼

流程消息改造

wangliang 2 年之前
父節點
當前提交
0a5b9204e1
共有 1 個文件被更改,包括 29 次插入22 次删除
  1. 29 22
      cas/src/main/java/com/qmth/teachcloud/cas/mq/gdpu/api/GdpuMqController.java

+ 29 - 22
cas/src/main/java/com/qmth/teachcloud/cas/mq/gdpu/api/GdpuMqController.java

@@ -49,8 +49,8 @@ public class GdpuMqController {
     @ApiOperation(value = "获取流程事项信息")
     @ApiResponses({@ApiResponse(code = 200, message = "常规信息", response = ResultUtil.class)})
     public JSONObject getbacklog(@ApiParam(value = "appid", required = true) @RequestHeader String appid,
-                                     @ApiParam(value = "签名串", required = true) @RequestHeader String secret,
-                                     @ApiParam(value = "流程id", required = true) @RequestHeader String orunId) {
+                                 @ApiParam(value = "签名串", required = true) @RequestHeader String secret,
+                                 @ApiParam(value = "流程id", required = true) @RequestHeader String orunId) {
         log.info("getbacklog appid:{},secret:{},orunId:{}", appid, secret, orunId);
         if (Objects.isNull(appid) || Objects.equals(appid.trim(), "")) {
             throw ExceptionResultEnum.PARAMS_ERROR.exception("appid为空");
@@ -61,10 +61,7 @@ public class GdpuMqController {
         if (Objects.isNull(orunId) || Objects.equals(orunId.trim(), "")) {
             throw ExceptionResultEnum.PARAMS_ERROR.exception("流水号为空");
         }
-        Long flowId = null;
-        if (Objects.nonNull(orunId)) {
-            flowId = Long.parseLong(orunId.substring(4, orunId.length()));
-        }
+        Long flowId = Long.parseLong(orunId);
         Long schoolId = FlowMqCacheUtil.getSchoolId(flowId);
         Map<String, SimpleObject> mapSetting = commonCacheService.getSysSetting(schoolId);
 
@@ -101,16 +98,21 @@ public class GdpuMqController {
         if (orunId != null) {
             ProcessInfoDTO processInfoDTO = new ProcessInfoDTO();
             processInfoDTO.setSysAppId(sysAppId);
-            processInfoDTO.setOrunId(orunId);
+            processInfoDTO.setOrunId(sysAppId + flowId);
             setProcessInfoDTO(processInfoDTO, toDoTaskDto);
             processInfo.add(processInfoDTO);
         }
+        data.put("processInfo", processInfo);
+
         JSONArray todoInfo = new JSONArray(); //待办信息
         List<StandardFlowWorkMsg> todoTaskList = toDoTaskDto.getHandleMessageDto().getTodoTaskList();
-        for (StandardFlowWorkMsg s : todoTaskList) {
-            TodoInfoDTO todoInfoDTO = new TodoInfoDTO();
-            setTodoInfoDTO(todoInfoDTO, s);
-            todoInfo.add(todoInfoDTO);
+        if (!CollectionUtils.isEmpty(todoTaskList)) {
+            for (StandardFlowWorkMsg s : todoTaskList) {
+                TodoInfoDTO todoInfoDTO = new TodoInfoDTO();
+                setTodoInfoDTO(todoInfoDTO, s);
+                todoInfo.add(todoInfoDTO);
+            }
+            data.put("todoInfo", todoInfo);
         }
 //        JSONArray toreadInfo = new JSONArray(); //待阅信息
 //        if (orunId != null) {
@@ -120,21 +122,24 @@ public class GdpuMqController {
 //            toreadInfo.add(toReadInfoDTO);
 //        }
         DoneTaskDto doneTaskDto = FlowMqCacheUtil.getDoneTask(flowId);
-        JSONArray remarkInfo = new JSONArray(); //已办信息
-        RemarkInfoDTO remarkInfoDTO = new RemarkInfoDTO();
-        setRemarkInfoDTO(remarkInfoDTO, doneTaskDto);
-        remarkInfo.add(remarkInfoDTO);
+        if (Objects.nonNull(doneTaskDto)) {
+            JSONArray remarkInfo = new JSONArray(); //已办信息
+            RemarkInfoDTO remarkInfoDTO = new RemarkInfoDTO();
+            setRemarkInfoDTO(remarkInfoDTO, doneTaskDto);
+            remarkInfo.add(remarkInfoDTO);
+            data.put("remarkInfo", remarkInfo);
+        }
 
-        data.put("processInfo", processInfo);
-        data.put("todoInfo", todoInfo);
-////        data.put("toreadInfo", toreadInfo);
+//        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内容加密
+        //请求参数body内容加密
         try {
             result.put("content", AESEncryptUtils.aesEncrypt(content.toJSONString(), appSecret.substring(0, 16)));
         } catch (Exception e) {
@@ -150,9 +155,11 @@ public class GdpuMqController {
 //        processInfoDTO.setOrunId("LYOA79ec0af89702d641d839d5bbb5e9073b0e4b");
         List<StandardFlowWorkMsg> standardFlowWorkMsgList = toDoTaskDto.getHandleMessageDto().getTodoTaskList();
         List<String> userIdList = new LinkedList<>(), userNameList = new LinkedList<>();
-        for (StandardFlowWorkMsg s : standardFlowWorkMsgList) {
-            userIdList.add(String.valueOf(s.getUserId()));
-            userNameList.add(s.getUserName());
+        if (!CollectionUtils.isEmpty(standardFlowWorkMsgList)) {
+            for (StandardFlowWorkMsg s : standardFlowWorkMsgList) {
+                userIdList.add(String.valueOf(s.getUserId()));
+                userNameList.add(s.getUserName());
+            }
         }
 
         processInfoDTO.setSubject(toDoTaskDto.getFlowData().getName());