From 212a59db0f342924c0ad72e8ec640684de514702 Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期二, 17 三月 2026 10:01:00 +0800
Subject: [PATCH] 123

---
 server/dmmall_service/src/main/java/com/doumee/service/business/impl/CommentServiceImpl.java |   91 +++++++++++++++++++++++++++++++--------------
 1 files changed, 62 insertions(+), 29 deletions(-)

diff --git a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/CommentServiceImpl.java b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/CommentServiceImpl.java
index 31aedb8..f29d2fb 100644
--- a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/CommentServiceImpl.java
+++ b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/CommentServiceImpl.java
@@ -12,14 +12,8 @@
 import com.doumee.core.model.PageWrap;
 import com.doumee.core.utils.Constants;
 import com.doumee.core.utils.Utils;
-import com.doumee.dao.business.CommentJoinMapper;
-import com.doumee.dao.business.CommentMapper;
-import com.doumee.dao.business.MemberMapper;
-import com.doumee.dao.business.MultifileMapper;
-import com.doumee.dao.business.model.Activity;
-import com.doumee.dao.business.model.Comment;
-import com.doumee.dao.business.model.Member;
-import com.doumee.dao.business.model.Multifile;
+import com.doumee.dao.business.*;
+import com.doumee.dao.business.model.*;
 import com.doumee.dao.web.dto.CommentDTO;
 import com.doumee.dao.web.dto.ZanDTO;
 import com.doumee.dao.web.dto.activity.ActivityCommentDTO;
@@ -57,6 +51,9 @@
     private MemberMapper memberMapper;
 
     @Autowired
+    private NoticeMapper noticeMapper;
+
+    @Autowired
     private ZanService zanService;
 
     @Autowired
@@ -90,14 +87,23 @@
             );
             reply = Optional.ofNullable(reply).orElseThrow(() -> new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "鍥炲鐩爣涓嶅瓨鍦�"));
             target.setReplyId(reply.getId());
-            target.setReplyMemberId(reply.getMemberId());
-            target.setReplyMemberNikeName(reply.getReplyMemberNikeName());
-            target.setCommentId(reply.getId());
-            target.setCommentMemberId(reply.getMemberId());
+            target.setCommentId(Objects.isNull(reply.getCommentId())?reply.getId():reply.getCommentId());
             target.setType(Constants.ONE);
-        }
+            target.setCommentMemberId(reply.getMemberId());
 
-        if (comment.getCommentId() != null ){
+            if(!Constants.equalsInteger(memberId,reply.getMemberId())){
+                Member member = memberMapper.selectById(memberId);
+                //璇勮鍙戦�佺敤鎴锋秷鎭�
+                //鍙戦�佹牳閿�閫氱煡
+                Notice notice = Notice.getNotice(
+                        Constants.NoticeType.COMMENT,
+                        reply.getMemberId(),
+                        reply.getActivityId()
+                );
+                notice.setContent(notice.getContent().replace("{param}",member.getNickname()));
+                noticeMapper.insert(notice);
+            }
+        }else if(comment.getCommentId() != null ){
             Comment reply = commentMapper.selectById(comment.getCommentId());
             reply = Optional.ofNullable(reply).orElseThrow(() -> new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "涓�绾ц瘎璁虹洰鏍囦笉瀛樺湪"));
             target.setCommentId(reply.getCommentId());
@@ -138,8 +144,18 @@
 
 
     @Override
-    public void deleteById(Integer id) {
-        commentMapper.deleteById(id);
+    public void deleteById(Integer id,Integer memberId) {
+        Comment comment = commentMapper.selectById(id);
+        if(Objects.isNull(comment)){
+            throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "璇勮涓嶅瓨鍦�");
+        }
+        if(!Constants.equalsInteger(memberId,comment.getMemberId())){
+            throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "闈炴偍鐨勮瘎璁烘棤鏉冮檺鍒犻櫎");
+        }
+        commentMapper.update(new UpdateWrapper<Comment>().lambda()
+                .set(Comment::getIsdeleted,Constants.ONE)
+                .eq(Comment::getId,id)
+        );
     }
 
     @Override
