From 7ea5eece501c98a91555a5358931367e78e9d23b Mon Sep 17 00:00:00 2001 From: baizonghao <1719256278@qq.com> Date: 星期四, 25 五月 2023 15:40:09 +0800 Subject: [PATCH] 11 --- src/main/java/com/example/jz/service/impl/AnnouncementServiceImpl.java | 102 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 102 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/example/jz/service/impl/AnnouncementServiceImpl.java b/src/main/java/com/example/jz/service/impl/AnnouncementServiceImpl.java index 0887f7e..40f0e54 100644 --- a/src/main/java/com/example/jz/service/impl/AnnouncementServiceImpl.java +++ b/src/main/java/com/example/jz/service/impl/AnnouncementServiceImpl.java @@ -1,10 +1,27 @@ package com.example.jz.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.example.jz.auth.TokenJwtManager; import com.example.jz.dao.AnnouncementDao; +import com.example.jz.dao.UserDao; +import com.example.jz.modle.PageParam; import com.example.jz.modle.entity.Announcement; +import com.example.jz.modle.entity.User; +import com.example.jz.modle.vo.AnnouncementVo; import com.example.jz.service.AnnouncementService; +import org.springframework.beans.BeanUtils; +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; /** * 鍏憡琛�(Announcement)琛ㄦ湇鍔″疄鐜扮被 @@ -15,4 +32,89 @@ @Service("announcementService") public class AnnouncementServiceImpl extends ServiceImpl<AnnouncementDao, Announcement> implements AnnouncementService { + @Resource + AnnouncementDao announcementDao; + @Resource + UserDao userDao; + + @Autowired + TokenJwtManager tokenJwtManager; + + @Override + public PageParam<AnnouncementVo> getAnnouncements(Integer size, Integer current, String content, Integer status, Integer groupId) { + PageParam<Announcement> announcementPageParam = new PageParam<>(); + announcementPageParam.setSize(size); + announcementPageParam.setCurrent(current); + QueryWrapper<Announcement> announcementQueryWrapper = new QueryWrapper<>(); + if (StringUtils.isNotBlank(content)) { + announcementQueryWrapper.like("text", content); + } + if (status != null) { + announcementQueryWrapper.eq("status", status); + } + announcementQueryWrapper.eq("group_id", groupId); + announcementQueryWrapper.orderByDesc("ctime"); + PageParam<Announcement> announcementPageParamList = announcementDao.selectPage(announcementPageParam, announcementQueryWrapper); + List<AnnouncementVo> announcementVoList = announcementPageParamList.getRecords().stream().map( + a -> { + AnnouncementVo announcementVo = new AnnouncementVo(); + BeanUtils.copyProperties(a, announcementVo); + announcementVo.setCreateName(userDao.selectOne(new QueryWrapper<User>().eq("id", a.getCreator())).getRealName()); + return announcementVo; + } + ).collect(Collectors.toList()); + PageParam<AnnouncementVo> announcementVoPageParam = new PageParam<>(); + BeanUtils.copyProperties(announcementPageParamList, announcementVoPageParam); + announcementVoPageParam.setRecords(announcementVoList); + return announcementVoPageParam; + } + + @Override + public List<Announcement> getAnnouncements(Integer groupId) { + List<Announcement> announcements = announcementDao.selectList(Wrappers.<Announcement>lambdaQuery().eq(Announcement::getGroupId, groupId).orderByDesc(Announcement::getPublishTime)); + return announcements; + } + + @Override + public void updateStatus(Integer id,Integer status) { + if (status==1){ + announcementDao.update(new Announcement().setStatus(2), new UpdateWrapper<Announcement>().eq("id", id)); + }else { + Announcement announcement = new Announcement(); + announcement.setStatus(1); + announcement.setPublishTime(new Date()); + announcementDao.update(announcement, new UpdateWrapper<Announcement>().eq("id", id)); + } + } + + + @Override + public Integer add(Integer groupId, Announcement announcement) { + announcement.setCreator(userDao.selectOne(new QueryWrapper<User>().eq("login_username", SecurityContextHolder.getContext().getAuthentication().getPrincipal())).getId()); + if(announcement.getStatus()==1){ + announcement.setPublishTime(new Date()); + } + announcement.setCtime(new Date()); + announcement.setGroupId(groupId); + return announcementDao.insert(announcement); + } + + @Override + public Integer vxAdd(Integer groupId, Announcement announcement) { +// announcement.setCreator(userDao.selectOne(new QueryWrapper<User>().eq("login_username", SecurityContextHolder.getContext().getAuthentication().getPrincipal())).getId()); + announcement.setPublishTime(new Date()); + announcement.setCtime(new Date()); + announcement.setGroupId(groupId); + return announcementDao.insert(announcement); + } + + @Override + public AnnouncementVo getAnnouncementsById(Integer id) { + AnnouncementVo announcementVo = new AnnouncementVo(); + Announcement announcement = announcementDao.selectById(id); + User user = userDao.selectOne(new QueryWrapper<User>().eq("id", announcement.getCreator())); + BeanUtils.copyProperties(announcement,announcementVo); + announcementVo.setCreateName(user.getRealName()); + return announcementVo; + } } -- Gitblit v1.8.0