From aff23c9de462032adbd908c08a8651c88fdb31d2 Mon Sep 17 00:00:00 2001
From: wl <173@qq.com>
Date: 星期三, 28 十二月 2022 11:47:33 +0800
Subject: [PATCH] fix: 群消息查询问题

---
 src/main/java/com/example/jz/controller/WxAppController.java |   17 +++++++++++++----
 1 files changed, 13 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/example/jz/controller/WxAppController.java b/src/main/java/com/example/jz/controller/WxAppController.java
index 0ad33ff..3b3a25a 100644
--- a/src/main/java/com/example/jz/controller/WxAppController.java
+++ b/src/main/java/com/example/jz/controller/WxAppController.java
@@ -178,14 +178,18 @@
     public R getMessage(@RequestParam Integer id, @RequestParam String newDate, @RequestParam String lastDate) {
         ArrayList<Map<String, Object>> list = new ArrayList<>();
         List<Group> groupUsers = groupService.list(new QueryWrapper<Group>().eq("user_id", id));
-        if (groupUsers != null && groupUsers.size() != 0) {
+        if (!groupUsers.isEmpty()) {
             groupUsers.forEach(item -> {
                 HashMap<String, Object> groupMap = new HashMap<>();
-                List<Message> message = messageService.list(new QueryWrapper<Message>().eq("group_id", item.getId()).isNotNull("user_id").orderByDesc("ctime"));
+                List<Message> message = messageService.list(new QueryWrapper<Message>().eq("group_id", item.getId()).orderByDesc("ctime"));
                 groupMap.put("groupName", item.getGroupName());
                 if (message != null && message.size() != 0) {
                     groupMap.put("message", message.get(0).getText());
-                    groupMap.put("name", message.get(0).getReportName());
+                    if (message.get(0).getUserId() == null) {
+                        groupMap.put("name", userDao.selectOne(new QueryWrapper<User>().eq("id", message.get(0).getCopId())).getRealName());
+                    } else {
+                        groupMap.put("name", message.get(0).getReportName());
+                    }
                     groupMap.put("time", message.get(0).getCtime());
                 }
                 if (StringUtils.isNotBlank(lastDate)) {
@@ -210,8 +214,13 @@
                             if (groupUser != null) {
                                 HashMap<String, Object> groupMap = new HashMap<>();
                                 List<Message> message = messageService.list(new QueryWrapper<Message>().eq("group_id", groupUser.getGroupId()).orderByDesc("ctime"));
-                                if (message != null && message.size() != 0) {
+                                if (!message.isEmpty()) {
                                     groupMap.put("message", message.get(0).getText());
+                                    if (message.get(0).getUserId() == null) {
+                                        groupMap.put("name", userDao.selectOne(new QueryWrapper<User>().eq("id", message.get(0).getCopId())).getRealName());
+                                    } else {
+                                        groupMap.put("name", message.get(0).getReportName());
+                                    }
                                     groupMap.put("time", message.get(0).getCtime());
                                 }
                                 Group group = groupService.getOne(new QueryWrapper<Group>().eq("id", groupUser.getGroupId()));

--
Gitblit v1.8.0