From 774c8b2ee14eef5fd10bbd46d85a180e7b19ab21 Mon Sep 17 00:00:00 2001
From: lin <sbla5888@163.com>
Date: Fri, 22 Mar 2024 14:34:12 +0800
Subject: [PATCH] 查询过滤优化
---
src/main/java/org/springblade/modules/circle/service/impl/CircleServiceImpl.java | 66 +++++++++++++++++++++++++++++---
1 files changed, 59 insertions(+), 7 deletions(-)
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 0fc9a6c..fb4f0ac 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
@@ -16,17 +16,28 @@
*/
package org.springblade.modules.circle.service.impl;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.apache.commons.lang3.StringUtils;
+import org.springblade.common.utils.SpringUtils;
+import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.modules.circle.dto.CircleDTO;
+import org.springblade.modules.circle.entity.CircleCommentEntity;
import org.springblade.modules.circle.entity.CircleEntity;
+import org.springblade.modules.circle.entity.CircleLikeEntity;
+import org.springblade.modules.circle.service.ICircleCommentService;
+import org.springblade.modules.circle.service.ICircleLikeService;
import org.springblade.modules.circle.vo.CircleVO;
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;
/**
* 圈子表 服务实现类
@@ -37,9 +48,31 @@
@Service
public class CircleServiceImpl extends ServiceImpl<CircleMapper, CircleEntity> implements ICircleService {
+ @Autowired
+ private ICircleLikeService iCircleLikeService;
+
+ @Autowired
+ private WorksService worksService;
+
+ @Autowired
+ private ICircleCommentService iCircleCommentService;
+
@Override
public IPage<CircleVO> selectCirclePage(IPage<CircleVO> page, CircleVO circle) {
- return page.setRecords(baseMapper.selectCirclePage(page, circle));
+ List<CircleVO> circleVOS = baseMapper.selectCirclePage(page, circle);
+ for (CircleVO circleVO : circleVOS) {
+ // 获取circleVO中circleId的点赞数
+ long count = iCircleLikeService.count(Wrappers.<CircleLikeEntity>lambdaQuery()
+ .eq(CircleLikeEntity::getCircleId, circleVO.getId()));
+ circleVO.setLikeCount(count);
+
+ // 查询circle_comment表中circle_id等于circleVO.getId()的记录数
+ long count2 = iCircleCommentService.count(Wrappers.<CircleCommentEntity>lambdaQuery()
+ .eq(CircleCommentEntity::getCircleId, circleVO.getId())
+ .groupBy(CircleCommentEntity::getCircleId));
+ circleVO.setCommentCount(count2);
+ }
+ return page.setRecords(circleVOS);
}
/**
@@ -49,8 +82,7 @@
* @return 圈子表
*/
@Override
- public CircleVO selectCircleById(Integer id)
- {
+ public CircleVO selectCircleById(Integer id) {
return this.baseMapper.selectCircleById(id);
}
@@ -61,11 +93,31 @@
* @return 圈子表集合
*/
@Override
- public List<CircleVO> selectCircleList(CircleDTO circleDTO)
- {
+ public List<CircleVO> selectCircleList(CircleDTO circleDTO) {
return this.baseMapper.selectCircleList(circleDTO);
}
-
-
+ @Override
+ public String saveCircle(CircleEntity circle) {
+ circle.setUserId(AuthUtil.getUserId());
+ String communityCode = SpringUtils.getRequestParam("communityCode");
+ if (StringUtils.isNotBlank(communityCode)) {
+ circle.setCommunityCode(communityCode);
+ }
+ 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 "当前发布的内容中带有敏感词信息,当前发布无法生效!";
+ }
+ }
}
--
Gitblit v1.9.3