| | |
| | | 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; |
| | | |
| | | /** |
| | | * 物业公司评论表 服务实现类 |
| | |
| | | |
| | | @Autowired |
| | | private IPropertyCompanyScoreService propertyCompanyScoreService; |
| | | |
| | | @Autowired |
| | | private WorksService worksService; |
| | | |
| | | @Override |
| | | public IPage<PropertyCompanyCommentVO> selectPropertyCompanyCommentPage(IPage<PropertyCompanyCommentVO> page, PropertyCompanyCommentVO propertyCompanyComment) { |
| | |
| | | */ |
| | | @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 "当前评论内容中带有敏感词,当前评论无法生效!"; |
| | | } |
| | | } |
| | | |
| | | /** |
| | |
| | | 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); |
| | | } |
| | | } |
| | | } |