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