Explorar el Código

新增敏感词返回报错

fangzhen hace 4 meses
padre
commit
0eb4d04583

+ 8 - 3
ruoyi-admin/src/main/resources/i18n/messages.properties

@@ -13,8 +13,7 @@ role.blocked=角色已封禁,请联系管理员
 login.blocked=很遗憾,访问IP已被列入系统黑名单
 login.blocked=很遗憾,访问IP已被列入系统黑名单
 user.logout.success=退出成功
 user.logout.success=退出成功
 project.error=程序异常
 project.error=程序异常
-article.title.error=文章标题包含敏感文字,请检查!
-article.content.error=文章内容包含敏感文字,请检查!
+
 
 
 length.not.valid=长度必须在{min}到{max}个字符之间
 length.not.valid=长度必须在{min}到{max}个字符之间
 
 
@@ -46,4 +45,10 @@ upload.oos.endPoint=oss-cn-shanghai.aliyuncs.com
 upload.oos.accessKeyId=LTAI5tS4n2s89tQLDxjb2jfE
 upload.oos.accessKeyId=LTAI5tS4n2s89tQLDxjb2jfE
 upload.oos.accessKeySecret=OdSKx43VHz0MwWnCjAzzOwF9ze8VDR
 upload.oos.accessKeySecret=OdSKx43VHz0MwWnCjAzzOwF9ze8VDR
 upload.oos.accessPre=https://cysd.oss-cn-shanghai.aliyuncs.com/
 upload.oos.accessPre=https://cysd.oss-cn-shanghai.aliyuncs.com/
-upload.oos.bucketName=cysd
+upload.oos.bucketName=cysd
+
+
+##文章敏感词
+article.title.error=文章标题包含敏感文字,请检查!
+article.content.error=文章内容包含敏感文字,请检查!
+article.user.comment=评论的内容包含敏感词汇哟!

+ 6 - 0
ruoyi-generator/src/main/java/com/ruoyi/generator/controller/CommunityArticleController.java

@@ -244,6 +244,12 @@ public class CommunityArticleController extends BaseController {
         if (null == communityArticleComment.getArticleId()) {
         if (null == communityArticleComment.getArticleId()) {
             return AjaxResult.error("文章不存在或异常!");
             return AjaxResult.error("文章不存在或异常!");
         }
         }
+
+        boolean isSensitive = SensitiveWordUtil.containsSensitiveWord(communityArticleComment.getContent());
+        if (isSensitive) {
+            return AjaxResult.error(MessageUtils.message("article.user.comment"));
+        }
+
         Long userId = SecurityUtils.getUserId();
         Long userId = SecurityUtils.getUserId();
         try {
         try {
             //调用方法去判断当前评论的用户 是不是文章作者的关注列表
             //调用方法去判断当前评论的用户 是不是文章作者的关注列表

+ 13 - 1
ruoyi-generator/src/main/java/com/ruoyi/generator/controller/CommunityCommentController.java

@@ -7,7 +7,9 @@ import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.exception.user.ProjectException;
 import com.ruoyi.common.exception.user.ProjectException;
 import com.ruoyi.common.utils.DateUtils;
 import com.ruoyi.common.utils.DateUtils;
+import com.ruoyi.common.utils.MessageUtils;
 import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.common.utils.SensitiveWordUtil;
 import com.ruoyi.common.utils.ip.AddressUtils;
 import com.ruoyi.common.utils.ip.AddressUtils;
 import com.ruoyi.generator.domain.Community.CommunityArticle;
 import com.ruoyi.generator.domain.Community.CommunityArticle;
 import com.ruoyi.generator.domain.Community.CommunityArticleComment;
 import com.ruoyi.generator.domain.Community.CommunityArticleComment;
@@ -32,7 +34,9 @@ import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.bind.annotation.*;
 
 
 import java.text.ParseException;
 import java.text.ParseException;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
 import java.util.concurrent.ExecutionException;
 import java.util.concurrent.ExecutionException;
 import java.util.stream.Collectors;
 import java.util.stream.Collectors;
 
 
@@ -218,12 +222,20 @@ public class CommunityCommentController extends BaseController {
         if (Objects.isNull(communityCommentReply.getCommentId()) || Objects.isNull(communityCommentReply.getContent())) {
         if (Objects.isNull(communityCommentReply.getCommentId()) || Objects.isNull(communityCommentReply.getContent())) {
             return AjaxResult.error("参数异常!");
             return AjaxResult.error("参数异常!");
         }
         }
+
         Long userId = SecurityUtils.getUserId();
         Long userId = SecurityUtils.getUserId();
         try {
         try {
+            //过滤敏感词
+            boolean isSensitive = SensitiveWordUtil.containsSensitiveWord(communityCommentReply.getContent());
+            if (isSensitive) {
+                return AjaxResult.error(MessageUtils.message("article.user.comment"));
+            }
+
             Boolean aBoolean = communityArticleService.checkCommentPermission(userId, communityCommentReply.getCommentId(), null);
             Boolean aBoolean = communityArticleService.checkCommentPermission(userId, communityCommentReply.getCommentId(), null);
             if (!aBoolean) {  // 当 aBoolean 为 false 时,进入这个条件
             if (!aBoolean) {  // 当 aBoolean 为 false 时,进入这个条件
                 return AjaxResult.success("您没有权限评论此文章,因为作者只允许关注的人评论!");
                 return AjaxResult.success("您没有权限评论此文章,因为作者只允许关注的人评论!");
             }
             }
+
             communityCommentReply.setUserId(userId);
             communityCommentReply.setUserId(userId);
             communityCommentReply.setDelete(false);
             communityCommentReply.setDelete(false);
             communityCommentReply.setCreateBy(userId);
             communityCommentReply.setCreateBy(userId);