From 744cd0a3bc66de73a94e320724b1bb776a6e4080 Mon Sep 17 00:00:00 2001 From: wl <173@qq.com> Date: 星期三, 19 十月 2022 17:43:50 +0800 Subject: [PATCH] 更新minlo --- 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