From 1241ffa9e24a8febe33603cd4eac74cfdc182138 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=87=E4=BD=B3?= Date: Tue, 7 Sep 2021 15:25:49 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0type=E5=AD=97=E6=AE=B5?= =?UTF-8?q?=EF=BC=8C=E5=AE=8C=E5=96=84service=E7=BB=86=E8=8A=82=EF=BC=8C?= =?UTF-8?q?=E5=AE=8C=E5=96=84=E5=8D=95=E5=85=83=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ..._notification.sql => gns-notification.sql} | 6 +++- .../model/dao/entity/SysNotification.java | 10 +++++++ .../dao/mapper/SysNotificationMapper.java | 9 ++++-- .../notification/SysNotificationService.java | 8 +++-- .../impl/SysNotificationServiceImpl.java | 15 ++++++---- .../notification/SysNotificationMapper.xml | 30 ++++++++++++++----- .../service/notification/ServiceTests.java | 8 +++-- 7 files changed, 65 insertions(+), 21 deletions(-) rename db/{gns_notification.sql => gns-notification.sql} (86%) diff --git a/db/gns_notification.sql b/db/gns-notification.sql similarity index 86% rename from db/gns_notification.sql rename to db/gns-notification.sql index a51d1a0..e8347b9 100644 --- a/db/gns_notification.sql +++ b/db/gns-notification.sql @@ -25,4 +25,8 @@ CREATE TABLE `gitlink_sys_notification` ( PRIMARY KEY (`id`), KEY `index_on_receiver_and_status` (`receiver`,`status`), KEY `index_on_status` (`status`) -) ENGINE=INNODB DEFAULT CHARSET=utf8mb3; \ No newline at end of file +) ENGINE=INNODB DEFAULT CHARSET=utf8mb3; + +--2021-09-07 区分系统消息类型 +ALTER TABLE gitlink_sys_notification ADD COLUMN +( `type` TINYINT(4) NOT NULL DEFAULT 1 COMMENT '消息类型: 1系统消息,2@我'); \ No newline at end of file diff --git a/model/src/main/java/cn/org/gitlink/notification/model/dao/entity/SysNotification.java b/model/src/main/java/cn/org/gitlink/notification/model/dao/entity/SysNotification.java index 8165532..cb9f319 100644 --- a/model/src/main/java/cn/org/gitlink/notification/model/dao/entity/SysNotification.java +++ b/model/src/main/java/cn/org/gitlink/notification/model/dao/entity/SysNotification.java @@ -21,6 +21,8 @@ public class SysNotification { private Byte status; + private Byte type; + private Boolean isDelete; public Integer getId() { @@ -79,6 +81,14 @@ public class SysNotification { this.status = status; } + public Byte getType() { + return type; + } + + public void setType(Byte type) { + this.type = type; + } + public Boolean getIsDelete() { return isDelete; } diff --git a/model/src/main/java/cn/org/gitlink/notification/model/dao/mapper/SysNotificationMapper.java b/model/src/main/java/cn/org/gitlink/notification/model/dao/mapper/SysNotificationMapper.java index 7bb57e6..80dcfe9 100644 --- a/model/src/main/java/cn/org/gitlink/notification/model/dao/mapper/SysNotificationMapper.java +++ b/model/src/main/java/cn/org/gitlink/notification/model/dao/mapper/SysNotificationMapper.java @@ -21,7 +21,7 @@ public interface SysNotificationMapper extends BaseMapper { int updateByPrimaryKey(@Param("platform") String platform,@Param("record") SysNotification record); int updateStatusByNotificationId(@Param("platform") String platform, - @Param("notificationId") Integer notificationId, + @Param("notificationIds") String notificationIds, @Param("status") Byte status); int getNewSysNotificationNumber(@Param("platform") String platform, @@ -29,9 +29,14 @@ public interface SysNotificationMapper extends BaseMapper { List getUnreadSysNotificationsList(@Param("platform") String platform, @Param("receiver") Integer receiver, - @Param("status") byte status); + @Param("status") byte status, + @Param("notificationNumber") Integer notificationNumber); List getSysNotificationPageList(Page page, String orderBy, @Param("platform") String platform, @Param("receiver") Integer receiver); + + int getSysNotificationNumberByType(@Param("platform") String platform, + @Param("receiver") Integer receiver, + @Param("type") Byte type); } diff --git a/model/src/main/java/cn/org/gitlink/notification/model/service/notification/SysNotificationService.java b/model/src/main/java/cn/org/gitlink/notification/model/service/notification/SysNotificationService.java index 48f9f2a..99cb39b 100644 --- a/model/src/main/java/cn/org/gitlink/notification/model/service/notification/SysNotificationService.java +++ b/model/src/main/java/cn/org/gitlink/notification/model/service/notification/SysNotificationService.java @@ -9,11 +9,13 @@ import java.util.List; public interface SysNotificationService extends IService { int addSysNotificationForUsers(String platform, SysNotification sysNotification); - int changeStatusByNotificationIds(String platform, Integer notificationId, Byte status); + int changeStatusByNotificationIds(String platform, String notificationIds, Byte status); - int getNewSysNotificationNumber(String platform, Integer receiver); + int getAllNewSysNotificationNumber(String platform, Integer receiver); - List getUnreadSysNotificationsList(String platform, Integer receiver); + List getUnreadSysNotificationsList(String platform, Integer receiver, Integer notificationNumber); + + int getSysNotificationNumberByType(String platform, Integer receiver, Byte type); Page getAllSysNotificationsPageList(int curPage, int pageSize, String orderBy, String platform, Integer receiver); } diff --git a/model/src/main/java/cn/org/gitlink/notification/model/service/notification/impl/SysNotificationServiceImpl.java b/model/src/main/java/cn/org/gitlink/notification/model/service/notification/impl/SysNotificationServiceImpl.java index c50fb85..88c55df 100644 --- a/model/src/main/java/cn/org/gitlink/notification/model/service/notification/impl/SysNotificationServiceImpl.java +++ b/model/src/main/java/cn/org/gitlink/notification/model/service/notification/impl/SysNotificationServiceImpl.java @@ -18,21 +18,26 @@ public class SysNotificationServiceImpl extends ServiceImpl getUnreadSysNotificationsList(String platform, Integer receiver) { - List sysNotificationList = baseMapper.getUnreadSysNotificationsList(platform, receiver, (byte) 1); + public List getUnreadSysNotificationsList(String platform, Integer receiver, Integer notificationNumber) { + List sysNotificationList = baseMapper.getUnreadSysNotificationsList(platform, receiver, (byte) 1, notificationNumber); return sysNotificationList; } + @Override + public int getSysNotificationNumberByType(String platform, Integer receiver, Byte type) { + return baseMapper.getSysNotificationNumberByType(platform, receiver, type); + } + @Override public Page getAllSysNotificationsPageList(int curPage, int pageSize, String orderBy, String platform, Integer receiver) { Page page = new Page(curPage, pageSize); diff --git a/model/src/main/java/resources/mapper/notification/SysNotificationMapper.xml b/model/src/main/java/resources/mapper/notification/SysNotificationMapper.xml index 662592a..6359602 100644 --- a/model/src/main/java/resources/mapper/notification/SysNotificationMapper.xml +++ b/model/src/main/java/resources/mapper/notification/SysNotificationMapper.xml @@ -9,10 +9,11 @@ + - id, sender, receiver, content, notification_url, created_at, status, is_delete + id, sender, receiver, content, notification_url, created_at, status, type, is_delete select count(`receiver`) from ${platform}_sys_notification - where receiver = #{receiver} and status = 1 + where receiver = #{receiver} and status = 1 AND is_delete = -1 + +