Browse Source

消息模块。

lighter 3 years ago
parent
commit
03cf108df1

+ 4 - 3
src/main/java/thyyxxk/webserver/controller/socketmessage/SocketMessageController.java

@@ -9,6 +9,7 @@ import thyyxxk.webserver.entity.socketmessage.SystemMessage;
 import thyyxxk.webserver.service.socketmessage.SocketMessageService;
 
 import java.util.List;
+import java.util.Map;
 
 @RestController
 @RequestMapping("/socketMessage")
@@ -25,9 +26,9 @@ public class SocketMessageController {
         return service.selectSystemMessages(date);
     }
 
-    @GetMapping("/fetchUnreadCount")
-    public ResultVo<Integer> fetchUnreadCount() {
-        return service.fetchUnreadCount();
+    @PostMapping("/onPageRefresh")
+    public ResultVo<Map<String, Object>> onPageRefresh(@RequestBody List<String> exclude) {
+        return service.onPageRefresh(exclude);
     }
 
     @GetMapping("/fetchAllSenders")

+ 1 - 1
src/main/java/thyyxxk/webserver/dao/his/socketmessage/SocketMessageDao.java

@@ -32,7 +32,7 @@ public interface SocketMessageDao {
             "datediff(day, send_datetime, getdate())=0 and id not in " +
             "<foreach collection='excludes' item='itm' separator=',' open='(' close=')'>#{itm}</foreach> " +
             "</script>")
-    List<SocketMessage> selectImportantSystemMessages(@Param("excludes") List<String> excludes);
+    List<SystemMessage> selectImportantSystemMessages(@Param("excludes") List<String> excludes);
 
     @Select("select count(1) from t_socket_message_consumer with(nolock) where receiver=#{receiver} and status=0")
     int selectUnreadCount(@Param("receiver") String receiver);

+ 12 - 2
src/main/java/thyyxxk/webserver/service/socketmessage/SocketMessageService.java

@@ -14,7 +14,9 @@ import thyyxxk.webserver.utils.ResultVoUtil;
 import thyyxxk.webserver.utils.TokenUtil;
 
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 @Service
 @Slf4j
@@ -37,8 +39,16 @@ public class SocketMessageService {
         return ResultVoUtil.success(list);
     }
 
-    public ResultVo<Integer> fetchUnreadCount() {
-        return ResultVoUtil.success(dao.selectUnreadCount(TokenUtil.getTokenUserId()));
+    public ResultVo<Map<String, Object>> onPageRefresh(List<String> exclude) {
+        if (exclude.isEmpty()) {
+            exclude.add("0");
+        }
+        List<SystemMessage> systemMessages = dao.selectImportantSystemMessages(exclude);
+        int unreadCount = dao.selectUnreadCount(TokenUtil.getTokenUserId());
+        Map<String, Object> resultMap = new HashMap<>();
+        resultMap.put("systemMessage", systemMessages);
+        resultMap.put("unreadCount", unreadCount);
+        return ResultVoUtil.success(resultMap);
     }
 
     public ResultVo<List<MessageIndex>> fetchAllSenders() {