@@ -247,7 +263,7 @@
         queryWrapper.eq(Comment::getType, Constants.ZERO);
         queryWrapper.eq(Comment::getStatus, Constants.ZERO);
         queryWrapper.eq(Comment::getActivityId,pageWrap.getModel().getActivityId());
-        queryWrapper.orderByDesc(Comment::getId);
+        queryWrapper.orderByAsc(Comment::getId);
         IPage<ActivityCommentDTO> result = commentJoinMapper.selectJoinPage(page, ActivityCommentDTO.class, queryWrapper);
 
         if (CollectionUtils.isEmpty(result.getRecords())){
@@ -258,6 +274,8 @@
         MPJLambdaWrapper<Comment> replyWrapper = new MPJLambdaWrapper<>();
         Utils.MP.blankToNull(pageWrap.getModel());
         replyWrapper.selectAs(Comment::getId,ActivityReplyCommentDTO::getId);
+        replyWrapper.selectAs(Comment::getReplyId,ActivityReplyCommentDTO::getReplyId);
+        replyWrapper.selectAs(Comment::getIsdeleted,ActivityReplyCommentDTO::getIsdeleted);
         if(Objects.isNull(pageWrap.getModel().getMemberId())){
             replyWrapper.select(" 0 ",ActivityReplyCommentDTO::getZanStatus);
         }else{
@@ -271,7 +289,9 @@
         replyWrapper.selectAs(Member::getImgurl,ActivityReplyCommentDTO::getMemberImgUrl);
         replyWrapper.selectCount(Comment::getId,ActivityReplyCommentDTO::getReplyCount);
         replyWrapper.selectMin(Comment::getCreateDate,ActivityReplyCommentDTO::getCreateDate);
+        replyWrapper.select("reply.NICKNAME",ActivityReplyCommentDTO::getReplyMemberNikeName);
         replyWrapper.leftJoin(Member.class,Member::getId,Comment::getMemberId);
+        replyWrapper.leftJoin("member reply on reply.id = t.REPLY_MEMBER_ID");
         replyWrapper.eq(Comment::getType, Constants.ONE);
         replyWrapper.eq(Comment::getStatus, Constants.ZERO);
         replyWrapper.in(Comment::getCommentId,commentIds);
@@ -299,17 +319,25 @@
             }
         }
         result.getRecords().forEach(s->{
-            s.setMemberImgUrl(StringUtils.isNotBlank(s.getMemberImgUrl())?memberFile+s.getMemberImgUrl():null);
-            if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(multifileList)){
-                s.setMultifileList(multifileList.stream().filter(t -> t.getObjId().equals(s.getId())).collect(Collectors.toList()));
+            if(Constants.equalsInteger(s.getIsdeleted(),Constants.ONE)){
+                s.setContent("璇ヨ瘎璁哄凡琚師浣滆�呭垹闄�");
+            }else{
+                if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(multifileList)){
+                    s.setMultifileList(multifileList.stream().filter(t -> t.getObjId().equals(s.getId())).collect(Collectors.toList()));
+                }
             }
+            s.setMemberImgUrl(StringUtils.isNotBlank(s.getMemberImgUrl())?memberFile+s.getMemberImgUrl():null);
             ZanDTO object = MapUtils.getObject(count, s.getId());
             ActivityReplyCommentDTO replyCommentDTO = collect.get(s.getId());
             if(Objects.nonNull(replyCommentDTO)){
                 ZanDTO replyZan = MapUtils.getObject(count, replyCommentDTO.getId());
                 replyCommentDTO.setZanCount(replyZan != null ? replyZan.getCount() : 0);
-                if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(multifileList)){
-                    replyCommentDTO.setMultifileList(multifileList.stream().filter(t -> t.getObjId().equals(s.getId())).collect(Collectors.toList()));
+                if(Constants.equalsInteger(replyCommentDTO.getIsdeleted(),Constants.ONE)){
+                    replyCommentDTO.setContent("璇ヨ瘎璁哄凡琚師浣滆�呭垹闄�");
+                }else{
+                    if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(multifileList)){
+                        replyCommentDTO.setMultifileList(multifileList.stream().filter(t -> t.getObjId().equals(replyCommentDTO.getId())).collect(Collectors.toList()));
+                    }
                 }
                 replyCommentDTO.setMemberImgUrl(StringUtils.isNotBlank(replyCommentDTO.getMemberImgUrl())?memberFile+replyCommentDTO.getMemberImgUrl():null);
                 s.setActivityReplyCommentDTO(replyCommentDTO);
@@ -337,12 +365,15 @@
         queryWrapper.select(" (select count(1) from zan z where z.OBJ_ID = t.id and z.ISDELETED = 0 and z.OBJ_TYPE = 0)  ",ActivityReplyCommentDTO::getZanCount);
         queryWrapper.select("reply.NICKNAME as replyMemberNikeName");
         queryWrapper.leftJoin(Member.class,Member::getId,Comment::getMemberId);
-        queryWrapper.leftJoin("member reply on reply.id = t.REPLY_MEMBER_ID");
+        queryWrapper.leftJoin("member reply on reply.id = t.COMMENT_MEMBER_ID");
         queryWrapper.eq(Comment::getType, Constants.ONE);
         queryWrapper.eq(Comment::getStatus, Constants.ZERO);
         queryWrapper.eq(Comment::getCommentId,pageWrap.getModel().getCommentId());
+        queryWrapper.orderByAsc(Comment::getId);
         IPage<ActivityReplyCommentDTO> result = commentJoinMapper.selectJoinPage(page, ActivityReplyCommentDTO.class, queryWrapper);
-
+        if (CollectionUtils.isEmpty(result.getRecords())){
+            return PageData.from(result);
+        }
         String path = systemDictDataBiz.queryByCode(Constants.OSS, Constants.RESOURCE_PATH).getCode();
         String memberFile = path + systemDictDataBiz.queryByCode(Constants.OSS, Constants.MEMBER_FILE).getCode();
         String commentFile = path + systemDictDataBiz.queryByCode(Constants.OSS, Constants.COMMENT_FILE).getCode();
@@ -359,20 +390,22 @@
             }
         }
         List<Integer> integerStream = result.getRecords().stream().map(s -> s.getId()).collect(Collectors.toList());
