From 90aad35eb4b294466d5476fab56936e7d5426b31 Mon Sep 17 00:00:00 2001 From: cccccyb <995134776@qq.com> Date: Wed, 3 May 2023 01:03:00 +0800 Subject: [PATCH] senderName filter and selectByTitile completed --- .../pinnacle/controller/NoticeController.java | 13 ++- .../pinnacle/service/INoticeService.java | 2 + .../service/impl/NoticeServiceImpl.java | 26 +++++- .../main/resources/mapper/NoticeMapper.xml | 2 +- .../com/cfive/pinnacle/notice/NoticeTest.java | 2 +- ui/src/assets/svg/notice_search.svg | 1 + ui/src/components/NoticeEdit.vue | 56 ----------- ui/src/components/notice/NoticeEdit.vue | 55 +++++++++++ ui/src/components/notice/NoticeHead.vue | 65 +++++++++++++ .../components/{ => notice}/NoticeTable.vue | 93 ++++++++----------- ui/src/pages/notice/NoticeHome.vue | 65 +++++++++++-- 11 files changed, 257 insertions(+), 123 deletions(-) create mode 100644 ui/src/assets/svg/notice_search.svg delete mode 100644 ui/src/components/NoticeEdit.vue create mode 100644 ui/src/components/notice/NoticeEdit.vue create mode 100644 ui/src/components/notice/NoticeHead.vue rename ui/src/components/{ => notice}/NoticeTable.vue (53%) 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 910e787..421cd1a 100644 --- a/Pinnacle/src/main/java/com/cfive/pinnacle/controller/NoticeController.java +++ b/Pinnacle/src/main/java/com/cfive/pinnacle/controller/NoticeController.java @@ -40,13 +40,20 @@ public class NoticeController { //添加公告 @GetMapping - public ResponseResult selectAllNotice() { - List noticeList = noticeService.selectAllNotice(); - Integer code = noticeList != null ? ResponseCode.DATABASE_SELECT_OK : ResponseCode.DATABASE_SELECT_ERROR; + public ResponseResult selectAllNotice(String title) { + List noticeList; + if (title == null) { + noticeList = noticeService.selectAllNotice(); + } else { + noticeList = noticeService.selectByTitle(title); + } + + int code = noticeList != null ? ResponseCode.DATABASE_SELECT_OK : ResponseCode.DATABASE_SELECT_ERROR; String msg = noticeList != null ? "" : "数据查询失败,请尝试!"; return ResponseResult.build(code, msg, noticeList); } + @PostMapping public ResponseResult updateNotice(@RequestBody Notice notice) { notice.setId(null); //清除id,使新插入的数据id自增 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 f750887..43c3fc6 100644 --- a/Pinnacle/src/main/java/com/cfive/pinnacle/service/INoticeService.java +++ b/Pinnacle/src/main/java/com/cfive/pinnacle/service/INoticeService.java @@ -18,5 +18,7 @@ public interface INoticeService extends IService { List selectAllNotice(); + List selectByTitle(String title); + Boolean deleteById(Long nid); } 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 2ff2841..2b4e940 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 @@ -5,6 +5,8 @@ import com.cfive.pinnacle.entity.Notice; import com.cfive.pinnacle.entity.NoticeReceive; import com.cfive.pinnacle.mapper.NoticeMapper; import com.cfive.pinnacle.mapper.NoticeReceiveMapper; +import com.cfive.pinnacle.mapper.NoticeTypeMapper; +import com.cfive.pinnacle.mapper.UserMapper; import com.cfive.pinnacle.service.INoticeService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.beans.factory.annotation.Autowired; @@ -25,7 +27,12 @@ public class NoticeServiceImpl extends ServiceImpl impleme @Autowired NoticeMapper noticeMapper; @Autowired + NoticeTypeMapper noticeTypeMapper; + @Autowired + UserMapper userMapper; + @Autowired NoticeReceiveMapper noticeReceiveMapper; + @Override public Notice selectByNoticeId(Long nid) { return noticeMapper.selectByNoticeId(nid); @@ -36,16 +43,29 @@ public class NoticeServiceImpl extends ServiceImpl impleme return noticeMapper.selectAllNotice(); } + @Override + public List selectByTitle(String title) { + LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); + lqw.like(Notice::getTitle, title); + List notices = noticeMapper.selectList(lqw); + for (Notice n : notices + ) { + n.setSender(userMapper.selectById(n.getSenderId())); + n.setNoticeType(noticeTypeMapper.selectById(n.getTypeId())); + } + return notices; + } + @Override public Boolean deleteById(Long nid) { LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); lqw.eq(NoticeReceive::getNoticeId, nid); List noticeReceives = noticeReceiveMapper.selectList(lqw); - for (NoticeReceive nrc: - noticeReceives) { + for (NoticeReceive nrc : + noticeReceives) { noticeReceiveMapper.deleteById(nrc.getId()); } - return noticeMapper.deleteById(nid)>0; + return noticeMapper.deleteById(nid) > 0; } } diff --git a/Pinnacle/src/main/resources/mapper/NoticeMapper.xml b/Pinnacle/src/main/resources/mapper/NoticeMapper.xml index ace4259..a8b677e 100644 --- a/Pinnacle/src/main/resources/mapper/NoticeMapper.xml +++ b/Pinnacle/src/main/resources/mapper/NoticeMapper.xml @@ -43,7 +43,7 @@ n.version nve, type.id typeId, name, - enable, + type.enable, type.deleted typeDe, type.version typeVe from t_user u, 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 4178d06..2a3256e 100644 --- a/Pinnacle/src/test/java/com/cfive/pinnacle/notice/NoticeTest.java +++ b/Pinnacle/src/test/java/com/cfive/pinnacle/notice/NoticeTest.java @@ -39,7 +39,7 @@ public class NoticeTest { @Test void selectAllTest() { - ResponseResult noticeList = noticeController.selectAllNotice(); + ResponseResult noticeList = noticeController.selectAllNotice(null); System.out.println(noticeList.getData()); } diff --git a/ui/src/assets/svg/notice_search.svg b/ui/src/assets/svg/notice_search.svg new file mode 100644 index 0000000..716df42 --- /dev/null +++ b/ui/src/assets/svg/notice_search.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ui/src/components/NoticeEdit.vue b/ui/src/components/NoticeEdit.vue deleted file mode 100644 index a3815e6..0000000 --- a/ui/src/components/NoticeEdit.vue +++ /dev/null @@ -1,56 +0,0 @@ - - - - diff --git a/ui/src/components/notice/NoticeEdit.vue b/ui/src/components/notice/NoticeEdit.vue new file mode 100644 index 0000000..3e53590 --- /dev/null +++ b/ui/src/components/notice/NoticeEdit.vue @@ -0,0 +1,55 @@ + + + + diff --git a/ui/src/components/notice/NoticeHead.vue b/ui/src/components/notice/NoticeHead.vue new file mode 100644 index 0000000..fd23107 --- /dev/null +++ b/ui/src/components/notice/NoticeHead.vue @@ -0,0 +1,65 @@ + + + + + diff --git a/ui/src/components/NoticeTable.vue b/ui/src/components/notice/NoticeTable.vue similarity index 53% rename from ui/src/components/NoticeTable.vue rename to ui/src/components/notice/NoticeTable.vue index 7f7264c..922ec93 100644 --- a/ui/src/components/NoticeTable.vue +++ b/ui/src/components/notice/NoticeTable.vue @@ -1,13 +1,17 @@ diff --git a/ui/src/pages/notice/NoticeHome.vue b/ui/src/pages/notice/NoticeHome.vue index 8bcbe70..812ac5b 100644 --- a/ui/src/pages/notice/NoticeHome.vue +++ b/ui/src/pages/notice/NoticeHome.vue @@ -1,14 +1,65 @@ - \ No newline at end of file +.el-container { +} +.el-header { + background-color: #fff; + //border: #9e9e9e solid 1px; +} +.el-main { + padding: 0px; + margin-top: 20px; +} +