From c10d6358b9f014375a13821465bc978d0c0da22e Mon Sep 17 00:00:00 2001
From: linwe <872216996@qq.com>
Date: Wed, 29 May 2024 17:17:08 +0800
Subject: [PATCH] 通过E呼即办数据统计
---
src/main/java/org/springblade/modules/circle/service/impl/CircleServiceImpl.java | 99 ++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 84 insertions(+), 15 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..6777d80 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,31 @@
*/
package org.springblade.modules.circle.service.impl;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springblade.modules.circle.dto.CircleDTO;
-import org.springblade.modules.circle.entity.CircleEntity;
-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.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.xxl.job.core.biz.impl.ExecutorBizImpl;
+import org.apache.commons.lang3.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springblade.common.param.CommonParamSet;
+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.mapper.CircleMapper;
+import org.springblade.modules.circle.service.ICircleCommentService;
+import org.springblade.modules.circle.service.ICircleLikeService;
+import org.springblade.modules.circle.service.ICircleService;
+import org.springblade.modules.circle.vo.CircleVO;
+import org.springblade.modules.words.WorksService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
import java.util.List;
+import java.util.Map;
/**
* 圈子表 服务实现类
@@ -37,9 +51,33 @@
@Service
public class CircleServiceImpl extends ServiceImpl<CircleMapper, CircleEntity> implements ICircleService {
+ private static Logger logger = LoggerFactory.getLogger(ExecutorBizImpl.class);
+ @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));
+ CommonParamSet commonParamSet = new CommonParamSet().invoke(CircleVO.class, 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 +87,7 @@
* @return 圈子表
*/
@Override
- public CircleVO selectCircleById(Integer id)
- {
+ public CircleVO selectCircleById(Integer id) {
return this.baseMapper.selectCircleById(id);
}
@@ -61,11 +98,43 @@
* @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);
+ }
+ // 校验事件是否分享过
+// if (circle.getCircleType() != null && circle.getEventId() != null) {
+// long count = count(Wrappers.<CircleEntity>lambdaQuery().
+// eq(CircleEntity::getCircleType, circle.getCircleType()).
+// eq(CircleEntity::getEventId, circle.getEventId()));
+// if (count > 0) {
+// return "当前发布的内容已经分享过,请勿重复发布!";
+// }
+// }
+ String iswords = "false";
+// if (circle.getCircleType() == null && circle.getEventId() == null) {
+ // 先进行敏感词过滤
+ Map<String, Object> map = worksService.interceptWords(circle.getCircleText());
+ // 获取敏感词校验结果
+ iswords = map.get("iswords").toString();
+// }
+ if (iswords.equals("false")) {
+ // 审核通过
+ boolean flag = save(circle);
+ logger.info("保存圈子表成功");
+ // 返回
+ return "操作成功";
+ } else {
+ // 审核不通过
+ // 返回
+ return "当前发布的内容中带有敏感词信息,当前发布无法生效!";
+ }
+ }
}
--
Gitblit v1.9.3