From 3501ca8469b1a09f22cf0d3dbbe1adf331ea814a Mon Sep 17 00:00:00 2001
From: lin <sbla5888@163.com>
Date: Tue, 27 Feb 2024 17:35:23 +0800
Subject: [PATCH] 圈子敏感信息校验
---
src/main/java/org/springblade/modules/circle/service/ICircleService.java | 1
src/main/java/org/springblade/modules/circle/service/impl/CircleCommentServiceImpl.java | 33 ++++++++++++++++
src/main/java/org/springblade/modules/label/service/impl/LabelServiceImpl.java | 11 ++++-
src/main/java/org/springblade/modules/circle/controller/CircleController.java | 9 ++++
src/main/java/org/springblade/modules/circle/service/ICircleCommentService.java | 1
src/main/java/org/springblade/modules/circle/controller/CircleCommentController.java | 7 +++
src/main/java/org/springblade/modules/circle/service/impl/CircleServiceImpl.java | 25 +++++++++++-
7 files changed, 80 insertions(+), 7 deletions(-)
diff --git a/src/main/java/org/springblade/modules/circle/controller/CircleCommentController.java b/src/main/java/org/springblade/modules/circle/controller/CircleCommentController.java
index 93d4bf6..62225f1 100644
--- a/src/main/java/org/springblade/modules/circle/controller/CircleCommentController.java
+++ b/src/main/java/org/springblade/modules/circle/controller/CircleCommentController.java
@@ -22,6 +22,7 @@
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import lombok.AllArgsConstructor;
+import org.apache.logging.log4j.util.Strings;
import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
@@ -94,7 +95,11 @@
circle.setDepth(1);
}
circle.setUserId(AuthUtil.getUserId());
- return R.status(circleService.save(circle));
+ String msg = circleService.saveComment(circle);
+ if (!Strings.isBlank(msg)){
+ return R.data(201,"",msg);
+ }
+ return R.data(200,"",msg);
}
/**
diff --git a/src/main/java/org/springblade/modules/circle/controller/CircleController.java b/src/main/java/org/springblade/modules/circle/controller/CircleController.java
index 288862e..a04d883 100644
--- a/src/main/java/org/springblade/modules/circle/controller/CircleController.java
+++ b/src/main/java/org/springblade/modules/circle/controller/CircleController.java
@@ -21,8 +21,10 @@
import io.swagger.annotations.ApiParam;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import lombok.AllArgsConstructor;
+
import javax.validation.Valid;
+import org.apache.logging.log4j.util.Strings;
import org.springblade.core.secure.BladeUser;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
@@ -61,6 +63,7 @@
CircleEntity detail = circleService.getOne(Condition.getQueryWrapper(circle));
return R.data(CircleWrapper.build().entityVO(detail));
}
+
/**
* 圈子表 分页
*/
@@ -92,7 +95,11 @@
@ApiOperation(value = "新增", notes = "传入circle")
public R save(@Valid @RequestBody CircleEntity circle) {
circle.setUserId(AuthUtil.getUserId());
- return R.status(circleService.save(circle));
+ String msg = circleService.saveCircle(circle);
+ if (!Strings.isBlank(msg)) {
+ return R.data(201, "", msg);
+ }
+ return R.data(200, "", msg);
}
/**
diff --git a/src/main/java/org/springblade/modules/circle/service/ICircleCommentService.java b/src/main/java/org/springblade/modules/circle/service/ICircleCommentService.java
index 82a9f5c..58bd9ff 100644
--- a/src/main/java/org/springblade/modules/circle/service/ICircleCommentService.java
+++ b/src/main/java/org/springblade/modules/circle/service/ICircleCommentService.java
@@ -40,4 +40,5 @@
IPage<CircleCommentVO> selectCircleCommentPage(IPage<CircleCommentVO> page, CircleCommentVO circle);
+ String saveComment(CircleCommentEntity circle);
}
diff --git a/src/main/java/org/springblade/modules/circle/service/ICircleService.java b/src/main/java/org/springblade/modules/circle/service/ICircleService.java
index 6532dea..b290714 100644
--- a/src/main/java/org/springblade/modules/circle/service/ICircleService.java
+++ b/src/main/java/org/springblade/modules/circle/service/ICircleService.java
@@ -59,4 +59,5 @@
public List<CircleVO> selectCircleList(CircleDTO circleDTO);
+ String saveCircle(CircleEntity circle);
}
diff --git a/src/main/java/org/springblade/modules/circle/service/impl/CircleCommentServiceImpl.java b/src/main/java/org/springblade/modules/circle/service/impl/CircleCommentServiceImpl.java
index 261ecd8..7b71ede 100644
--- a/src/main/java/org/springblade/modules/circle/service/impl/CircleCommentServiceImpl.java
+++ b/src/main/java/org/springblade/modules/circle/service/impl/CircleCommentServiceImpl.java
@@ -22,8 +22,12 @@
import org.springblade.modules.circle.mapper.CircleCommentMapper;
import org.springblade.modules.circle.service.ICircleCommentService;
import org.springblade.core.mp.base.BaseServiceImpl;
+import org.springblade.modules.words.WorksService;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.metadata.IPage;
+
+import java.util.Map;
/**
* 圈子评论表 服务实现类
@@ -34,10 +38,37 @@
@Service
public class CircleCommentServiceImpl extends ServiceImpl<CircleCommentMapper, CircleCommentEntity> implements ICircleCommentService {
+ @Autowired
+ private WorksService worksService;
+
@Override
public IPage<CircleCommentVO> selectCircleCommentPage(IPage<CircleCommentVO> page, CircleCommentVO circle) {
+ circle.setCheckStatus(2);
return page.setRecords(baseMapper.selectCircleCommentPage(page, circle));
}
-
+ @Override
+ public String saveComment(CircleCommentEntity circle) {
+ boolean flag = false;
+ // 先进行敏感词过滤
+ Map<String, Object> map = worksService.interceptWords(circle.getContent());
+ // 获取敏感词校验结果
+ String iswords = map.get("iswords").toString();
+ if (iswords.equals("false")) {
+ // 审核通过
+ circle.setCheckStatus(2);
+ flag = save(circle);
+ // 返回
+ return "操作成功";
+ } else {
+ // 审核不通过
+ circle.setCheckStatus(3);
+ // 设置审核不通过的说明
+ circle.setCheckRemark(map.get("words").toString());
+ // 保存
+ save(circle);
+ // 返回
+ return "当前评论内容中带有敏感词,当前评论无法生效!";
+ }
+ }
}
diff --git a/src/main/java/org/springblade/modules/circle/service/impl/CircleServiceImpl.java b/src/main/java/org/springblade/modules/circle/service/impl/CircleServiceImpl.java
index c31a086..8646719 100644
--- a/src/main/java/org/springblade/modules/circle/service/impl/CircleServiceImpl.java
+++ b/src/main/java/org/springblade/modules/circle/service/impl/CircleServiceImpl.java
@@ -28,11 +28,13 @@
import org.springblade.modules.circle.mapper.CircleMapper;
import org.springblade.modules.circle.service.ICircleService;
import org.springblade.core.mp.base.BaseServiceImpl;
+import org.springblade.modules.words.WorksService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import java.util.List;
+import java.util.Map;
/**
* 圈子表 服务实现类
@@ -45,6 +47,9 @@
@Autowired
private ICircleLikeService iCircleLikeService;
+
+ @Autowired
+ private WorksService worksService;
@Autowired
private ICircleCommentService iCircleCommentService;
@@ -90,6 +95,22 @@
return this.baseMapper.selectCircleList(circleDTO);
}
-
-
+ @Override
+ public String saveCircle(CircleEntity circle) {
+ boolean flag = false;
+ // 先进行敏感词过滤
+ Map<String, Object> map = worksService.interceptWords(circle.getCircleText());
+ // 获取敏感词校验结果
+ String iswords = map.get("iswords").toString();
+ if (iswords.equals("false")) {
+ // 审核通过
+ flag = save(circle);
+ // 返回
+ return "操作成功";
+ } else {
+ // 审核不通过
+ // 返回
+ return "当前发布的内容中带有敏感词信息,当前发布无法生效!";
+ }
+ }
}
diff --git a/src/main/java/org/springblade/modules/label/service/impl/LabelServiceImpl.java b/src/main/java/org/springblade/modules/label/service/impl/LabelServiceImpl.java
index 384908b..37dea46 100644
--- a/src/main/java/org/springblade/modules/label/service/impl/LabelServiceImpl.java
+++ b/src/main/java/org/springblade/modules/label/service/impl/LabelServiceImpl.java
@@ -18,6 +18,7 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import io.swagger.models.auth.In;
import org.springblade.common.node.TreeIntegerNode;
import org.springblade.common.utils.NodeTreeUtil;
import org.springblade.modules.label.entity.LabelEntity;
@@ -26,6 +27,7 @@
import org.springblade.modules.label.vo.LabelVO;
import org.springframework.stereotype.Service;
+import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@@ -46,6 +48,7 @@
/**
* 标签查询,按父id查询下级
+ *
* @param label
* @return
*/
@@ -55,11 +58,11 @@
List<Integer> list = new ArrayList<>();
// 遍历
labelList.forEach((id, treeNode) -> {
- if (treeNode.getHasChildren()){
+ if (treeNode.getHasChildren()) {
list.add(id);
}
});
- if (list.size()>0) {
+ if (list.size() > 0) {
// 查询子集
Map<Integer, TreeIntegerNode> childrenLabelList = baseMapper.getChildrenLabelList(list);
// 合并集合
@@ -79,6 +82,10 @@
private void recursion(TreeIntegerNode node) {
if (node.getChildren() != null && node.getChildren().size() > 0) {
+// BigDecimal bigDecimal = BigDecimal.valueOf(0);
+// node.setCount(node.getChildren().stream().map(item -> {
+// bigDecimal.add(BigDecimal.valueOf(item.getCount()));
+// }));
node.getChildren().forEach(node2 -> recursion(node2));
} else {
node.setChildren(null);
--
Gitblit v1.9.3