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)) {