From cc23959133af0496ed8b12e46556ba70956c9cd8 Mon Sep 17 00:00:00 2001 From: ronger Date: Thu, 26 May 2022 15:43:53 +0800 Subject: [PATCH] =?UTF-8?q?:bug:=20=E4=BF=AE=E5=A4=8D=E6=96=87=E7=AB=A0?= =?UTF-8?q?=E8=A2=AB=E5=88=A0=E9=99=A4=EF=BC=8C=E6=B6=88=E6=81=AF=E4=B8=AD?= =?UTF-8?q?=E5=BF=83=E6=AE=8B=E7=95=99=E6=9C=AA=E8=AF=BB=E6=B6=88=E6=81=AF?= =?UTF-8?q?=E9=97=AE=E9=A2=98=EF=BC=88=E5=A6=82=E6=96=87=E7=AB=A0=E8=A2=AB?= =?UTF-8?q?=E5=88=A0=E9=99=A4=E5=88=99=E6=B8=85=E9=99=A4=E7=9B=B8=E5=85=B3?= =?UTF-8?q?=E6=9C=AA=E8=AF=BB=E6=B6=88=E6=81=AF=E9=80=9A=E7=9F=A5=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/rymcu/forest/mapper/NotificationMapper.java | 8 ++++++++ .../com/rymcu/forest/service/NotificationService.java | 8 ++++++++ .../com/rymcu/forest/service/impl/ArticleServiceImpl.java | 5 +++++ .../forest/service/impl/NotificationServiceImpl.java | 5 +++++ src/main/java/mapper/NotificationMapper.xml | 3 +++ 5 files changed, 29 insertions(+) diff --git a/src/main/java/com/rymcu/forest/mapper/NotificationMapper.java b/src/main/java/com/rymcu/forest/mapper/NotificationMapper.java index fee64a9..d0257eb 100644 --- a/src/main/java/com/rymcu/forest/mapper/NotificationMapper.java +++ b/src/main/java/com/rymcu/forest/mapper/NotificationMapper.java @@ -58,4 +58,12 @@ public interface NotificationMapper extends Mapper { * @return */ Integer readAllNotification(@Param("idUser") Integer idUser); + + /** + * 删除相关未读消息 + * @param dataId + * @param dataType + * @return + */ + Integer deleteUnreadNotification(@Param("dataId") Integer dataId, @Param("dataType") String dataType); } diff --git a/src/main/java/com/rymcu/forest/service/NotificationService.java b/src/main/java/com/rymcu/forest/service/NotificationService.java index da7109b..1b3e461 100644 --- a/src/main/java/com/rymcu/forest/service/NotificationService.java +++ b/src/main/java/com/rymcu/forest/service/NotificationService.java @@ -58,4 +58,12 @@ public interface NotificationService extends Service { * @throws BaseApiException */ Integer readAllNotification() throws BaseApiException; + + /** + * 删除相关未读消息 + * @param dataId + * @param dataType + * @return + */ + Integer deleteUnreadNotification(Integer dataId, String dataType); } diff --git a/src/main/java/com/rymcu/forest/service/impl/ArticleServiceImpl.java b/src/main/java/com/rymcu/forest/service/impl/ArticleServiceImpl.java index 2fc19f9..f0bc2f2 100644 --- a/src/main/java/com/rymcu/forest/service/impl/ArticleServiceImpl.java +++ b/src/main/java/com/rymcu/forest/service/impl/ArticleServiceImpl.java @@ -10,6 +10,7 @@ import com.rymcu.forest.entity.User; import com.rymcu.forest.lucene.service.LuceneService; import com.rymcu.forest.mapper.ArticleMapper; import com.rymcu.forest.service.ArticleService; +import com.rymcu.forest.service.NotificationService; import com.rymcu.forest.service.TagService; import com.rymcu.forest.service.UserService; import com.rymcu.forest.util.*; @@ -43,6 +44,8 @@ public class ArticleServiceImpl extends AbstractService
implements Arti private UserService userService; @Resource private LuceneService luceneService; + @Resource + private NotificationService notificationService; @Value("${resource.domain}") private String domain; @@ -257,6 +260,8 @@ public class ArticleServiceImpl extends AbstractService
implements Arti articleMapper.deleteTagArticle(id); // 删除文章内容表 articleMapper.deleteArticleContent(id); + // 删除相关未读消息 + notificationService.deleteUnreadNotification(id, NotificationConstant.PostArticle); } @Override diff --git a/src/main/java/com/rymcu/forest/service/impl/NotificationServiceImpl.java b/src/main/java/com/rymcu/forest/service/impl/NotificationServiceImpl.java index c409d8e..18143ea 100644 --- a/src/main/java/com/rymcu/forest/service/impl/NotificationServiceImpl.java +++ b/src/main/java/com/rymcu/forest/service/impl/NotificationServiceImpl.java @@ -77,4 +77,9 @@ public class NotificationServiceImpl extends AbstractService imple public Integer readAllNotification() throws BaseApiException { return notificationMapper.readAllNotification(Objects.requireNonNull(UserUtils.getCurrentUserByToken()).getIdUser()); } + + @Override + public Integer deleteUnreadNotification(Integer dataId, String dataType) { + return notificationMapper.deleteUnreadNotification(dataId, dataType); + } } diff --git a/src/main/java/mapper/NotificationMapper.xml b/src/main/java/mapper/NotificationMapper.xml index 3e68965..bcbbfd2 100644 --- a/src/main/java/mapper/NotificationMapper.xml +++ b/src/main/java/mapper/NotificationMapper.xml @@ -28,6 +28,9 @@ update forest_notification set has_read = '1' where id_user = #{idUser} and has_read = '0' + + delete from forest_notification where has_read = '0' and data_id = #{dataId} and data_type = #{dataType} +