Pārlūkot izejas kodu

历史消息接口增加参数,用于筛选领导批示留言

wanyuan 8 mēneši atpakaļ
vecāks
revīzija
34befcca67

+ 68 - 11
tip-front/src/main/java/com/minto/web/tc/MessageController.java

@@ -235,19 +235,10 @@ public class MessageController {
             int page = ReqUtil.getInt(req, "page",1);
             int start = (page-1)*count;
 
-            List<Long> leaderPersonIds = null;
-            boolean filterLeaderComment = ReqUtil.getBoolean(req, "filterLeaderComment", false);
-            if(filterLeaderComment){
-                IOrgManager orgManager = AppContext.getBean(IOrgManager.class);
-                List<OrgPersonBean> leaderPersonBeans = orgManager.findPersonsByRoleCode(
-                        OrgEnum.OrgRoleEnum.AccountLeader.name(), AppContext.getCurrentUser().getAccountId());
-                leaderPersonIds = leaderPersonBeans.stream().map(BasePO::getId).collect(Collectors.toList());
-            }
-
             MessageService msgMmanager = AppContext.getBean(MessageService.class);
             // 暂时取消resTypes屏蔽 V6.0 看一下怎么解决
             ListObject<MessageBean> msgs = msgMmanager.getMsgsWithSystem(userId, types, states, null, start, count,
-                    filterLeaderComment, leaderPersonIds);
+                    false, null);
             if((page-1)*count>msgs.getCount()){
                 page = 0;
             }
@@ -264,6 +255,72 @@ public class MessageController {
         return null;
     }
 
+    /**
+     * 获取历史消息
+     *
+     * @param req
+     * @param res
+     * @return
+     */
+    @RequestMapping(value = "/getHistoryMessage", method = RequestMethod.GET, params = {"filterLeaderComment = true"})
+    public ModelAndView getSystemMsgFilterLeaderComment(HttpServletRequest req, HttpServletResponse res)
+            throws Exception{
+        Map<String, Object> result = new HashMap<String, Object>();
+        try{
+            //0,1用于手机端 by chenx 2018年9月18日 17:24:22
+            Integer[] types = new Integer[]{0, 1, MessageTypeEnum.System.getKey(), MessageTypeEnum.System4News.getKey(),
+                    MessageTypeEnum.System4Notice.getKey(), MessageTypeEnum.System4Share.getKey()};
+            Integer[] states = new Integer[]{MessageStateEnum.Readed.getKey(), MessageStateEnum.Unread.getKey()};
+            // 增加圈子消息查询 modify by huzy 2017/11/29 14:14
+            // 增加事项归档数据查询 modify by huzy 2018/1/31 14:43
+            Integer[] resTypes = new Integer[]{MessageResourceTypeEnum.Sign.getKey(),
+                    MessageResourceTypeEnum.Plan.getKey(), MessageResourceTypeEnum.Report.getKey(),
+                    MessageResourceTypeEnum.Comment.getKey(), MessageResourceTypeEnum.Supervise.getKey(),
+                    MessageResourceTypeEnum.End.getKey(), MessageResourceTypeEnum.Overdue.getKey(),
+                    MessageResourceTypeEnum.More.getKey(), MessageResourceTypeEnum.Mail.getKey(),
+                    MessageResourceTypeEnum.Public.getKey(), MessageResourceTypeEnum.SuperReport.getKey(),
+                    MessageResourceTypeEnum.WorkCircle.getKey(), MessageResourceTypeEnum.WorkMessage.getKey(),
+                    MessageResourceTypeEnum.MatrixMessage.getKey(),
+                    //用于屏蔽手机端的留言消息
+                    //com.minto.app.message.enums.MessageEnum.MessageTypeEnum.MessageBoard.getKey(),
+                    MessageResourceTypeEnum.NewTask.getKey(), MessageResourceTypeEnum.System.getKey(),
+                    ResourceTypeEnum.CommunitySpace.getKey(), ResourceTypeEnum.CommunityPersonSpace.getKey(),
+                    ResourceTypeEnum.Task.getKey(), ResourceTypeEnum.Collaboration.getKey(),
+                    ResourceTypeEnum.Knowledge.getKey(), ResourceTypeEnum.PublicInfo.getKey(),
+                    ResourceTypeEnum.TaskPigeonhole.getKey(), ResourceTypeEnum.ColAffair.getKey()};
+            Long userId = AppContext.currentUserId();
+            int count = PageUtil.getRangSize(req);
+            int page = ReqUtil.getInt(req, "page", 1);
+            int start = (page - 1) * count;
+
+
+            IOrgManager orgManager = AppContext.getBean(IOrgManager.class);
+            List<OrgPersonBean> leaderPersonBeans = orgManager.findPersonsByRoleCode(
+                    OrgEnum.OrgRoleEnum.AccountLeader.name(), AppContext.getCurrentUser().getAccountId());
+            List<Long> leaderPersonIds = leaderPersonBeans.stream().map(BasePO::getId).collect(Collectors.toList());
+
+            MessageService msgMmanager = AppContext.getBean(MessageService.class);
+            // 暂时取消resTypes屏蔽 V6.0 看一下怎么解决
+            ListObject<MessageBean> msgs = msgMmanager.getMsgsWithSystem(userId, types, states, null, start, count,
+                    true, leaderPersonIds);
+            if((page - 1) * count > msgs.getCount()){
+                page = 0;
+            }
+            result.put("state", "success");
+            result.put("data", convertMessage(msgs.getList()));
+            result.put("total", msgs.getCount());
+            result.put("pageSize", count);
+            result.put("page", page);
+        } catch(Exception e){
+            log.error(ExceptionUtil.printExceptionStackTrace(e));
+            result.put("state", "error");
+            result.put("message", "获取消息失败!");
+        } finally{
+            RespUtil.rendJson(res, result);
+        }
+        return null;
+    }
+
     /**
      * 登录用户的系统消息记录(分页)
      * @param req
@@ -332,7 +389,7 @@ public class MessageController {
         try {
         	 List<Map<String, Object>>  msgType=get(ITaskListManager.class).findAll();
             model.put("msgs", msgType);
-            
+
         } catch (Exception e) {
             log.error(ExceptionUtil.printExceptionStackTrace(e));
         }