|
@ -20,16 +20,20 @@ package com.epmet.service.impl; |
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
|
|
import com.baomidou.mybatisplus.core.metadata.IPage; |
|
|
import com.baomidou.mybatisplus.core.metadata.IPage; |
|
|
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; |
|
|
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; |
|
|
|
|
|
import com.epmet.commons.rocketmq.messages.ProjectChangedMQMsg; |
|
|
|
|
|
import com.epmet.commons.tools.constant.FieldConstant; |
|
|
|
|
|
import com.epmet.commons.tools.constant.NumConstant; |
|
|
|
|
|
import com.epmet.commons.tools.constant.StrConstant; |
|
|
import com.epmet.commons.tools.distributedlock.DistributedLock; |
|
|
import com.epmet.commons.tools.distributedlock.DistributedLock; |
|
|
import com.epmet.commons.tools.exception.EpmetErrorCode; |
|
|
import com.epmet.commons.tools.exception.EpmetErrorCode; |
|
|
import com.epmet.commons.tools.exception.RenException; |
|
|
import com.epmet.commons.tools.exception.RenException; |
|
|
import com.epmet.commons.tools.constant.FieldConstant; |
|
|
|
|
|
import com.epmet.commons.tools.constant.NumConstant; |
|
|
|
|
|
import com.epmet.commons.tools.page.PageData; |
|
|
import com.epmet.commons.tools.page.PageData; |
|
|
import com.epmet.commons.tools.scan.param.TextScanParamDTO; |
|
|
import com.epmet.commons.tools.scan.param.TextScanParamDTO; |
|
|
import com.epmet.commons.tools.scan.param.TextTaskDTO; |
|
|
import com.epmet.commons.tools.scan.param.TextTaskDTO; |
|
|
import com.epmet.commons.tools.scan.result.SyncScanResult; |
|
|
import com.epmet.commons.tools.scan.result.SyncScanResult; |
|
|
|
|
|
import com.epmet.commons.tools.security.user.LoginUserUtil; |
|
|
import com.epmet.commons.tools.utils.ConvertUtils; |
|
|
import com.epmet.commons.tools.utils.ConvertUtils; |
|
|
|
|
|
import com.epmet.commons.tools.utils.IpUtils; |
|
|
import com.epmet.commons.tools.utils.Result; |
|
|
import com.epmet.commons.tools.utils.Result; |
|
|
import com.epmet.commons.tools.utils.ScanContentUtils; |
|
|
import com.epmet.commons.tools.utils.ScanContentUtils; |
|
|
import com.epmet.constant.ProjectConstant; |
|
|
import com.epmet.constant.ProjectConstant; |
|
@ -39,25 +43,28 @@ import com.epmet.dao.ProjectSatisfactionStatisticsDao; |
|
|
import com.epmet.dto.ProjectSatisfactionDetailDTO; |
|
|
import com.epmet.dto.ProjectSatisfactionDetailDTO; |
|
|
import com.epmet.dto.form.*; |
|
|
import com.epmet.dto.form.*; |
|
|
import com.epmet.dto.result.*; |
|
|
import com.epmet.dto.result.*; |
|
|
import com.epmet.entity.ProjectEntity; |
|
|
|
|
|
import com.epmet.entity.ProjectSatisfactionDetailEntity; |
|
|
import com.epmet.entity.ProjectSatisfactionDetailEntity; |
|
|
import com.epmet.entity.ProjectSatisfactionStatisticsEntity; |
|
|
import com.epmet.entity.ProjectSatisfactionStatisticsEntity; |
|
|
|
|
|
import com.epmet.feign.EpmetMessageOpenFeignClient; |
|
|
import com.epmet.feign.EpmetUserFeignClient; |
|
|
import com.epmet.feign.EpmetUserFeignClient; |
|
|
import com.epmet.feign.GovIssueOpenFeignClient; |
|
|
import com.epmet.feign.GovIssueOpenFeignClient; |
|
|
import com.epmet.redis.ProjectRedis; |
|
|
import com.epmet.redis.ProjectRedis; |
|
|
import com.epmet.redis.ProjectSatisfactionDetailRedis; |
|
|
import com.epmet.redis.ProjectSatisfactionDetailRedis; |
|
|
|
|
|
import com.epmet.send.SendMqMsgUtil; |
|
|
import com.epmet.service.ProjectSatisfactionDetailService; |
|
|
import com.epmet.service.ProjectSatisfactionDetailService; |
|
|
import com.epmet.service.ProjectSatisfactionStatisticsService; |
|
|
import com.epmet.service.ProjectSatisfactionStatisticsService; |
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
import org.apache.commons.lang3.StringUtils; |
|
|
import org.apache.commons.lang3.StringUtils; |
|
|
import org.redisson.api.RLock; |
|
|
|
|
|
import org.springframework.beans.BeanUtils; |
|
|
import org.springframework.beans.BeanUtils; |
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
import org.springframework.beans.factory.annotation.Value; |
|
|
import org.springframework.beans.factory.annotation.Value; |
|
|
import org.springframework.stereotype.Service; |
|
|
import org.springframework.stereotype.Service; |
|
|
import org.springframework.transaction.annotation.Transactional; |
|
|
import org.springframework.transaction.annotation.Transactional; |
|
|
import org.springframework.util.CollectionUtils; |
|
|
import org.springframework.util.CollectionUtils; |
|
|
|
|
|
import org.springframework.web.context.request.RequestContextHolder; |
|
|
|
|
|
import org.springframework.web.context.request.ServletRequestAttributes; |
|
|
|
|
|
|
|
|
|
|
|
import javax.servlet.http.HttpServletRequest; |
|
|
import java.util.*; |
|
|
import java.util.*; |
|
|
import java.util.stream.Collectors; |
|
|
import java.util.stream.Collectors; |
|
|
|
|
|
|
|
@ -91,6 +98,10 @@ public class ProjectSatisfactionDetailServiceImpl extends BaseServiceImpl<Projec |
|
|
private GovIssueOpenFeignClient govIssueOpenFeignClient; |
|
|
private GovIssueOpenFeignClient govIssueOpenFeignClient; |
|
|
@Autowired |
|
|
@Autowired |
|
|
private ProjectSatisfactionStatisticsService projectSatisfactionStatisticsService; |
|
|
private ProjectSatisfactionStatisticsService projectSatisfactionStatisticsService; |
|
|
|
|
|
@Autowired |
|
|
|
|
|
private LoginUserUtil loginUserUtil; |
|
|
|
|
|
@Autowired |
|
|
|
|
|
private EpmetMessageOpenFeignClient epmetMessageOpenFeignClient; |
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
|
public PageData<ProjectSatisfactionDetailDTO> page(Map<String, Object> params) { |
|
|
public PageData<ProjectSatisfactionDetailDTO> page(Map<String, Object> params) { |
|
@ -240,6 +251,21 @@ public class ProjectSatisfactionDetailServiceImpl extends BaseServiceImpl<Projec |
|
|
baseDao.insert(entity); |
|
|
baseDao.insert(entity); |
|
|
// 更新
|
|
|
// 更新
|
|
|
statisticsDao.updateEvaluateData(formDTO.getProjectId(), formDTO.getSatisfaction()); |
|
|
statisticsDao.updateEvaluateData(formDTO.getProjectId(), formDTO.getSatisfaction()); |
|
|
|
|
|
//项目满意度评价-项目实时统计消息
|
|
|
|
|
|
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); |
|
|
|
|
|
ProjectChangedMQMsg msg = new ProjectChangedMQMsg(entity.getCustomerId(), |
|
|
|
|
|
ProjectConstant.EVALUATE, |
|
|
|
|
|
entity.getProjectId(), |
|
|
|
|
|
formDTO.getUserId(), |
|
|
|
|
|
new Date(), |
|
|
|
|
|
StrConstant.EPMETY_STR, |
|
|
|
|
|
IpUtils.getIpAddr(request), |
|
|
|
|
|
loginUserUtil.getLoginUserApp(), |
|
|
|
|
|
loginUserUtil.getLoginUserClient()); |
|
|
|
|
|
boolean msgResult = SendMqMsgUtil.build().openFeignClient(epmetMessageOpenFeignClient).sendProjectChangedMqMsg(msg); |
|
|
|
|
|
if (!msgResult) { |
|
|
|
|
|
log.error("项目实时统计消息发送失败"); |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|