lin
2024-02-27 3501ca8469b1a09f22cf0d3dbbe1adf331ea814a
圈子敏感信息校验
7 files modified
87 ■■■■■ changed files
src/main/java/org/springblade/modules/circle/controller/CircleCommentController.java 7 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/circle/controller/CircleController.java 9 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/circle/service/ICircleCommentService.java 1 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/circle/service/ICircleService.java 1 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/circle/service/impl/CircleCommentServiceImpl.java 33 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/circle/service/impl/CircleServiceImpl.java 25 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/label/service/impl/LabelServiceImpl.java 11 ●●●● patch | view | raw | blame | history
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);
    }
    /**
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);
    }
    /**
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);
}
src/main/java/org/springblade/modules/circle/service/ICircleService.java
@@ -59,4 +59,5 @@
    public List<CircleVO> selectCircleList(CircleDTO circleDTO);
    String saveCircle(CircleEntity circle);
}
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 "当前评论内容中带有敏感词,当前评论无法生效!";
        }
    }
}
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 "当前发布的内容中带有敏感词信息,当前发布无法生效!";
        }
    }
}
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);