From 68e6625b2623c08ccb1a8fd155db2a3d763abaf2 Mon Sep 17 00:00:00 2001 From: cccccyb <995134776@qq.com> Date: Sun, 4 Jun 2023 17:27:02 +0800 Subject: [PATCH] add the function of fuzzy query by senderIds had been completed --- .../pinnacle/controller/NoticeController.java | 7 ++- .../cfive/pinnacle/mapper/NoticeMapper.java | 2 +- .../pinnacle/service/INoticeService.java | 2 +- .../service/impl/NoticeServiceImpl.java | 4 +- .../main/resources/mapper/NoticeMapper.xml | 8 +-- ui/src/components/notice/NoticeHead.vue | 2 +- .../components/notice/NoticeManageTable.vue | 61 +++++-------------- ui/src/pages/notice/NoticeManage.vue | 26 ++++++-- ui/src/store/notice.ts | 21 ++++--- 9 files changed, 62 insertions(+), 71 deletions(-) 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 5d0dc86..0a47da6 100644 --- a/Pinnacle/src/main/java/com/cfive/pinnacle/controller/NoticeController.java +++ b/Pinnacle/src/main/java/com/cfive/pinnacle/controller/NoticeController.java @@ -8,10 +8,10 @@ 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 com.cfive.pinnacle.utils.WebUtil; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.*; import java.util.List; @@ -39,7 +39,8 @@ public class NoticeController { //分页查询所有公告或分页模糊查询 @GetMapping("/page") @PreAuthorize("hasAuthority('notice:manage:get')") - public ResponseResult> selectPageNotice(Integer currentPage, Integer pageSize, String title, String type, String startTime, String endTime,String userName) { + public ResponseResult> selectPageNotice(Integer currentPage, Integer pageSize, String title, String type, String startTime, String endTime,String userIdList) { + List userIds = WebUtil.convertStringToList(userIdList, Long.class); Page noticePage; if (null != currentPage && null != pageSize) { noticePage = PageDTO.of(currentPage, pageSize); @@ -47,7 +48,7 @@ public class NoticeController { // 不进行分页 noticePage = PageDTO.of(1, -1); } - IPage noticeIPage = noticeService.selectPageNotice(noticePage, title.trim(), type.trim(), startTime.trim(), endTime.trim(),userName.trim()); + IPage noticeIPage = noticeService.selectPageNotice(noticePage, title.trim(), type.trim(), startTime.trim(), endTime.trim(),userIds); int code = noticeIPage.getRecords() != null ? ResponseCode.DATABASE_SELECT_OK : ResponseCode.DATABASE_SELECT_ERROR; String msg = noticeIPage.getRecords() != null ? String.valueOf(noticeIPage.getTotal()) : "数据查询失败,请重试!"; return ResponseResult.build(code, msg, noticeIPage.getRecords()); diff --git a/Pinnacle/src/main/java/com/cfive/pinnacle/mapper/NoticeMapper.java b/Pinnacle/src/main/java/com/cfive/pinnacle/mapper/NoticeMapper.java index 0ae3f0c..abcf9e8 100644 --- a/Pinnacle/src/main/java/com/cfive/pinnacle/mapper/NoticeMapper.java +++ b/Pinnacle/src/main/java/com/cfive/pinnacle/mapper/NoticeMapper.java @@ -20,6 +20,6 @@ import java.util.List; public interface NoticeMapper extends BaseMapper { Notice selectByNoticeId(Long nid); - IPage selectPageNotice(IPage page, String title, String type, LocalDateTime startTime, LocalDateTime endTime,String userName); + IPage selectPageNotice(IPage page, String title, String type, LocalDateTime startTime, LocalDateTime endTime,List userIdList); } 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 7e75fad..6971412 100644 --- a/Pinnacle/src/main/java/com/cfive/pinnacle/service/INoticeService.java +++ b/Pinnacle/src/main/java/com/cfive/pinnacle/service/INoticeService.java @@ -27,5 +27,5 @@ public interface INoticeService extends IService { Boolean addNotice(Notice notice); - IPage selectPageNotice(IPage page, String title, String type, String startTime, String endTime,String userName); + IPage selectPageNotice(IPage page, String title, String type, String startTime, String endTime,List userIdList); } 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 94871c1..bf5121b 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 @@ -44,13 +44,13 @@ public class NoticeServiceImpl extends ServiceImpl impleme } @Override - public IPage selectPageNotice(IPage page, String title, String type, String startTime, String endTime,String userName) { + public IPage selectPageNotice(IPage page, String title, String type, String startTime, String endTime,List userIdList) { LocalDateTime start=null,end=null; if (startTime!=""&&endTime!=""){ start= LocalDateTime.parse(startTime, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); end = LocalDateTime.parse(endTime, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); } - return noticeMapper.selectPageNotice(page, title, type, start, end,userName); + return noticeMapper.selectPageNotice(page, title, type, start, end,userIdList); } @Override diff --git a/Pinnacle/src/main/resources/mapper/NoticeMapper.xml b/Pinnacle/src/main/resources/mapper/NoticeMapper.xml index 295725d..934ff05 100644 --- a/Pinnacle/src/main/resources/mapper/NoticeMapper.xml +++ b/Pinnacle/src/main/resources/mapper/NoticeMapper.xml @@ -50,12 +50,12 @@ and n.send_time >= #{startTime} - + and n.end_time < #{endTime} - - and u.username = #{userName} - + + #{item} + and n.deleted = 0 and n.old = 0 diff --git a/ui/src/components/notice/NoticeHead.vue b/ui/src/components/notice/NoticeHead.vue index 0b1bdad..c0cd66e 100644 --- a/ui/src/components/notice/NoticeHead.vue +++ b/ui/src/components/notice/NoticeHead.vue @@ -109,7 +109,7 @@ export default { type: '', startTime: '', endTime: '', - userName: '' + userIdList: [] } }) this.$emit('selectByCond') diff --git a/ui/src/components/notice/NoticeManageTable.vue b/ui/src/components/notice/NoticeManageTable.vue index 812b638..067d424 100644 --- a/ui/src/components/notice/NoticeManageTable.vue +++ b/ui/src/components/notice/NoticeManageTable.vue @@ -14,6 +14,7 @@ color: '#fff', 'font-size': '20px' }" + @filter-change="handleFilterChange" > @@ -79,9 +80,8 @@ prop="sender.username" label="发布者" width="100" - column-key="sender.username" - :filters="filterSenderName" - :filter-method="filterTag" + column-key="senderId" + :filters="senderList" filter-placement="bottom-end" align="center" > @@ -150,7 +150,6 @@ diff --git a/ui/src/pages/notice/NoticeManage.vue b/ui/src/pages/notice/NoticeManage.vue index 4d8177c..701c51f 100644 --- a/ui/src/pages/notice/NoticeManage.vue +++ b/ui/src/pages/notice/NoticeManage.vue @@ -37,6 +37,8 @@ @@ -92,7 +94,7 @@ export default { '', '', '', - '' + [] ) } else if (response.data.code === 20034) { ElMessage({ @@ -119,8 +121,9 @@ export default { this.search.type, this.search.startTime, this.search.endTime, - this.search.userName + this.search.userIdList ) + // noticeStore.search.userIdList = [] }, deleteBatchByIds() { const multiDeleteIds = [] @@ -147,7 +150,7 @@ export default { '', '', '', - '' + [] ) } else if (response.data.code === 20034) { ElMessage({ @@ -164,6 +167,20 @@ export default { type: 'warning' }) } + }, + getNoticeSender() { + const senders = [] + request.get('/user/notice').then((response) => { + for (let i = 0; i < response.data.data.length; i++) { + const senderName = { text: '', value: '' } + senderName.text = response.data.data[i].username + senderName.value = response.data.data[i].id + senders.push(senderName) + } + noticeStore.$patch((state) => { + state.senderList = senders + }) + }) } }, mounted() { @@ -175,7 +192,8 @@ export default { 'currentPage', 'pageSize', 'multiDeleteSelection', - 'search' + 'search', + 'senderList' ]) } } diff --git a/ui/src/store/notice.ts b/ui/src/store/notice.ts index 52ce498..28df817 100644 --- a/ui/src/store/notice.ts +++ b/ui/src/store/notice.ts @@ -53,7 +53,7 @@ export const useNoticeStore = defineStore('notice', { type: '', startTime: '', endTime: '', - userName: '' + userIdList: [] }, selectData: [ { @@ -91,6 +91,7 @@ export const useNoticeStore = defineStore('notice', { currentViewPage: 'All', hackReset: true, departmentList: [], + senderList: [], multiDeleteSelection: [], noticeShowData: { content: '', @@ -121,14 +122,14 @@ export const useNoticeStore = defineStore('notice', { }, getters: {}, actions: { - async selectAllNotice( + selectAllNotice( currentPage: number, pageSize: number, title: string, type: string, startTime: string, endTime: string, - userName: string + userIdList: [] ) { void request .get('/notice/page', { @@ -138,7 +139,7 @@ export const useNoticeStore = defineStore('notice', { type, startTime, endTime, - userName + userIdList: userIdList.toString() + '' }) .then((response) => { if (response.data.code === 20021) { @@ -177,8 +178,8 @@ export const useNoticeStore = defineStore('notice', { this.departmentList = response.data.data }) }, - async handleAddNotice(addFormData: IAddNoticeData) { - await request.post('/notice', addFormData).then((response) => { + handleAddNotice(addFormData: IAddNoticeData) { + void request.post('/notice', addFormData).then((response) => { if (response.data.code === 20022) { this.dialogAddVisible = false ElMessage({ @@ -192,10 +193,10 @@ export const useNoticeStore = defineStore('notice', { }) } }) - await this.selectAllNotice(1, 5, '', '', '', '', '') + this.selectAllNotice(1, 5, '', '', '', '', []) }, - async handleUpdateNotice(updateNotice: IAddNoticeData) { - await request.put('/notice', updateNotice).then((response) => { + handleUpdateNotice(updateNotice: IAddNoticeData) { + void request.put('/notice', updateNotice).then((response) => { if (response.data.code === 20023) { this.dialogEditVisible = false this.editFlag = false @@ -210,7 +211,7 @@ export const useNoticeStore = defineStore('notice', { }) } }) - await this.selectAllNotice(1, 5, '', '', '', '', '') + this.selectAllNotice(1, 5, '', '', '', '', []) this.hackReset = false }, async modifyNoticeIsRead(notice: INotice) {