From e122933bb9caf7fa67d0979702644a9749f41f06 Mon Sep 17 00:00:00 2001 From: cccccyb <995134776@qq.com> Date: Sat, 20 May 2023 02:32:51 +0800 Subject: [PATCH] the function of modify top have been completed and modify the manageTable index --- .../pinnacle/controller/NoticeController.java | 28 +++++--- .../service/INoticeReceiveService.java | 2 +- .../pinnacle/service/INoticeService.java | 2 + .../impl/NoticeReceiveServiceImpl.java | 8 ++- .../service/impl/NoticeServiceImpl.java | 11 +++- ui/src/assets/svg/cancelTop.svg | 1 + .../components/notice/NoticeManageTable.vue | 19 +++++- ui/src/components/notice/NoticeTypeTable.vue | 9 +-- ui/src/components/notice/NoticeViewCard.vue | 65 ++++++++++++------- ui/src/store/notice.ts | 63 ++++++++++++++---- 10 files changed, 144 insertions(+), 64 deletions(-) create mode 100644 ui/src/assets/svg/cancelTop.svg 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 faef55b..1e551ab 100644 --- a/Pinnacle/src/main/java/com/cfive/pinnacle/controller/NoticeController.java +++ b/Pinnacle/src/main/java/com/cfive/pinnacle/controller/NoticeController.java @@ -67,13 +67,12 @@ public class NoticeController { } //修改登录用户所接收公告的阅读状态 - @GetMapping("/modifyNoticeIsRead") - public ResponseResult modifyNoticeIsRead(String noticeId,Integer readStatus){ - Long nid=null; - if (StringUtils.hasText(noticeId)){ - nid = Long.parseLong(noticeId); + @PutMapping("/modifyNoticeIsRead") + public ResponseResult modifyNoticeIsRead(@RequestBody Notice notice) { + boolean updateById = false; + if (null != notice) { + updateById = noticeReceiveService.modifyNoticeIsRead(notice); } - boolean updateById = noticeReceiveService.modifyNoticeIsRead(nid,readStatus); String msg = updateById ? "" : "服务器出错,请重试!"; return ResponseResult.build(updateById ? ResponseCode.DATABASE_UPDATE_OK : ResponseCode.DATABASE_UPDATE_ERROR, msg, updateById); @@ -87,6 +86,15 @@ public class NoticeController { return ResponseResult.build(updateById ? ResponseCode.DATABASE_UPDATE_OK : ResponseCode.DATABASE_UPDATE_ERROR, msg, updateById); } + //更新公告置顶 + @PutMapping("/updateNoticeTop") + public ResponseResult updateNoticeTop(@RequestBody Notice notice) { + String operationMessage = notice.getTop() == 1 ? "取消置顶" : "置顶"; + boolean updateResult = noticeService.updateNoticeTop(notice); + String msg = updateResult ? "已成功" + operationMessage : operationMessage + "失败,请重试!"; + return ResponseResult.build(updateResult ? ResponseCode.DATABASE_UPDATE_OK : ResponseCode.DATABASE_UPDATE_ERROR, msg, updateResult); + } + //添加公告 @PostMapping public ResponseResult addNotice(@RequestBody Notice notice) { @@ -105,13 +113,13 @@ public class NoticeController { //分页查询所有公告或分页模糊查询 @GetMapping("/page") - public ResponseResult selectPageAllNotice(Integer currentPage,Integer pageSize,String title, String type, String startTime, String endTime) { + 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){ + if (null != currentPage && null != pageSize) { page.setCurrent(currentPage.intValue()); page.setSize(pageSize.intValue()); - }else { + } else { // 不进行分页 page.setCurrent(1); page.setSize(-1); @@ -119,7 +127,7 @@ public class NoticeController { 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); + 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()) : "数据查询失败,请重试!"; diff --git a/Pinnacle/src/main/java/com/cfive/pinnacle/service/INoticeReceiveService.java b/Pinnacle/src/main/java/com/cfive/pinnacle/service/INoticeReceiveService.java index 00ca460..4cc9494 100644 --- a/Pinnacle/src/main/java/com/cfive/pinnacle/service/INoticeReceiveService.java +++ b/Pinnacle/src/main/java/com/cfive/pinnacle/service/INoticeReceiveService.java @@ -17,5 +17,5 @@ import java.util.List; public interface INoticeReceiveService extends IService { List selectByUserId(Integer readStatus); - Boolean modifyNoticeIsRead(Long noticeId,Integer readStatus); + Boolean modifyNoticeIsRead(Notice notice); } 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 c529fbd..23f434c 100644 --- a/Pinnacle/src/main/java/com/cfive/pinnacle/service/INoticeService.java +++ b/Pinnacle/src/main/java/com/cfive/pinnacle/service/INoticeService.java @@ -25,6 +25,8 @@ public interface INoticeService extends IService { Boolean updateNotice(Notice notice); + Boolean updateNoticeTop(Notice notice); + Boolean addNotice(Notice notice); IPage selectPageAllNotice(IPage page); diff --git a/Pinnacle/src/main/java/com/cfive/pinnacle/service/impl/NoticeReceiveServiceImpl.java b/Pinnacle/src/main/java/com/cfive/pinnacle/service/impl/NoticeReceiveServiceImpl.java index 418bc21..aa8d45c 100644 --- a/Pinnacle/src/main/java/com/cfive/pinnacle/service/impl/NoticeReceiveServiceImpl.java +++ b/Pinnacle/src/main/java/com/cfive/pinnacle/service/impl/NoticeReceiveServiceImpl.java @@ -31,10 +31,14 @@ public class NoticeReceiveServiceImpl extends ServiceImpl luw = new LambdaUpdateWrapper<>(); Long userId = WebUtil.getLoginUser().getUser().getId(); - luw.eq(NoticeReceive::getNoticeId, noticeId).eq(NoticeReceive::getUserId, userId).set(null!=readStatus,NoticeReceive::getAlreadyRead, readStatus); + luw.eq(NoticeReceive::getNoticeId, notice.getId()).eq(NoticeReceive::getUserId, userId).set(null!=readStatus,NoticeReceive::getAlreadyRead, readStatus); return noticeReceiveMapper.update(null,luw)>0; } } 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 022aa1e..9b71156 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,7 +5,8 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.cfive.pinnacle.entity.Notice; import com.cfive.pinnacle.entity.NoticeReceive; -import com.cfive.pinnacle.entity.NoticeType; +import com.cfive.pinnacle.entity.common.ResponseCode; +import com.cfive.pinnacle.entity.common.ResponseResult; import com.cfive.pinnacle.mapper.NoticeMapper; import com.cfive.pinnacle.mapper.NoticeReceiveMapper; import com.cfive.pinnacle.mapper.NoticeTypeMapper; @@ -15,11 +16,9 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.cfive.pinnacle.utils.WebUtil; 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; /** @@ -109,6 +108,12 @@ public class NoticeServiceImpl extends ServiceImpl impleme return this.addNotice(notice); } + @Override + public Boolean updateNoticeTop(Notice notice) { + notice.setTop(notice.getTop() == 1 ? 0 : 1); + return noticeMapper.updateById(notice) > 0; + } + @Override public Boolean addNotice(Notice notice) { Boolean noticeFlag,noticeRecFlag=false; diff --git a/ui/src/assets/svg/cancelTop.svg b/ui/src/assets/svg/cancelTop.svg new file mode 100644 index 0000000..46e6adc --- /dev/null +++ b/ui/src/assets/svg/cancelTop.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ui/src/components/notice/NoticeManageTable.vue b/ui/src/components/notice/NoticeManageTable.vue index bd59019..33c8f35 100644 --- a/ui/src/components/notice/NoticeManageTable.vue +++ b/ui/src/components/notice/NoticeManageTable.vue @@ -1,5 +1,5 @@

{{ contentSubstr(notice.content) }}

@@ -62,19 +50,31 @@ :style="{ left: left + 'px', top: top + 'px' }" class="contextmenu" > -
  • +
  • 置顶
  • -
  • +
  • + + + + 取消置顶 +
  • +
  • 标为已读
  • -
  • +
  • @@ -109,22 +109,28 @@