From 6cfc2e4258089c953b67054229170c1178585590 Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期一, 23 三月 2026 14:19:33 +0800
Subject: [PATCH] 小程序   接口开发

---
 server/dmmall_service/src/main/java/com/doumee/service/business/impl/CommentServiceImpl.java |   38 ++++++++++++++++++++++++++++++++++++--
 1 files changed, 36 insertions(+), 2 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 e9f20e7..c1cba43 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
@@ -1,5 +1,7 @@
 package com.doumee.service.business.impl;
 
+import cn.binarywang.wx.miniapp.bean.security.WxMaMsgSecCheckCheckRequest;
+import cn.binarywang.wx.miniapp.bean.security.WxMaMsgSecCheckCheckResponse;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -12,6 +14,7 @@
 import com.doumee.core.model.PageWrap;
 import com.doumee.core.utils.Constants;
 import com.doumee.core.utils.Utils;
+import com.doumee.core.wx.WxMiniConfig;
 import com.doumee.dao.business.*;
 import com.doumee.dao.business.model.*;
 import com.doumee.dao.web.dto.CommentDTO;
@@ -22,6 +25,7 @@
 import com.doumee.service.business.CommentService;
 import com.doumee.service.business.ZanService;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
+import me.chanjar.weixin.common.error.WxErrorException;
 import org.apache.commons.collections4.MapUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.shiro.SecurityUtils;
@@ -67,6 +71,26 @@
 
     @Override
     public Comment apply(CommentApplyRequest comment, Integer memberId) {
+        if (StringUtils.isNotBlank(comment.getContent())) {
+            try {
+                WxMaMsgSecCheckCheckRequest checkRequest = WxMaMsgSecCheckCheckRequest.builder()
+                        .version("2")
+                        .scene(3)
+                        .openid(getMemberOpenId(memberId))
+                        .content(comment.getContent())
+                        .build();
+                WxMaMsgSecCheckCheckResponse checkResponse = WxMiniConfig.wxMaService.getSecurityService().checkMessage(checkRequest);
+                if (checkResponse.getResult() != null && checkResponse.getResult().getSuggest() != null) {
+                    String suggest = checkResponse.getResult().getSuggest();
+                    if ("risky".equalsIgnoreCase(suggest)) {
+                        throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "璇勮鍐呭鍖呭惈杩濊淇℃伅锛岃淇敼鍚庨噸鏂板彂甯�");
+                    }
+                }
+            } catch (WxErrorException e) {
+                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "鍐呭瀹夊叏妫�娴嬪け璐ワ紝璇风◢鍚庨噸璇�");
+            }
+        }
+
         Comment target = new Comment();
         target.setCreateDate(new Date());
         target.setEditDate(new Date());
@@ -275,6 +299,7 @@
         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{
@@ -331,8 +356,12 @@
             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(replyCommentDTO.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);
@@ -403,4 +432,9 @@
         });
         return PageData.from(result);
     }
+
+    private String getMemberOpenId(Integer memberId) {
+        Member member = memberMapper.selectById(memberId);
+        return member != null ? member.getOpenId() : null;
+    }
 }

--
Gitblit v1.9.3