青羊经侦大队-数据平台
baizonghao
2023-04-17 4a5879a5454a5b396a13ab0b3c7386cdc0779ea7
src/main/java/com/example/jz/service/impl/AnnouncementServiceImpl.java
@@ -3,7 +3,9 @@
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;
@@ -12,6 +14,8 @@
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;
@@ -32,6 +36,9 @@
    AnnouncementDao announcementDao;
    @Resource
    UserDao userDao;
    @Autowired
    TokenJwtManager tokenJwtManager;
    @Override
    public PageParam<AnnouncementVo> getAnnouncements(Integer size, Integer current, String content, Integer status, Integer groupId) {
@@ -63,20 +70,51 @@
    }
    @Override
    public Integer updateStatus(Integer id) {
        return announcementDao.update(new Announcement().setStatus(1), new UpdateWrapper<Announcement>().eq("id", id));
    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 Integer updateStatusUnshelve(Integer id) {
        return announcementDao.update(new Announcement().setStatus(2), new UpdateWrapper<Announcement>().eq("id", id));
    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.setStatus(0);
        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;
    }
}