From 453e847669df9f22266b073bda76523726913ede Mon Sep 17 00:00:00 2001
From: wl <173@qq.com>
Date: 星期一, 26 十二月 2022 11:08:18 +0800
Subject: [PATCH] fix: 群成员重复
---
src/main/java/com/example/jz/service/impl/GroupServiceImpl.java | 119 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 116 insertions(+), 3 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 4e23eca..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,19 +1,132 @@
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.GroupDao;
-import com.example.jz.modle.entity.Group;
+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;
/**
* 缇よ〃
-(Group)琛ㄦ湇鍔″疄鐜扮被
+ * (Group)琛ㄦ湇鍔″疄鐜扮被
*
* @author makejava
* @since 2022-07-11 16:35:57
*/
@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) {
+ this.messageDao = messageDao;
+ }
+
+ @Autowired
+ public void setAnnouncementDao(AnnouncementDao announcementDao) {
+ this.announcementDao = announcementDao;
+ }
+
+ @Autowired
+ public void setGroupDao(GroupDao groupDao) {
+ this.groupDao = groupDao;
+ }
+
+ @Override
+ public List<GroupMessageVo> getAllMessage(Integer 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
+ public List<Announcement> getAllNotice(Integer id) {
+ return announcementDao.selectList(new LambdaQueryWrapper<>(Announcement.class).eq(Announcement::getGroupId, id));
+ }
+
+ @Override
+ public Boolean sendMessage(Integer id, String text) {
+ 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;
+ }
+
+ @Override
+ 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