From 1ac3906964d8e18120d4b6162cd1f2489a0f5119 Mon Sep 17 00:00:00 2001 From: cccccyb <995134776@qq.com> Date: Sat, 6 May 2023 02:54:30 +0800 Subject: [PATCH] nitice manage module compeled --- .../controller/DepartmentController.java | 20 ++ .../pinnacle/controller/NoticeController.java | 42 ++-- .../controller/NoticeTypeController.java | 21 ++ .../com/cfive/pinnacle/entity/Department.java | 7 + .../com/cfive/pinnacle/entity/Notice.java | 12 ++ .../cfive/pinnacle/entity/NoticeReceive.java | 11 - .../pinnacle/service/IDepartmentService.java | 3 + .../pinnacle/service/INoticeService.java | 4 +- .../pinnacle/service/INoticeTypeService.java | 3 + .../service/impl/DepartmentServiceImpl.java | 23 +- .../service/impl/NoticeServiceImpl.java | 62 +++++- .../service/impl/NoticeTypeServiceImpl.java | 16 +- .../resources/mapper/DepartmentMapper.xml | 7 +- .../main/resources/mapper/NoticeMapper.xml | 3 +- .../com/cfive/pinnacle/notice/NoticeTest.java | 78 +++++-- ui/src/components/notice/CommitForm.vue | 201 ++++++++++++++++++ ui/src/components/notice/NoticeAdd.vue | 13 ++ ui/src/components/notice/NoticeEdit.vue | 55 ----- ui/src/components/notice/NoticeHead.vue | 91 ++++++-- ui/src/components/notice/NoticeShowDialog.vue | 45 ++++ ui/src/components/notice/NoticeTable.vue | 91 ++++++-- ui/src/pages/notice/NoticeHome.vue | 139 +++++++++++- 22 files changed, 787 insertions(+), 160 deletions(-) create mode 100644 ui/src/components/notice/CommitForm.vue create mode 100644 ui/src/components/notice/NoticeAdd.vue delete mode 100644 ui/src/components/notice/NoticeEdit.vue create mode 100644 ui/src/components/notice/NoticeShowDialog.vue diff --git a/Pinnacle/src/main/java/com/cfive/pinnacle/controller/DepartmentController.java b/Pinnacle/src/main/java/com/cfive/pinnacle/controller/DepartmentController.java index d554955..483a67b 100644 --- a/Pinnacle/src/main/java/com/cfive/pinnacle/controller/DepartmentController.java +++ b/Pinnacle/src/main/java/com/cfive/pinnacle/controller/DepartmentController.java @@ -1,8 +1,17 @@ package com.cfive.pinnacle.controller; +import com.cfive.pinnacle.entity.Department; +import com.cfive.pinnacle.entity.common.ResponseCode; +import com.cfive.pinnacle.entity.common.ResponseResult; +import com.cfive.pinnacle.service.IDepartmentService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.CrossOrigin; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import java.util.List; + /** *

* 部门 前端控制器 @@ -13,6 +22,17 @@ import org.springframework.web.bind.annotation.RestController; */ @RestController @RequestMapping("/department") +@CrossOrigin public class DepartmentController { + @Autowired + IDepartmentService departmentService; + + @GetMapping + public ResponseResult getDepartAndUser(){ + List getDepartAndUser = departmentService.getDepartAndUser(); + Integer code = getDepartAndUser != null ? ResponseCode.DATABASE_SELECT_OK : ResponseCode.DATABASE_SELECT_ERROR; + String msg = getDepartAndUser != null ? "" : "数据查询失败,请尝试!"; + return ResponseResult.build(code, msg, getDepartAndUser); + } } diff --git a/Pinnacle/src/main/java/com/cfive/pinnacle/controller/NoticeController.java b/Pinnacle/src/main/java/com/cfive/pinnacle/controller/NoticeController.java index 421cd1a..d03a479 100644 --- a/Pinnacle/src/main/java/com/cfive/pinnacle/controller/NoticeController.java +++ b/Pinnacle/src/main/java/com/cfive/pinnacle/controller/NoticeController.java @@ -1,11 +1,14 @@ package com.cfive.pinnacle.controller; import com.cfive.pinnacle.entity.Notice; +import com.cfive.pinnacle.entity.NoticeReceive; import com.cfive.pinnacle.entity.common.ResponseCode; import com.cfive.pinnacle.entity.common.ResponseResult; +import com.cfive.pinnacle.service.INoticeReceiveService; import com.cfive.pinnacle.service.INoticeService; import lombok.Data; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.*; import java.time.LocalDateTime; @@ -25,7 +28,9 @@ import java.util.List; @CrossOrigin public class NoticeController { @Autowired - INoticeService noticeService; + private INoticeService noticeService; + @Autowired + private INoticeReceiveService noticeReceiveService; //根据公告id查公告信息及发布人 @GetMapping("/{nid}") @@ -36,16 +41,14 @@ public class NoticeController { return ResponseResult.build(code, msg, noticeById); } - ; - - //添加公告 + //查询所有公告 @GetMapping - public ResponseResult selectAllNotice(String title) { + public ResponseResult selectAllNotice(String title, String type, String startTime,String endTime) { List noticeList; - if (title == null) { + if (!StringUtils.hasText(title) && !StringUtils.hasText(type) && !StringUtils.hasText(startTime) && !StringUtils.hasText(endTime)) { noticeList = noticeService.selectAllNotice(); } else { - noticeList = noticeService.selectByTitle(title); + noticeList = noticeService.selectByCond(title, type, startTime,endTime); } int code = noticeList != null ? ResponseCode.DATABASE_SELECT_OK : ResponseCode.DATABASE_SELECT_ERROR; @@ -54,22 +57,33 @@ public class NoticeController { } - @PostMapping + //更新公告 + @PutMapping public ResponseResult updateNotice(@RequestBody Notice notice) { - notice.setId(null); //清除id,使新插入的数据id自增 - notice.setOriginId(notice.getId()); - boolean updateById = noticeService.save(notice); + boolean updateById = noticeService.updateNotice(notice); String msg = updateById ? "" : "数据修改失败,请尝试!"; return ResponseResult.build(updateById ? ResponseCode.DATABASE_UPDATE_OK : ResponseCode.DATABASE_UPDATE_ERROR, msg, updateById); } - @PutMapping + //添加公告 + @PostMapping public ResponseResult addNotice(@RequestBody Notice notice) { + notice.setSenderId(1654151877520973826L); boolean insertNotice = noticeService.save(notice); - String msg = insertNotice ? "" : "数据添加失败,请尝试!"; - return ResponseResult.build(insertNotice ? ResponseCode.DATABASE_SAVE_OK : ResponseCode.DATABASE_SAVE_ERROR, msg, insertNotice); + Long noticeId = notice.getId(); + boolean flag = false; + for (Long receiveId : + notice.getReceivers()) { + NoticeReceive noticeReceive = new NoticeReceive(); + noticeReceive.setNoticeId(noticeId); + noticeReceive.setUserId(receiveId); + flag = noticeReceiveService.save(noticeReceive); + } + String msg = (insertNotice && flag) ? "" : "数据添加失败,请尝试!"; + return ResponseResult.build((insertNotice && flag) ? ResponseCode.DATABASE_SAVE_OK : ResponseCode.DATABASE_SAVE_ERROR, msg, noticeId); } + //删除公告 @DeleteMapping("/{nid}") public ResponseResult deleteByNoticeId(@PathVariable Long nid) { boolean removeById = noticeService.deleteById(nid); diff --git a/Pinnacle/src/main/java/com/cfive/pinnacle/controller/NoticeTypeController.java b/Pinnacle/src/main/java/com/cfive/pinnacle/controller/NoticeTypeController.java index 58590b6..6ea426a 100644 --- a/Pinnacle/src/main/java/com/cfive/pinnacle/controller/NoticeTypeController.java +++ b/Pinnacle/src/main/java/com/cfive/pinnacle/controller/NoticeTypeController.java @@ -1,8 +1,18 @@ package com.cfive.pinnacle.controller; +import com.cfive.pinnacle.entity.Notice; +import com.cfive.pinnacle.entity.NoticeType; +import com.cfive.pinnacle.entity.common.ResponseCode; +import com.cfive.pinnacle.entity.common.ResponseResult; +import com.cfive.pinnacle.service.INoticeTypeService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.CrossOrigin; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import java.util.List; + /** *

* 公告类型 前端控制器 @@ -13,6 +23,17 @@ import org.springframework.web.bind.annotation.RestController; */ @RestController @RequestMapping("/noticeType") +@CrossOrigin public class NoticeTypeController { + @Autowired + INoticeTypeService noticeTypeService; + + @GetMapping + public ResponseResult selectTypeList(){ + List selectTypeName = noticeTypeService.selectTypeList(); + Integer code = selectTypeName != null ? ResponseCode.DATABASE_SELECT_OK : ResponseCode.DATABASE_SELECT_ERROR; + String msg = selectTypeName != null ? "" : "数据查询失败,请尝试!"; + return ResponseResult.build(code, msg, selectTypeName); + } } diff --git a/Pinnacle/src/main/java/com/cfive/pinnacle/entity/Department.java b/Pinnacle/src/main/java/com/cfive/pinnacle/entity/Department.java index 2d410ea..c703931 100644 --- a/Pinnacle/src/main/java/com/cfive/pinnacle/entity/Department.java +++ b/Pinnacle/src/main/java/com/cfive/pinnacle/entity/Department.java @@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.annotation.Version; import java.io.Serial; import java.io.Serializable; +import java.util.List; import lombok.Data; import lombok.experimental.Accessors; @@ -56,4 +57,10 @@ public class Department implements Serializable { @TableField("version") @Version private Integer version; + + /** + * 部门成员 + */ + @TableField(exist = false) + private List userList; } diff --git a/Pinnacle/src/main/java/com/cfive/pinnacle/entity/Notice.java b/Pinnacle/src/main/java/com/cfive/pinnacle/entity/Notice.java index d271f00..c1a0fb7 100644 --- a/Pinnacle/src/main/java/com/cfive/pinnacle/entity/Notice.java +++ b/Pinnacle/src/main/java/com/cfive/pinnacle/entity/Notice.java @@ -9,7 +9,9 @@ import com.baomidou.mybatisplus.annotation.Version; import java.io.Serial; import java.io.Serializable; import java.time.LocalDateTime; +import java.util.List; +import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import lombok.Data; @@ -77,18 +79,21 @@ public class Notice implements Serializable { * 创建时间 */ @TableField("create_time") + @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", timezone = "UTC") private LocalDateTime createTime; /** * 发送时间 */ @TableField("send_time") + @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", timezone = "UTC") private LocalDateTime sendTime; /** * 失效时间 */ @TableField("end_time") + @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", timezone = "UTC") private LocalDateTime endTime; /** @@ -107,6 +112,7 @@ public class Notice implements Serializable { * 修改时间 */ @TableField("modify_time") + @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", timezone = "UTC") private LocalDateTime modifyTime; /** @@ -130,5 +136,11 @@ public class Notice implements Serializable { @Version private Integer version; + /** + * 公告接收者 + */ + @TableField(exist = false) + @JsonSerialize(using = ToStringSerializer.class) + private List receivers; } diff --git a/Pinnacle/src/main/java/com/cfive/pinnacle/entity/NoticeReceive.java b/Pinnacle/src/main/java/com/cfive/pinnacle/entity/NoticeReceive.java index e9c5708..23e0b61 100644 --- a/Pinnacle/src/main/java/com/cfive/pinnacle/entity/NoticeReceive.java +++ b/Pinnacle/src/main/java/com/cfive/pinnacle/entity/NoticeReceive.java @@ -41,11 +41,6 @@ public class NoticeReceive implements Serializable { @JsonSerialize(using = ToStringSerializer.class) private Long userId; - /** - * 用户 - */ - @TableField(exist = false) - private User user; /** * 公告Id @@ -54,12 +49,6 @@ public class NoticeReceive implements Serializable { @JsonSerialize(using = ToStringSerializer.class) private Long noticeId; - /** - * 公告 - */ - @TableField(exist = false) - private Notice notice; - /** * 已读 */ diff --git a/Pinnacle/src/main/java/com/cfive/pinnacle/service/IDepartmentService.java b/Pinnacle/src/main/java/com/cfive/pinnacle/service/IDepartmentService.java index 87e58e2..9151f5d 100644 --- a/Pinnacle/src/main/java/com/cfive/pinnacle/service/IDepartmentService.java +++ b/Pinnacle/src/main/java/com/cfive/pinnacle/service/IDepartmentService.java @@ -3,6 +3,8 @@ package com.cfive.pinnacle.service; import com.cfive.pinnacle.entity.Department; import com.baomidou.mybatisplus.extension.service.IService; +import java.util.List; + /** *

* 部门 服务类 @@ -12,5 +14,6 @@ import com.baomidou.mybatisplus.extension.service.IService; * @since 2023-04-30 */ public interface IDepartmentService extends IService { + List getDepartAndUser(); } diff --git a/Pinnacle/src/main/java/com/cfive/pinnacle/service/INoticeService.java b/Pinnacle/src/main/java/com/cfive/pinnacle/service/INoticeService.java index 43c3fc6..7de3d9e 100644 --- a/Pinnacle/src/main/java/com/cfive/pinnacle/service/INoticeService.java +++ b/Pinnacle/src/main/java/com/cfive/pinnacle/service/INoticeService.java @@ -18,7 +18,9 @@ public interface INoticeService extends IService { List selectAllNotice(); - List selectByTitle(String title); + List selectByCond(String title,String type,String startTime,String endTime); Boolean deleteById(Long nid); + + Boolean updateNotice(Notice notice); } diff --git a/Pinnacle/src/main/java/com/cfive/pinnacle/service/INoticeTypeService.java b/Pinnacle/src/main/java/com/cfive/pinnacle/service/INoticeTypeService.java index 8740b52..e74648d 100644 --- a/Pinnacle/src/main/java/com/cfive/pinnacle/service/INoticeTypeService.java +++ b/Pinnacle/src/main/java/com/cfive/pinnacle/service/INoticeTypeService.java @@ -3,6 +3,8 @@ package com.cfive.pinnacle.service; import com.cfive.pinnacle.entity.NoticeType; import com.baomidou.mybatisplus.extension.service.IService; +import java.util.List; + /** *

* 公告类型 服务类 @@ -12,5 +14,6 @@ import com.baomidou.mybatisplus.extension.service.IService; * @since 2023-04-30 */ public interface INoticeTypeService extends IService { + List selectTypeList(); } diff --git a/Pinnacle/src/main/java/com/cfive/pinnacle/service/impl/DepartmentServiceImpl.java b/Pinnacle/src/main/java/com/cfive/pinnacle/service/impl/DepartmentServiceImpl.java index 22d247c..c3181e9 100644 --- a/Pinnacle/src/main/java/com/cfive/pinnacle/service/impl/DepartmentServiceImpl.java +++ b/Pinnacle/src/main/java/com/cfive/pinnacle/service/impl/DepartmentServiceImpl.java @@ -1,11 +1,18 @@ package com.cfive.pinnacle.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.cfive.pinnacle.entity.Department; +import com.cfive.pinnacle.entity.User; import com.cfive.pinnacle.mapper.DepartmentMapper; +import com.cfive.pinnacle.mapper.UserMapper; import com.cfive.pinnacle.service.IDepartmentService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.ArrayList; +import java.util.List; + /** *

* 部门 服务实现类 @@ -16,5 +23,19 @@ import org.springframework.stereotype.Service; */ @Service public class DepartmentServiceImpl extends ServiceImpl implements IDepartmentService { - + @Autowired + private DepartmentMapper departmentMapper; + @Autowired + private UserMapper userMapper; + @Override + public List getDepartAndUser() { + List departments = departmentMapper.selectList(null); + for (Department department: + departments) { + LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); + lqw.eq(User::getDepartmentId, department.getId()); + department.setUserList(userMapper.selectList(lqw)); + } + return departments; + } } diff --git a/Pinnacle/src/main/java/com/cfive/pinnacle/service/impl/NoticeServiceImpl.java b/Pinnacle/src/main/java/com/cfive/pinnacle/service/impl/NoticeServiceImpl.java index 2b4e940..8b0a300 100644 --- a/Pinnacle/src/main/java/com/cfive/pinnacle/service/impl/NoticeServiceImpl.java +++ b/Pinnacle/src/main/java/com/cfive/pinnacle/service/impl/NoticeServiceImpl.java @@ -1,8 +1,10 @@ package com.cfive.pinnacle.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.cfive.pinnacle.entity.Notice; import com.cfive.pinnacle.entity.NoticeReceive; +import com.cfive.pinnacle.entity.NoticeType; import com.cfive.pinnacle.mapper.NoticeMapper; import com.cfive.pinnacle.mapper.NoticeReceiveMapper; import com.cfive.pinnacle.mapper.NoticeTypeMapper; @@ -11,7 +13,11 @@ import com.cfive.pinnacle.service.INoticeService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.util.StringUtils; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.util.ArrayList; import java.util.List; /** @@ -40,14 +46,49 @@ public class NoticeServiceImpl extends ServiceImpl impleme @Override public List selectAllNotice() { - return noticeMapper.selectAllNotice(); + List notices = noticeMapper.selectAllNotice(); + if (null != notices) { + for (Notice notice : + notices) { + LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); + lqw.eq(NoticeReceive::getNoticeId, notice.getId()); + List noticeReceives = noticeReceiveMapper.selectList(lqw); + List receiverIdList = new ArrayList<>(); + for (NoticeReceive noticeReceive : + noticeReceives) { + receiverIdList.add(noticeReceive.getUserId()); + } + notice.setReceivers(receiverIdList); + } + } + return notices; } @Override - public List selectByTitle(String title) { - LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); - lqw.like(Notice::getTitle, title); - List notices = noticeMapper.selectList(lqw); + public List selectByCond(String title, String type, String startTime,String endTime) { + List notices = new ArrayList<>(); + LocalDateTime start = null; + LocalDateTime end = null; + try { + start = LocalDateTime.parse(startTime, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); + end = LocalDateTime.parse(endTime, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); + } catch (Exception e) { + startTime = null; + endTime = null; + } + LambdaQueryWrapper lqw_notice = new LambdaQueryWrapper<>(); + LambdaQueryWrapper lqw_type = new LambdaQueryWrapper<>(); + lqw_type.like(null != type, NoticeType::getName, type); + List noticeTypes = noticeTypeMapper.selectList(lqw_type); + for (NoticeType noticeType : noticeTypes + ) { + lqw_notice.clear(); + lqw_notice.eq(!noticeTypes.isEmpty(), Notice::getTypeId, noticeType.getId()).like(null != title, Notice::getTitle, title); + lqw_notice.ge(StringUtils.hasText(startTime), Notice::getSendTime, start); + lqw_notice.le(StringUtils.hasText(endTime), Notice::getEndTime, end); + List temp_notice = noticeMapper.selectList(lqw_notice); + notices.addAll(temp_notice); + } for (Notice n : notices ) { n.setSender(userMapper.selectById(n.getSenderId())); @@ -68,4 +109,15 @@ public class NoticeServiceImpl extends ServiceImpl impleme return noticeMapper.deleteById(nid) > 0; } + @Override + public Boolean updateNotice(Notice notice) { + noticeMapper.update(null, new UpdateWrapper().eq("id", notice.getId()).set("old", 1)); //修改原始数据 + notice.setOriginId(notice.getId()); + notice.setId(null); //清除id,使新插入的数据id重新生成 + notice.setCreateTime(null); + notice.setModifyTime(null); + notice.setOld(0); + return noticeMapper.insert(notice) > 0; + } + } diff --git a/Pinnacle/src/main/java/com/cfive/pinnacle/service/impl/NoticeTypeServiceImpl.java b/Pinnacle/src/main/java/com/cfive/pinnacle/service/impl/NoticeTypeServiceImpl.java index 26740a8..c6f32d7 100644 --- a/Pinnacle/src/main/java/com/cfive/pinnacle/service/impl/NoticeTypeServiceImpl.java +++ b/Pinnacle/src/main/java/com/cfive/pinnacle/service/impl/NoticeTypeServiceImpl.java @@ -1,11 +1,17 @@ package com.cfive.pinnacle.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.cfive.pinnacle.entity.NoticeType; import com.cfive.pinnacle.mapper.NoticeTypeMapper; import com.cfive.pinnacle.service.INoticeTypeService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.ArrayList; +import java.util.List; + /** *

* 公告类型 服务实现类 @@ -16,5 +22,13 @@ import org.springframework.stereotype.Service; */ @Service public class NoticeTypeServiceImpl extends ServiceImpl implements INoticeTypeService { - + @Autowired + NoticeTypeMapper noticeTypeMapper; + @Override + public List selectTypeList() { + LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); + lqw.eq(NoticeType::getEnable, 1); + List noticeTypes = noticeTypeMapper.selectList(lqw); + return noticeTypes; + } } diff --git a/Pinnacle/src/main/resources/mapper/DepartmentMapper.xml b/Pinnacle/src/main/resources/mapper/DepartmentMapper.xml index 358754c..06ca4b0 100644 --- a/Pinnacle/src/main/resources/mapper/DepartmentMapper.xml +++ b/Pinnacle/src/main/resources/mapper/DepartmentMapper.xml @@ -1,5 +1,10 @@ - + + + + diff --git a/Pinnacle/src/main/resources/mapper/NoticeMapper.xml b/Pinnacle/src/main/resources/mapper/NoticeMapper.xml index a8b677e..45213fa 100644 --- a/Pinnacle/src/main/resources/mapper/NoticeMapper.xml +++ b/Pinnacle/src/main/resources/mapper/NoticeMapper.xml @@ -53,7 +53,7 @@ and type.id = n.type_id and n.deleted = 0 and n.old = 0 - + order by create_time desc @@ -70,4 +70,5 @@ + diff --git a/Pinnacle/src/test/java/com/cfive/pinnacle/notice/NoticeTest.java b/Pinnacle/src/test/java/com/cfive/pinnacle/notice/NoticeTest.java index 2a3256e..5cd21e3 100644 --- a/Pinnacle/src/test/java/com/cfive/pinnacle/notice/NoticeTest.java +++ b/Pinnacle/src/test/java/com/cfive/pinnacle/notice/NoticeTest.java @@ -1,27 +1,26 @@ package com.cfive.pinnacle.notice; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.cfive.pinnacle.controller.NoticeController; -import com.cfive.pinnacle.entity.Notice; -import com.cfive.pinnacle.entity.NoticeReceive; -import com.cfive.pinnacle.entity.NoticeType; -import com.cfive.pinnacle.entity.User; +import com.cfive.pinnacle.entity.*; import com.cfive.pinnacle.entity.common.ResponseResult; -import com.cfive.pinnacle.service.IDepartmentService; -import com.cfive.pinnacle.service.INoticeReceiveService; -import com.cfive.pinnacle.service.INoticeTypeService; -import com.cfive.pinnacle.service.IUserService; +import com.cfive.pinnacle.service.*; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; +import java.util.ArrayList; +import java.util.List; @SpringBootTest public class NoticeTest { @Autowired private NoticeController noticeController; @Autowired + private INoticeService iNoticeService; + @Autowired private INoticeTypeService iNoticeTypeService; @Autowired private IDepartmentService iDepartmentService; @@ -34,52 +33,87 @@ public class NoticeTest { @Test void selectByIdTest() { ResponseResult selectByNoticeId = noticeController.selectByNoticeId(21L); - System.out.println(selectByNoticeId.getData()); } @Test void selectAllTest() { - ResponseResult noticeList = noticeController.selectAllNotice(null); - System.out.println(noticeList.getData()); + ResponseResult noticeList = noticeController.selectAllNotice(null, null,null,null); } @Test void updateTest() { ResponseResult notice = noticeController.selectByNoticeId(23L); ResponseResult updateNotice = noticeController.updateNotice((Notice) notice.getData()); - System.out.println(updateNotice.getData()); } @Test void insertNoticeTest() { - for (int i = 2; i < 20; i++) { + for (int i = 20; i < 40; i++) { Notice notice = new Notice(); - notice.setTitle("title"+i); - notice.setTypeId(1652684907554496514L); + notice.setTitle("title" + i); + notice.setTypeId(1654069011361476609L); notice.setSenderId(1652714496280469506L); LocalDateTime sendTime = LocalDateTime.parse("2023-05-11 00:00:00", DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); LocalDateTime endTime = LocalDateTime.parse("2023-09-01 00:00:00", DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); notice.setPriority(2); notice.setSendTime(sendTime); notice.setEndTime(endTime); - notice.setContent("Content"+i); + notice.setContent("Content" + i); noticeController.addNotice(notice); } } + @Test - void insertNoticeTypeTest(){ - NoticeType noticeType = new NoticeType(); - noticeType.setName("通知公告"); - iNoticeTypeService.save(noticeType); + void insertNoticeTypeTest() { +// NoticeType noticeType = new NoticeType(); +// noticeType.setName("调休公告"); +// iNoticeTypeService.save(noticeType); + +// Department department=new Department(); +// department.setName("前端开发部"); +// department.setTel("123"); +// department.setAddress("潮州"); +// iDepartmentService.save(department); + + User user = new User(); + user.setUsername("yrm"); + user.setPasswd("123"); + user.setDepartmentId(1654150127317569537L); + user.setEnable(1); + iUserService.save(user); } @Test - void insertNoticeRecTest(){ + void insertNoticeRecTest() { NoticeReceive receive = new NoticeReceive(); - receive.setNoticeId(1652734384348790786L); + receive.setNoticeId(1654070031407886338L); receive.setUserId(1652714496280469506L); iNoticeReceiveService.save(receive); } + @Test + void selectByConde() { + List notices = new ArrayList<>(); + LambdaQueryWrapper lqw_notice = new LambdaQueryWrapper<>(); + LambdaQueryWrapper lqw_type = new LambdaQueryWrapper<>(); + lqw_type.like(NoticeType::getName, "活动"); + List noticeTypes = iNoticeTypeService.list(lqw_type); + if (noticeTypes.isEmpty()) { + } else { + for (NoticeType type : noticeTypes + ) { + lqw_notice.clear(); + lqw_notice.eq(Notice::getTypeId, type.getId()).like(Notice::getTitle, "2"); + List temp_notice = iNoticeService.list(lqw_notice); + notices.addAll(temp_notice); + } + for (Notice n:notices + ) { + n.setSender(iUserService.getById(n.getSenderId())); + n.setNoticeType(iNoticeTypeService.getById(n.getTypeId())); + } + } + } + } diff --git a/ui/src/components/notice/CommitForm.vue b/ui/src/components/notice/CommitForm.vue new file mode 100644 index 0000000..cbe3f53 --- /dev/null +++ b/ui/src/components/notice/CommitForm.vue @@ -0,0 +1,201 @@ + + + + diff --git a/ui/src/components/notice/NoticeAdd.vue b/ui/src/components/notice/NoticeAdd.vue new file mode 100644 index 0000000..b762749 --- /dev/null +++ b/ui/src/components/notice/NoticeAdd.vue @@ -0,0 +1,13 @@ + + + diff --git a/ui/src/components/notice/NoticeEdit.vue b/ui/src/components/notice/NoticeEdit.vue deleted file mode 100644 index 3e53590..0000000 --- a/ui/src/components/notice/NoticeEdit.vue +++ /dev/null @@ -1,55 +0,0 @@ - - - - diff --git a/ui/src/components/notice/NoticeHead.vue b/ui/src/components/notice/NoticeHead.vue index fd23107..7380705 100644 --- a/ui/src/components/notice/NoticeHead.vue +++ b/ui/src/components/notice/NoticeHead.vue @@ -1,43 +1,99 @@ + diff --git a/ui/src/components/notice/NoticeTable.vue b/ui/src/components/notice/NoticeTable.vue index 922ec93..3337a41 100644 --- a/ui/src/components/notice/NoticeTable.vue +++ b/ui/src/components/notice/NoticeTable.vue @@ -1,6 +1,13 @@