From 1fb2cfb2bcb152bee03f8a332700241693cfd9b6 Mon Sep 17 00:00:00 2001
From: wl <173@qq.com>
Date: 星期二, 16 八月 2022 13:37:00 +0800
Subject: [PATCH] bug处理

---
 src/main/java/com/example/jz/service/impl/GroupServiceImpl.java |   80 +++++++++++++++++++++++++++++++++++----
 1 files changed, 71 insertions(+), 9 deletions(-)

diff --git a/src/main/java/com/example/jz/service/impl/GroupServiceImpl.java b/src/main/java/com/example/jz/service/impl/GroupServiceImpl.java
index a4cfab5..65be7a4 100644
--- a/src/main/java/com/example/jz/service/impl/GroupServiceImpl.java
+++ b/src/main/java/com/example/jz/service/impl/GroupServiceImpl.java
@@ -1,22 +1,22 @@
 package com.example.jz.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.example.jz.dao.AnnouncementDao;
-import com.example.jz.dao.GroupDao;
-import com.example.jz.dao.MessageDao;
-import com.example.jz.modle.entity.Announcement;
-import com.example.jz.modle.entity.Group;
-import com.example.jz.modle.entity.Message;
+import com.example.jz.dao.*;
+import com.example.jz.modle.entity.*;
 import com.example.jz.modle.vo.GroupMessageVo;
 import com.example.jz.modle.vo.GroupUserVo;
 import com.example.jz.service.GroupService;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.core.context.SecurityContextHolder;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
 import java.util.Date;
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * 缇よ〃
@@ -27,9 +27,16 @@
  */
 @Service("groupService")
 public class GroupServiceImpl extends ServiceImpl<GroupDao, Group> implements GroupService {
+    @Resource
     private MessageDao messageDao;
+    @Resource
     private AnnouncementDao announcementDao;
+    @Resource
     private GroupDao groupDao;
+    @Resource
+    private UserDao userDao;
+    @Resource
+    private ReportDao reportDao;
 
     @Autowired
     public void setMessageDao(MessageDao messageDao) {
@@ -48,7 +55,27 @@
 
     @Override
     public List<GroupMessageVo> getAllMessage(Integer id) {
-        return messageDao.getAllMessageByGroup(id);
+        List<GroupMessageVo> list = messageDao.selectList(new QueryWrapper<Message>().eq("group_id", id).orderByAsc("ctime")).stream().map(item -> {
+            String username;
+            String pic = null;
+            if (item.getUserId() == null) {
+                username = userDao.selectOne(new QueryWrapper<User>().eq("id", item.getCopId())).getRealName();
+            } else {
+                Report report = reportDao.selectOne(new QueryWrapper<Report>().eq("id", item.getUserId()));
+                username = userDao.selectOne(new QueryWrapper<User>().eq("id", report.getUserId())).getRealName();
+                pic = report.getPic();
+                Message message = new Message();
+                message.setReportName(username);
+                messageDao.update(message,new QueryWrapper<Message>().eq("user_id",item.getUserId()));
+            }
+            GroupMessageVo groupMessageVo = new GroupMessageVo();
+            groupMessageVo.setUserName(username);
+            groupMessageVo.setText(item.getText());
+            groupMessageVo.setCtime(item.getCtime());
+            groupMessageVo.setPic(pic);
+            return groupMessageVo;
+        }).collect(Collectors.toList());
+        return list;
     }
 
     @Override
@@ -58,8 +85,8 @@
 
     @Override
     public Boolean sendMessage(Integer id, String text) {
-        // todo 鍔ㄦ�佽幏鍙栧綋鍓嶇櫥褰曠敤鎴风殑id
-        Message message = new Message().setUserId(1).setText(text).setGroupId(id).setCtime(new Date());
+        Message message = new Message().setCopId(userDao.selectOne(new QueryWrapper<User>().eq("login_username", SecurityContextHolder.getContext().getAuthentication().getPrincipal())).getId())
+                .setText(text).setGroupId(id).setCtime(new Date());
         return messageDao.insert(message) > 0;
     }
 
@@ -67,4 +94,39 @@
     public List<GroupUserVo> getAllUser(Integer id) {
         return groupDao.getAllUser(id);
     }
+
+    @Override
+    public List<GroupMessageVo> getByCondition(String name, String text,Integer groupId) {
+        List<GroupMessageVo> groupUserVoList;
+        if (StringUtils.isBlank(name)) {
+          groupUserVoList = messageDao.selectList(new QueryWrapper<Message>().like(StringUtils.isNotBlank(text), "text", text).eq("group_id",groupId).orderByAsc("ctime")).stream().map(item -> {
+                String username;
+                String pic = null;
+                if (item.getUserId() == null) {
+                    username = userDao.selectOne(new QueryWrapper<User>().eq("cop_id", item.getCopId())).getRealName();
+                } else {
+                    Report report = reportDao.selectOne(new QueryWrapper<Report>().eq("id", item.getUserId()));
+                    username = userDao.selectOne(new QueryWrapper<User>().eq("id", report.getUserId())).getRealName();
+                    pic = report.getPic();
+                }
+                GroupMessageVo groupMessageVo = new GroupMessageVo();
+                groupMessageVo.setUserName(username);
+                groupMessageVo.setText(item.getText());
+                groupMessageVo.setCtime(item.getCtime());
+                groupMessageVo.setPic(pic);
+                return groupMessageVo;
+            }).collect(Collectors.toList());
+        } else {
+             groupUserVoList = messageDao.selectList(new QueryWrapper<Message>().eq("report_Name", name).eq("group_id",groupId).orderByAsc("ctime")).stream().map(item -> {
+                Report report = reportDao.selectOne(new QueryWrapper<Report>().eq("id", item.getUserId()));
+                GroupMessageVo groupMessageVo = new GroupMessageVo();
+                groupMessageVo.setUserName(item.getReportName());
+                groupMessageVo.setText(item.getText());
+                groupMessageVo.setCtime(item.getCtime());
+                groupMessageVo.setPic(report.getPic());
+                return groupMessageVo;
+            }).collect(Collectors.toList());
+        }
+        return groupUserVoList;
+    }
 }

--
Gitblit v1.8.0