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 dcc1417..5e6a6e9 100644 --- a/Pinnacle/src/main/java/com/cfive/pinnacle/controller/NoticeController.java +++ b/Pinnacle/src/main/java/com/cfive/pinnacle/controller/NoticeController.java @@ -2,6 +2,7 @@ package com.cfive.pinnacle.controller; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.plugins.pagination.PageDTO; import com.cfive.pinnacle.entity.Notice; import com.cfive.pinnacle.entity.common.ResponseCode; import com.cfive.pinnacle.entity.common.ResponseResult; @@ -35,32 +36,33 @@ public class NoticeController { @Autowired private INoticeReceiveService noticeReceiveService; + //分页查询所有公告或分页模糊查询 + @GetMapping("/page") + @PreAuthorize("hasAuthority('notice:manage:get')") + public ResponseResult> selectPageNotice(Integer currentPage, Integer pageSize, String title, String type, String startTime, String endTime) { + Page noticePage = null; + if (null != currentPage && null != pageSize) { + noticePage = PageDTO.of(currentPage, pageSize); + } else { + // 不进行分页 + noticePage = PageDTO.of(1, -1); + } + IPage noticeIPage = noticeService.selectPageNotice(noticePage, title.trim(), type.trim(), startTime.trim(), endTime.trim()); + 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()); + } + //根据公告id查公告信息及发布人 @GetMapping("/{nid}") @PreAuthorize("hasAuthority('notice:manage:get')") public ResponseResult selectByNoticeId(@PathVariable Long nid) { Notice noticeById = noticeService.selectByNoticeId(nid); - Integer code = noticeById != null ? ResponseCode.DATABASE_SELECT_OK : ResponseCode.DATABASE_SELECT_ERROR; + int code = noticeById != null ? ResponseCode.DATABASE_SELECT_OK : ResponseCode.DATABASE_SELECT_ERROR; String msg = noticeById != null ? "" : "数据查询失败,请重试!"; return ResponseResult.build(code, msg, noticeById); } - //查询所有公告或模糊查询 - @GetMapping - @PreAuthorize("hasAuthority('notice:manage:get')") - public ResponseResult> selectAllNotice(String title, String type, String startTime, String endTime) { - List noticeList; - if (!StringUtils.hasText(title) && !StringUtils.hasText(type) && !StringUtils.hasText(startTime) && !StringUtils.hasText(endTime)) { - noticeList = noticeService.selectAllNotice(); - } else { - noticeList = noticeService.selectByCond(title, type, startTime, endTime); - } - - int code = noticeList != null ? ResponseCode.DATABASE_SELECT_OK : ResponseCode.DATABASE_SELECT_ERROR; - String msg = noticeList != null ? "" : "数据查询失败,请重试!"; - return ResponseResult.build(code, msg, noticeList); - } - //根据登录用户id查询所接收的公告 @GetMapping("/self") @PreAuthorize("hasAuthority('notice:self:get')") @@ -83,16 +85,6 @@ public class NoticeController { return ResponseResult.build(updateById ? ResponseCode.DATABASE_UPDATE_OK : ResponseCode.DATABASE_UPDATE_ERROR, msg, null); } - - //更新公告 - @PutMapping - @PreAuthorize("hasAuthority('notice:manage:modify')") - public ResponseResult updateNotice(@RequestBody Notice notice) { - Boolean updateById = noticeService.updateNotice(notice); - String msg = updateById ? "" : "数据修改失败,请重试!"; - return ResponseResult.build(updateById ? ResponseCode.DATABASE_UPDATE_OK : ResponseCode.DATABASE_UPDATE_ERROR, msg, null); - } - //修改公告置顶状态 @PutMapping("/update_notice_top") @PreAuthorize("hasAuthority('notice:self:get')") @@ -103,13 +95,22 @@ public class NoticeController { return ResponseResult.build(updateResult ? ResponseCode.DATABASE_UPDATE_OK : ResponseCode.DATABASE_UPDATE_ERROR, msg, null); } + //更新公告 + @PutMapping + @PreAuthorize("hasAuthority('notice:manage:modify')") + public ResponseResult updateNotice(@RequestBody Notice notice) { + Boolean updateById = noticeService.updateNotice(notice); + String msg = updateById ? "" : "数据修改失败,请重试!"; + return ResponseResult.build(updateById ? ResponseCode.DATABASE_UPDATE_OK : ResponseCode.DATABASE_UPDATE_ERROR, msg, null); + } + //添加公告 @PostMapping @PreAuthorize("hasAuthority('notice:manage:add')") public ResponseResult addNotice(@RequestBody Notice notice) { Boolean insertNotice = noticeService.addNotice(notice); String msg = insertNotice ? "" : "数据添加失败,请重试!"; - return ResponseResult.build(insertNotice ? ResponseCode.DATABASE_SAVE_OK : ResponseCode.DATABASE_SAVE_ERROR, msg,null); + return ResponseResult.build(insertNotice ? ResponseCode.DATABASE_SAVE_OK : ResponseCode.DATABASE_SAVE_ERROR, msg, null); } //删除公告 @@ -124,7 +125,7 @@ public class NoticeController { //批量删除公告 @PostMapping("/batch") @PreAuthorize("hasAuthority('notice:manage:delete')") - public ResponseResult deleteBatchByIds(@RequestBody List noticeIds){ + public ResponseResult deleteBatchByIds(@RequestBody List noticeIds) { // List转List List nIds = noticeIds.stream().map(s -> Long.parseLong(s.trim())).collect(Collectors.toList()); Boolean deleteBatchByIds = noticeService.deleteBatchByIds(nIds); @@ -132,35 +133,12 @@ public class NoticeController { return ResponseResult.build(deleteBatchByIds ? ResponseCode.DATABASE_DELETE_OK : ResponseCode.DATABASE_DELETE_ERROR, msg, null); } - //分页查询所有公告或分页模糊查询 - @GetMapping("/page") - @PreAuthorize("hasAuthority('notice:manage:get')") - public ResponseResult> selectPageAllNotice(Integer currentPage, Integer pageSize, String title, String type, String startTime, String endTime) { - IPage noticePageList; - Page page = new Page(); - if (null != currentPage && null != pageSize) { - page.setCurrent(currentPage.intValue()); - page.setSize(pageSize.intValue()); - } else { - // 不进行分页 - page.setCurrent(1); - page.setSize(-1); - } - if (!StringUtils.hasText(title) && !StringUtils.hasText(type) && !StringUtils.hasText(startTime) && !StringUtils.hasText(endTime)) { - noticePageList = noticeService.selectPageAllNotice(page); - } else { - noticePageList = noticeService.selectPageByCond(page, title, type, startTime, endTime); - } - int code = noticePageList.getRecords() != null ? ResponseCode.DATABASE_SELECT_OK : ResponseCode.DATABASE_SELECT_ERROR; - String msg = noticePageList.getRecords() != null ? String.valueOf(noticePageList.getTotal()) : "数据查询失败,请重试!"; - return ResponseResult.build(code, msg, noticePageList.getRecords()); - } - + //首页展示最近接收的公告 @GetMapping("/limit") - public ResponseResult> selectLimitByUserId(){ + public ResponseResult> selectLimitByUserId() { List selectLimitByUserId = noticeReceiveService.selectLimitByUserId(); - String msg = (null!=selectLimitByUserId) ? "" : "数据查询失败,请重试!"; - return ResponseResult.build((null!=selectLimitByUserId) ? ResponseCode.DATABASE_DELETE_OK : ResponseCode.DATABASE_DELETE_ERROR, msg, selectLimitByUserId); + String msg = (null != selectLimitByUserId) ? "" : "数据查询失败,请重试!"; + return ResponseResult.build((null != selectLimitByUserId) ? ResponseCode.DATABASE_DELETE_OK : ResponseCode.DATABASE_DELETE_ERROR, msg, selectLimitByUserId); } } 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 f968ff9..053df07 100644 --- a/Pinnacle/src/main/java/com/cfive/pinnacle/mapper/NoticeMapper.java +++ b/Pinnacle/src/main/java/com/cfive/pinnacle/mapper/NoticeMapper.java @@ -20,11 +20,5 @@ import java.util.List; public interface NoticeMapper extends BaseMapper { Notice selectByNoticeId(Long nid); - List selectAllNotice(); - - List selectByCond(String title, String type, LocalDateTime startTime, LocalDateTime endTime); - - IPage selectPageAllNotice(IPage page); - - IPage selectPageByCond(IPage page, String title, String type, LocalDateTime startTime, LocalDateTime endTime); + IPage selectPageNotice(IPage page, String title, String type, LocalDateTime startTime, LocalDateTime endTime); } 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 c733095..2afa2f3 100644 --- a/Pinnacle/src/main/java/com/cfive/pinnacle/service/INoticeService.java +++ b/Pinnacle/src/main/java/com/cfive/pinnacle/service/INoticeService.java @@ -17,10 +17,6 @@ import java.util.List; public interface INoticeService extends IService { Notice selectByNoticeId(Long nid); - List selectAllNotice(); - - List selectByCond(String title, String type, String startTime, String endTime); - Boolean deleteById(Long nid); Boolean deleteBatchByIds(List noticeIds); @@ -31,7 +27,5 @@ public interface INoticeService extends IService { Boolean addNotice(Notice notice); - IPage selectPageAllNotice(IPage page); - - IPage selectPageByCond(IPage page, String title, String type, String startTime, String endTime); + IPage selectPageNotice(IPage page, String title, String type, String startTime, String endTime); } 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 79b643b..02ac5b4 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,27 +44,15 @@ public class NoticeServiceImpl extends ServiceImpl impleme } @Override - public List selectAllNotice() { - List notices = noticeMapper.selectAllNotice(); - return notices; - } - - @Override - public List selectByCond(String title, String type, String startTime, String endTime) { - LocalDateTime start; - LocalDateTime end; - try { - start = LocalDateTime.parse(startTime, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); + public IPage selectPageNotice(IPage page, String title, String type, String startTime, String endTime) { + 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")); - } catch (Exception e) { - start = null; - end = null; } - List notices = noticeMapper.selectByCond(title, type, start, end); - return notices; + return noticeMapper.selectPageNotice(page, title, type, start, end); } - @Override public Boolean deleteById(Long nid) { LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); @@ -81,7 +69,7 @@ public class NoticeServiceImpl extends ServiceImpl impleme LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); lqw.eq(NoticeReceive::getNoticeId, nid); flag = noticeReceiveMapper.delete(lqw) > 0; - if (!flag){ + if (!flag) { break; } } @@ -131,23 +119,5 @@ public class NoticeServiceImpl extends ServiceImpl impleme return noticeFlag && noticeRecFlag; } - @Override - public IPage selectPageAllNotice(IPage page) { - return noticeMapper.selectPageAllNotice(page); - } - - @Override - public IPage selectPageByCond(IPage page, String title, String type, String startTime, String endTime) { - LocalDateTime start; - LocalDateTime end; - 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) { - start = null; - end = null; - } - return noticeMapper.selectPageByCond(page, title, type, start, end); - } } diff --git a/Pinnacle/src/main/resources/mapper/NoticeMapper.xml b/Pinnacle/src/main/resources/mapper/NoticeMapper.xml index 50d2c74..b366e44 100644 --- a/Pinnacle/src/main/resources/mapper/NoticeMapper.xml +++ b/Pinnacle/src/main/resources/mapper/NoticeMapper.xml @@ -18,57 +18,44 @@ - - + select u.id uid, + u.username, + n.id nid, + n.title, + n.content, + n.type_id, + n.sender_id, + n.create_time, + n.send_time, + n.end_time, + n.priority, + n.top, + n.modify_time, + n.origin_id, + type.id typeId, + type.name, + type.enable from t_notice n - left join t_notice_type type on n.type_id = type.id - left join t_user u on n.sender_id = u.id - where n.deleted = 0 - and n.old = 0 - order by n.top desc, n.create_time desc - - - - @@ -80,85 +67,4 @@ - - - - - diff --git a/ui/src/components/notice/NoticeHead.vue b/ui/src/components/notice/NoticeHead.vue index 1cac631..5c52cf4 100644 --- a/ui/src/components/notice/NoticeHead.vue +++ b/ui/src/components/notice/NoticeHead.vue @@ -1,7 +1,7 @@