From 6b59e8539f721896f8cf674da1cc50f4889c6201 Mon Sep 17 00:00:00 2001 From: wuchunlei Date: Mon, 4 Dec 2023 17:55:16 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AF=84=E8=AE=BA=E8=AE=BE=E7=BD=AE=E6=95=8F?= =?UTF-8?q?=E6=84=9F=E8=AF=8D=E6=8B=A6=E6=88=AA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BookTeachLikeAndCommentController.java | 26 +++++++++++++++++-- .../modules/sys/dao/SysSensitiveWordsDao.java | 9 +++++++ .../modules/sys/entity/SysSensitiveWords.java | 18 +++++++++++++ .../sys/service/SysSensitiveWordsService.java | 7 +++++ .../impl/SysSensitiveWordsServiceImpl.java | 13 ++++++++++ 5 files changed, 71 insertions(+), 2 deletions(-) create mode 100644 src/main/java/com/peanut/modules/sys/dao/SysSensitiveWordsDao.java create mode 100644 src/main/java/com/peanut/modules/sys/entity/SysSensitiveWords.java create mode 100644 src/main/java/com/peanut/modules/sys/service/SysSensitiveWordsService.java create mode 100644 src/main/java/com/peanut/modules/sys/service/impl/SysSensitiveWordsServiceImpl.java diff --git a/src/main/java/com/peanut/modules/book/controller/BookTeachLikeAndCommentController.java b/src/main/java/com/peanut/modules/book/controller/BookTeachLikeAndCommentController.java index 291a42df..d2c5d92d 100644 --- a/src/main/java/com/peanut/modules/book/controller/BookTeachLikeAndCommentController.java +++ b/src/main/java/com/peanut/modules/book/controller/BookTeachLikeAndCommentController.java @@ -1,5 +1,6 @@ package com.peanut.modules.book.controller; +import com.alibaba.druid.sql.visitor.functions.Instr; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -13,6 +14,8 @@ import com.peanut.modules.book.entity.MyUserEntity; import com.peanut.modules.book.service.BookTeachCommentService; import com.peanut.modules.book.service.BookTeachLikeService; import com.peanut.modules.book.service.MyUserService; +import com.peanut.modules.sys.entity.SysSensitiveWords; +import com.peanut.modules.sys.service.SysSensitiveWordsService; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.SecurityUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -36,6 +39,8 @@ public class BookTeachLikeAndCommentController { private BookTeachCommentService commentService; @Autowired private MyUserService userService; + @Autowired + private SysSensitiveWordsService sensitiveWordsService; /** * 获取点赞数量 @@ -159,9 +164,26 @@ public class BookTeachLikeAndCommentController { */ @RequestMapping("/addComment") public R addComment(@RequestBody BookTeachCommentEntity comment) { + R result = new R(); comment.setUserId(ShiroUtils.getUId()); - commentService.saveOrUpdate(comment); - return R.ok(); + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.last(" where instr(\""+comment.getContent()+"\",word)>0"); + List list = sensitiveWordsService.list(wrapper); + if (list.size() > 0){ + String str = ""; + for (SysSensitiveWords words:list) { + if ("".equals(str)){ + str = words.getWord(); + }else { + str = str + "、" + words.getWord(); + } + } + result.put("tip","您的评论含有敏感词:"+str+",请重新输入。"); + }else { + commentService.saveOrUpdate(comment); + result.put("tip","评论成功!"); + } + return result; } /** diff --git a/src/main/java/com/peanut/modules/sys/dao/SysSensitiveWordsDao.java b/src/main/java/com/peanut/modules/sys/dao/SysSensitiveWordsDao.java new file mode 100644 index 00000000..edd65a2b --- /dev/null +++ b/src/main/java/com/peanut/modules/sys/dao/SysSensitiveWordsDao.java @@ -0,0 +1,9 @@ +package com.peanut.modules.sys.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.peanut.modules.sys.entity.SysSensitiveWords; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface SysSensitiveWordsDao extends BaseMapper { +} diff --git a/src/main/java/com/peanut/modules/sys/entity/SysSensitiveWords.java b/src/main/java/com/peanut/modules/sys/entity/SysSensitiveWords.java new file mode 100644 index 00000000..69fc5543 --- /dev/null +++ b/src/main/java/com/peanut/modules/sys/entity/SysSensitiveWords.java @@ -0,0 +1,18 @@ +package com.peanut.modules.sys.entity; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; + +@Data +@TableName("sys_sensitive_words") +public class SysSensitiveWords implements Serializable { + private static final long serialVersionUID = 1L; + + @TableId + private int id; + + private String word; +} diff --git a/src/main/java/com/peanut/modules/sys/service/SysSensitiveWordsService.java b/src/main/java/com/peanut/modules/sys/service/SysSensitiveWordsService.java new file mode 100644 index 00000000..4242addd --- /dev/null +++ b/src/main/java/com/peanut/modules/sys/service/SysSensitiveWordsService.java @@ -0,0 +1,7 @@ +package com.peanut.modules.sys.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.peanut.modules.sys.entity.SysSensitiveWords; + +public interface SysSensitiveWordsService extends IService { +} diff --git a/src/main/java/com/peanut/modules/sys/service/impl/SysSensitiveWordsServiceImpl.java b/src/main/java/com/peanut/modules/sys/service/impl/SysSensitiveWordsServiceImpl.java new file mode 100644 index 00000000..59661cd1 --- /dev/null +++ b/src/main/java/com/peanut/modules/sys/service/impl/SysSensitiveWordsServiceImpl.java @@ -0,0 +1,13 @@ +package com.peanut.modules.sys.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.peanut.modules.sys.dao.SysSensitiveWordsDao; +import com.peanut.modules.sys.entity.SysSensitiveWords; +import com.peanut.modules.sys.service.SysSensitiveWordsService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +@Slf4j +@Service("sysSensitiveWordsService") +public class SysSensitiveWordsServiceImpl extends ServiceImpl implements SysSensitiveWordsService { +}