فهرست منبع

获取消息新增阅读状态、关键词筛选

wangyc 7 سال پیش
والد
کامیت
ef128ca97b

+ 5 - 2
src/main/java/com/uas/ps/message/api/MessageController.java

@@ -36,11 +36,14 @@ public class MessageController {
      * @param receiverEnuu 收信人企业uu
      * @param consumerApp 接收app
      * @param pageParams 分页参数
+     * @param isRead 读取状态
+     * @param keyword 关键词
+     * @param pageParams
      * @return
      */
     @RequestMapping(method = RequestMethod.GET, produces = "application/json")
-    public Page<Message> getMessages(String receiverUu, String receiverEnuu, String consumerApp, PageParams pageParams) {
-        return messageService.getMessages(receiverUu, receiverEnuu, consumerApp, pageParams);
+    public Page<Message> getMessages(String receiverUu, String receiverEnuu, String consumerApp, String isRead, String keyword, PageParams pageParams) {
+        return messageService.getMessages(receiverUu, receiverEnuu, consumerApp, isRead, keyword, pageParams);
     }
 
     /**

+ 5 - 2
src/main/java/com/uas/ps/message/service/MessageService.java

@@ -18,10 +18,13 @@ public interface MessageService {
      * @param receiverUu 收信人uu
      * @param receiverEnuu 收信人企业uu
      * @param consumerApp 接收app
-     * @param pageParams 分页请求参数
+     * @param pageParams 分页参数
+     * @param isRead 读取状态
+     * @param keyword 关键词
+     * @param pageParams
      * @return
      */
-    Page<Message> getMessages(String receiverUu, String receiverEnuu, String consumerApp, PageParams pageParams);
+    Page<Message> getMessages(String receiverUu, String receiverEnuu, String consumerApp, String isRead, String keyword, PageParams pageParams);
 
     /**
      * 保存消息

+ 18 - 4
src/main/java/com/uas/ps/message/service/impl/MessageServiceImpl.java

@@ -1,6 +1,8 @@
 package com.uas.ps.message.service.impl;
 
 
+import static antlr.build.ANTLR.root;
+
 import com.alibaba.fastjson.JSONObject;
 import com.uas.account.entity.User;
 import com.uas.account.entity.UserView;
@@ -94,8 +96,8 @@ public class MessageServiceImpl implements MessageService {
     }
 
     @Override
-    public Page<Message> getMessages(String receiverUu, final String receiverEnuu, String consumerApp,
-        PageParams pageParams) {
+    public Page<Message> getMessages(String receiverUu, final String receiverEnuu, String consumerApp, String isRead,
+        String keyword, PageParams pageParams) {
         if (StringUtils.isEmpty(receiverUu) || StringUtils.isEmpty(receiverEnuu)) {
             throw new ParameterMissingException("接收人信息为空");
         }
@@ -107,9 +109,21 @@ public class MessageServiceImpl implements MessageService {
         // 消息接收人过滤
         SimpleExpression receiverUuExp = PredicateUtils.eq("receiverUu", Long.valueOf(receiverUu), true);
         // 消息接收企业过滤
-        final SimpleExpression receiverEnuuExp = PredicateUtils.eq("receiverEnuu", Long.valueOf(receiverEnuu), true);
+        SimpleExpression receiverEnuuExp = PredicateUtils.eq("receiverEnuu", Long.valueOf(receiverEnuu), true);
+        SimpleExpression[] simpleExpressions = new SimpleExpression[]{receiverUuExp, receiverEnuuExp};
+
+        // 读取状态
+        if (!StringUtils.isEmpty(isRead)) {
+            SimpleExpression isReadExp = PredicateUtils.eq("isRead", Short.valueOf(isRead), true);
+            simpleExpressions[simpleExpressions.length - 1] = isReadExp;
+        }
+
+        // 关键词搜索
+        if (!StringUtils.isEmpty(keyword)) {
+            SimpleExpression contentExp = PredicateUtils.like("content", keyword, true);
+            simpleExpressions[simpleExpressions.length - 1] = contentExp;
+        }
 
-        final SimpleExpression[] simpleExpressions = new SimpleExpression[]{receiverUuExp, receiverEnuuExp};
         final LogicalExpression logicalExpression = PredicateUtils.and(simpleExpressions);
 
         final PageInfo pageInfo = new PageInfo(pageParams);