From a1828094e5e7d89aae376473c4880903fc5d911d Mon Sep 17 00:00:00 2001 From: little-cat-sweet <2116400472@qq.com> Date: Fri, 6 Aug 2021 11:07:10 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E9=80=9A=E7=9F=A5=E4=B8=A4?= =?UTF-8?q?=E4=B8=AA=E5=B0=8Fbug=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/SysNoticeController.java | 15 +----- .../xhpc/system/mapper/SysNoticeMapper.java | 12 ++++- .../system/service/ISysNoticeService.java | 8 +--- .../service/impl/SysNoticeServiceImpl.java | 46 +++++++++++++++---- .../mapper/system/SysNoticeMapper.xml | 9 +++- 5 files changed, 56 insertions(+), 34 deletions(-) diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/xhpc/system/controller/SysNoticeController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/xhpc/system/controller/SysNoticeController.java index 0f1e7af3..c368c439 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/xhpc/system/controller/SysNoticeController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/xhpc/system/controller/SysNoticeController.java @@ -91,10 +91,10 @@ public class SysNoticeController extends BaseController * @return */ @GetMapping(value = "/show") - public TableDataInfo show(){ + public TableDataInfo show(@RequestParam Long userId){ startPage(); - return getDataTable(noticeService.show()); + return getDataTable(noticeService.show(userId)); } /** @@ -109,17 +109,6 @@ public class SysNoticeController extends BaseController } - /** - * Showing ids which have not been read in small app. - * @param userId - * @return - */ - @GetMapping(value = "/showNotReadIds") - public AjaxResult showNotReadIds(Integer userId){ - - return AjaxResult.success(noticeService.showNotReadIds(userId)); - } - @PostMapping("/add") public AjaxResult add(@RequestBody SysXhpcNoticeReadEntity sysXhpcNoticeReadEntity){ diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/xhpc/system/mapper/SysNoticeMapper.java b/ruoyi-modules/ruoyi-system/src/main/java/com/xhpc/system/mapper/SysNoticeMapper.java index 1d4772bf..8a2efecc 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/xhpc/system/mapper/SysNoticeMapper.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/xhpc/system/mapper/SysNoticeMapper.java @@ -65,7 +65,7 @@ public interface SysNoticeMapper * Showing notice items in the small app. * @return */ - List> selectTypeContentCreateTime(); + List> selectTypeContentCreateTimeId(); /** * Show the number of notices which have not been read in small app. @@ -75,7 +75,15 @@ public interface SysNoticeMapper int countNotRead(@Param("userId") Integer userId); - List> selectNotReadIds(@Param("userId") Integer userId); + /** + * Showing ids which have not been read in small app. + * @param userId + * @return + */ + List> selectNotReadIds(@Param("userId") Long userId); + + + int insertIntoRead(@Param("noticeId") Integer noticeId,@Param("userId") Long userId); diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/xhpc/system/service/ISysNoticeService.java b/ruoyi-modules/ruoyi-system/src/main/java/com/xhpc/system/service/ISysNoticeService.java index f3465ecb..a22f6106 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/xhpc/system/service/ISysNoticeService.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/xhpc/system/service/ISysNoticeService.java @@ -66,7 +66,7 @@ public interface ISysNoticeService * Showing notice items in small app. * @return */ - List> show(); + List> show(Long userId); /** * Showing the number of notices which have not been read in small app. @@ -75,12 +75,6 @@ public interface ISysNoticeService */ int showNotRead(Integer userId); - /** - * Showing ids which have not been read in small app. - * @param userId - * @return - */ - List> showNotReadIds(Integer userId); AjaxResult addReadItem(Integer noticeId,Long userId); diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/xhpc/system/service/impl/SysNoticeServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/xhpc/system/service/impl/SysNoticeServiceImpl.java index d389cb91..c0baaa59 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/xhpc/system/service/impl/SysNoticeServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/xhpc/system/service/impl/SysNoticeServiceImpl.java @@ -95,9 +95,28 @@ public class SysNoticeServiceImpl implements ISysNoticeService @Override - public List> show() { + public List> show(Long userId) { + //If status's value equals zero it means read, if not not read. + List> list=noticeMapper.selectTypeContentCreateTimeId(); + List> readId=noticeMapper.selectNotReadIds(userId); + for(Map value1:list){ + int temp1= (int) value1.get("noticeId"); + boolean flag=false; + for(Map value2:readId){ + int temp2=(int)value2.get("noticeId"); + if(temp1==temp2){ + flag=true; + value1.put("status",1); + break; + } + } + if(!flag){ + value1.put("status",0); + } - return noticeMapper.selectTypeContentCreateTime(); + } + + return list; } @Override @@ -106,18 +125,25 @@ public class SysNoticeServiceImpl implements ISysNoticeService return noticeMapper.countNotRead(userId); } - @Override - public List> showNotReadIds(Integer userId) { - - return noticeMapper.selectNotReadIds(userId); - } @Override public AjaxResult addReadItem(Integer noticeId, Long userId) { - int res=noticeMapper.insertIntoRead(noticeId, userId); - if(res==0){ - return AjaxResult.error("插入失败"); + List> notReadIds=noticeMapper.selectNotReadIds(userId); + boolean flag=false; + for(Map value:notReadIds){ + int temp1=(int)value.get("noticeId"); + if(noticeId==temp1){ + flag=true; + break; + } + + } + if (flag) { + int res = noticeMapper.insertIntoRead(noticeId, userId); + if (res == 0) { + return AjaxResult.error("插入失败"); + } } return AjaxResult.success(); } diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysNoticeMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysNoticeMapper.xml index 585a2040..49fd7913 100644 --- a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysNoticeMapper.xml +++ b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysNoticeMapper.xml @@ -95,9 +95,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - - select notice_type as noticeType, cast(notice_content as char) as noticeContent,create_time as createTime + select notice_type as noticeType, + cast(notice_content as char) as noticeContent, + create_time as createTime, + notice_id as noticeId from sys_notice @@ -115,6 +118,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where r.user_id=#{userId} ) + +