From f227e6ac3439116a0f8cc185bce053e19bd65307 Mon Sep 17 00:00:00 2001
From: wl <173@qq.com>
Date: 星期三, 28 十二月 2022 11:50:16 +0800
Subject: [PATCH] fix: 优化code
---
src/main/java/com/example/jz/service/impl/AnnouncementServiceImpl.java | 87 +++++++++++++++++++++++++++++++++++++++++++
1 files changed, 86 insertions(+), 1 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 b9e29ff..993cc40 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,26 @@
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.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,5 +31,74 @@
@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 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 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