From 15b28fe6b54817da8b9b07717971bddd22697964 Mon Sep 17 00:00:00 2001 From: tianfeng <769204422@qq.com> Date: Wed, 4 Feb 2026 18:05:31 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AF=84=E8=AE=BA=E6=96=B0=E5=A2=9EreplyCommen?= =?UTF-8?q?tId=E5=AD=97=E6=AE=B5=20=E5=85=B3=E8=81=94=E4=B8=8A=E7=BA=A7?= =?UTF-8?q?=E8=AF=84=E8=AE=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../other/app/command/dynamic/DynamicCommentCmdExe.java | 1 + .../command/dynamic/delete/DynamicCommentDelCmdExe.java | 9 +++++---- .../command/dynamic/query/DynamicChildCommentQryExe.java | 1 + .../app/command/dynamic/query/DynamicCommentQryExe.java | 1 + .../dto/clientobject/dynamic/DynamicCommentListCO.java | 6 ++++++ .../other/app/dto/cmd/dynamic/DynamicCommentCmd.java | 5 +++++ .../database/rds/entity/dynamic/DynamicComment.java | 6 ++++++ .../rds/service/dynamic/DynamicCommentService.java | 6 ++++++ .../service/dynamic/impl/DynamicCommentServiceImpl.java | 8 ++++++++ 9 files changed, 39 insertions(+), 4 deletions(-) diff --git a/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/dynamic/DynamicCommentCmdExe.java b/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/dynamic/DynamicCommentCmdExe.java index 28e874f1..63def7f0 100644 --- a/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/dynamic/DynamicCommentCmdExe.java +++ b/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/dynamic/DynamicCommentCmdExe.java @@ -197,6 +197,7 @@ public class DynamicCommentCmdExe { if (Objects.nonNull(cmd.getToUserId())) { comment.setRootCommentId(cmd.getRootCommentId()); } + comment.setReplyCommentId(cmd.getCommentId()); dynamicCommentService.save(comment); return comment; diff --git a/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/dynamic/delete/DynamicCommentDelCmdExe.java b/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/dynamic/delete/DynamicCommentDelCmdExe.java index 422b9c6d..da13325f 100644 --- a/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/dynamic/delete/DynamicCommentDelCmdExe.java +++ b/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/dynamic/delete/DynamicCommentDelCmdExe.java @@ -68,6 +68,7 @@ public class DynamicCommentDelCmdExe { updateScore(cmd, comment); dynamicCommentService.deleteByRootCommentId(cmd.getId()); + dynamicCommentService.deleteByReplyCommentId(cmd.getId()); dynamicCommentLikeService.deleteByRootCommentId(cmd.getId()); Integer dynamicCommentCount = dynamicCommentService @@ -95,12 +96,12 @@ public class DynamicCommentDelCmdExe { private Long deleteComment(AppIdLongCmd cmd, DynamicComment comment) { dynamicCommentService.deleteById(cmd.getId()); + dynamicCommentService.deleteByReplyCommentId(cmd.getId()); - dynamicPopularService.updateScore(comment.getDynamicContentId(), - -(getCommentLikeQuantity(comment).intValue() * dynamicCacheService.getLikeScore()), - cmd.getReqSysOrigin().getOrigin(), null); + Integer dynamicCommentCount = dynamicCommentService + .getNumberByDynamicId(comment.getDynamicContentId()); - return dynamicCacheService.updateCommentQuantity(comment.getDynamicContentId(), -1); + return dynamicCacheService.initCommentQuantity(comment.getDynamicContentId(), dynamicCommentCount).longValue(); } private Long getCommentLikeQuantity(DynamicComment comment) { diff --git a/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/dynamic/query/DynamicChildCommentQryExe.java b/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/dynamic/query/DynamicChildCommentQryExe.java index 777deb94..27eea702 100644 --- a/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/dynamic/query/DynamicChildCommentQryExe.java +++ b/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/dynamic/query/DynamicChildCommentQryExe.java @@ -56,6 +56,7 @@ public class DynamicChildCommentQryExe { listCO.setUserSex(createUser.getUserSex()); listCO.setUserId(createUser.getId()); listCO.setRootCommentId(comment.getRootCommentId()); + listCO.setReplyCommentId(comment.getReplyCommentId()); UserProfile toUser = userMap.get(comment.getToUserId()); if (Objects.nonNull(toUser)) { diff --git a/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/dynamic/query/DynamicCommentQryExe.java b/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/dynamic/query/DynamicCommentQryExe.java index b59458c2..e45ab5fb 100644 --- a/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/dynamic/query/DynamicCommentQryExe.java +++ b/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/dynamic/query/DynamicCommentQryExe.java @@ -73,6 +73,7 @@ public class DynamicCommentQryExe { listCO.setUserSex(createUser.getUserSex()); listCO.setUserId(createUser.getId()); listCO.setRootCommentId(comment.getRootCommentId()); + listCO.setReplyCommentId(comment.getReplyCommentId()); UserProfile toUser = userMap.get(comment.getToUserId()); if (Objects.nonNull(toUser)) { diff --git a/rc-service/rc-service-other/other-client/src/main/java/com/red/circle/other/app/dto/clientobject/dynamic/DynamicCommentListCO.java b/rc-service/rc-service-other/other-client/src/main/java/com/red/circle/other/app/dto/clientobject/dynamic/DynamicCommentListCO.java index 996a39f3..ea77b53d 100644 --- a/rc-service/rc-service-other/other-client/src/main/java/com/red/circle/other/app/dto/clientobject/dynamic/DynamicCommentListCO.java +++ b/rc-service/rc-service-other/other-client/src/main/java/com/red/circle/other/app/dto/clientobject/dynamic/DynamicCommentListCO.java @@ -94,6 +94,12 @@ public class DynamicCommentListCO extends ClientObject { */ private Long rootCommentId; + + /** + * 回复评论ID + */ + private Long replyCommentId; + /** * 子评论数量(仅根评论有值) */ diff --git a/rc-service/rc-service-other/other-client/src/main/java/com/red/circle/other/app/dto/cmd/dynamic/DynamicCommentCmd.java b/rc-service/rc-service-other/other-client/src/main/java/com/red/circle/other/app/dto/cmd/dynamic/DynamicCommentCmd.java index 9e01c460..75718a28 100644 --- a/rc-service/rc-service-other/other-client/src/main/java/com/red/circle/other/app/dto/cmd/dynamic/DynamicCommentCmd.java +++ b/rc-service/rc-service-other/other-client/src/main/java/com/red/circle/other/app/dto/cmd/dynamic/DynamicCommentCmd.java @@ -39,6 +39,11 @@ public class DynamicCommentCmd extends AppExtCommand { */ private Long toUserId; + /** + * 评论ID + */ + private Long commentId; + /** * 根评论ID */ diff --git a/rc-service/rc-service-other/other-infrastructure/src/main/java/com/red/circle/other/infra/database/rds/entity/dynamic/DynamicComment.java b/rc-service/rc-service-other/other-infrastructure/src/main/java/com/red/circle/other/infra/database/rds/entity/dynamic/DynamicComment.java index 7e731324..a048afbe 100644 --- a/rc-service/rc-service-other/other-infrastructure/src/main/java/com/red/circle/other/infra/database/rds/entity/dynamic/DynamicComment.java +++ b/rc-service/rc-service-other/other-infrastructure/src/main/java/com/red/circle/other/infra/database/rds/entity/dynamic/DynamicComment.java @@ -54,6 +54,12 @@ public class DynamicComment extends TimestampBaseEntity { @TableField("root_comment_id") private Long rootCommentId; + /** + * 回复评论ID + */ + @TableField("reply_comment_id") + private Long replyCommentId; + /** * 热度分数 */ diff --git a/rc-service/rc-service-other/other-infrastructure/src/main/java/com/red/circle/other/infra/database/rds/service/dynamic/DynamicCommentService.java b/rc-service/rc-service-other/other-infrastructure/src/main/java/com/red/circle/other/infra/database/rds/service/dynamic/DynamicCommentService.java index 7b2cfcdc..adfe01a0 100644 --- a/rc-service/rc-service-other/other-infrastructure/src/main/java/com/red/circle/other/infra/database/rds/service/dynamic/DynamicCommentService.java +++ b/rc-service/rc-service-other/other-infrastructure/src/main/java/com/red/circle/other/infra/database/rds/service/dynamic/DynamicCommentService.java @@ -85,6 +85,12 @@ public interface DynamicCommentService extends BaseService { */ void deleteByRootCommentId(Long rootCommentId); + /** + * 根据回复评论id删除 + * + */ + void deleteByReplyCommentId(Long rootCommentId); + /** * 根据评论id删除评论 * diff --git a/rc-service/rc-service-other/other-infrastructure/src/main/java/com/red/circle/other/infra/database/rds/service/dynamic/impl/DynamicCommentServiceImpl.java b/rc-service/rc-service-other/other-infrastructure/src/main/java/com/red/circle/other/infra/database/rds/service/dynamic/impl/DynamicCommentServiceImpl.java index 1320cb18..27eef416 100644 --- a/rc-service/rc-service-other/other-infrastructure/src/main/java/com/red/circle/other/infra/database/rds/service/dynamic/impl/DynamicCommentServiceImpl.java +++ b/rc-service/rc-service-other/other-infrastructure/src/main/java/com/red/circle/other/infra/database/rds/service/dynamic/impl/DynamicCommentServiceImpl.java @@ -149,6 +149,14 @@ public class DynamicCommentServiceImpl extends delete().eq(DynamicComment::getId, rootCommentId).last(PageConstant.LIMIT_ONE).execute(); } + @Override + public void deleteByReplyCommentId(Long replyCommentId) { + if (Objects.isNull(replyCommentId)) { + return; + } + delete().eq(DynamicComment::getReplyCommentId, replyCommentId).execute(); + } + @Override public void deleteById(Long id) { if (Objects.isNull(id)) {