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/property/service/impl/PropertyCompanyCommentServiceImpl.java | 62 +++++++++++++++++++++++++++---
1 files changed, 55 insertions(+), 7 deletions(-)
diff --git a/src/main/java/org/springblade/modules/property/service/impl/PropertyCompanyCommentServiceImpl.java b/src/main/java/org/springblade/modules/property/service/impl/PropertyCompanyCommentServiceImpl.java
index 43e140b..ca94ee8 100644
--- a/src/main/java/org/springblade/modules/property/service/impl/PropertyCompanyCommentServiceImpl.java
+++ b/src/main/java/org/springblade/modules/property/service/impl/PropertyCompanyCommentServiceImpl.java
@@ -17,20 +17,29 @@
package org.springblade.modules.property.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.apache.logging.log4j.util.Strings;
+import org.springblade.common.utils.SpringUtils;
+import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.modules.property.entity.PropertyCompanyCommentEntity;
+import org.springblade.modules.property.entity.PropertyCompanyEntity;
import org.springblade.modules.property.entity.PropertyCompanyScoreEntity;
import org.springblade.modules.property.service.IPropertyCompanyScoreService;
+import org.springblade.modules.property.service.IPropertyCompanyService;
import org.springblade.modules.property.vo.PropertyCompanyCommentVO;
import org.springblade.modules.property.mapper.PropertyCompanyCommentMapper;
import org.springblade.modules.property.service.IPropertyCompanyCommentService;
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 org.springframework.transaction.annotation.Transactional;
+
+import java.math.BigDecimal;
+import java.util.Map;
/**
* 物业公司评论表 服务实现类
@@ -43,6 +52,9 @@
@Autowired
private IPropertyCompanyScoreService propertyCompanyScoreService;
+
+ @Autowired
+ private WorksService worksService;
@Override
public IPage<PropertyCompanyCommentVO> selectPropertyCompanyCommentPage(IPage<PropertyCompanyCommentVO> page, PropertyCompanyCommentVO propertyCompanyComment) {
@@ -58,12 +70,32 @@
*/
@Override
@Transactional(rollbackFor = Exception.class)
- public boolean saveOrUpdatePropertyCompanyComment(PropertyCompanyCommentVO propertyCompanyComment) {
- boolean save = save(propertyCompanyComment);
- // 更新评分
- updatePropertyCompanyScore(propertyCompanyComment);
- // 返回
- return save;
+ public String saveOrUpdatePropertyCompanyComment(PropertyCompanyCommentVO propertyCompanyComment) {
+ boolean flag = false;
+ // 先进行敏感词过滤
+ Map<String, Object> map = worksService.interceptWords(propertyCompanyComment.getContent());
+ // 获取敏感词校验结果
+ String iswords = map.get("iswords").toString();
+ if (iswords.equals("false")){
+ // 审核通过
+ propertyCompanyComment.setCheckStatus(2);
+ flag = save(propertyCompanyComment);
+ // 更新评分
+ if(flag) {
+ updatePropertyCompanyScore(propertyCompanyComment);
+ }
+ // 返回
+ return "操作成功";
+ }else {
+ // 审核不通过
+ propertyCompanyComment.setCheckStatus(3);
+ // 设置审核不通过的说明
+ propertyCompanyComment.setCheckRemark(map.get("words").toString());
+ // 保存
+ save(propertyCompanyComment);
+ // 返回
+ return "当前评论内容中带有敏感词,当前评论无法生效!";
+ }
}
/**
@@ -87,8 +119,24 @@
propertyCompanyScoreEntity.setPropertyCompanyId(propertyCompanyComment.getPropertyCompanyId());
propertyCompanyScoreEntity.setCreateUser(AuthUtil.getUserId());
// 新增
- propertyCompanyScoreService.save(propertyCompanyScoreEntity);
+ propertyCompanyScoreService.save(propertyCompanyScoreEntity);
}
+ // t 计算物业公司评价平均分
+
+ QueryWrapper<PropertyCompanyScoreEntity> queryWrapperTwo = new QueryWrapper<>();
+ queryWrapperTwo.eq("is_deleted",0).eq("property_company_id",propertyCompanyComment.getPropertyCompanyId());
+ // t统计物业公司总评价数
+ long count = propertyCompanyScoreService.count(queryWrapperTwo);
+ // 统计物业公司总评价分
+ Integer score = propertyCompanyScoreService.getScore(propertyCompanyComment.getPropertyCompanyId());
+ // 计算评价分
+ BigDecimal divide = BigDecimal.valueOf(score).divide(BigDecimal.valueOf(count));
+ // 更新物业评价平均分
+ PropertyCompanyEntity propertyCompanyEntity = new PropertyCompanyEntity();
+ propertyCompanyEntity.setId(propertyCompanyComment.getPropertyCompanyId());
+ propertyCompanyEntity.setEvaluateScore(divide);
+ IPropertyCompanyService bean = SpringUtils.getBean(IPropertyCompanyService.class);
+ bean.updateById(propertyCompanyEntity);
}
}
}
--
Gitblit v1.9.3