-
         Map<Integer, ZanDTO> count = zanService.count(integerStream);
         result.getRecords().forEach(s->{
-            s.setMemberImgUrl(StringUtils.isNotBlank(s.getMemberImgUrl())?memberFile+s.getMemberImgUrl():null);
-            if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(multifileList)){
-                s.setMultifileList(multifileList.stream().filter(t -> t.getObjId().equals(s.getId())).collect(Collectors.toList()));
+            if(Constants.equalsInteger(s.getIsdeleted(),Constants.ONE)){
+                s.setContent("璇ヨ瘎璁哄凡琚師浣滆�呭垹闄�");
+            }else{
+                if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(multifileList)){
+                    s.setMultifileList(multifileList.stream().filter(t -> t.getObjId().equals(s.getId())).collect(Collectors.toList()));
+                }
             }
+            s.setMemberImgUrl(StringUtils.isNotBlank(s.getMemberImgUrl())?memberFile+s.getMemberImgUrl():null);
             ZanDTO replyZan = MapUtils.getObject(count, s.getId());
             s.setZanCount(replyZan != null ? replyZan.getCount() : 0);
             if (pageWrap.getModel().getCommentId().equals(s.getReplyId())){
                 s.setReplyMemberNikeName(null);
             }
         });
-
         return PageData.from(result);
     }
 }

--
Gitblit v1.9.3