diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/project/form/UpdateProjectSatisfactionScoreFormDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/project/form/UpdateProjectSatisfactionScoreFormDTO.java new file mode 100644 index 0000000000..f7b43d8e2f --- /dev/null +++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/project/form/UpdateProjectSatisfactionScoreFormDTO.java @@ -0,0 +1,20 @@ +package com.epmet.dto.project.form; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * 描述一下 + * + * @author yinzuomei@elink-cn.com + * @date 2021/7/11 14:42 + */ +@Data +public class UpdateProjectSatisfactionScoreFormDTO implements Serializable { + private static final long serialVersionUID = 8358341102854725024L; + private String projectId; + private String projectCustomerId; + private List customerIdList; +} diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/DemoController.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/DemoController.java index 25e4b13876..7f71ea10ff 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/DemoController.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/DemoController.java @@ -23,6 +23,7 @@ import com.epmet.dto.extract.form.ExtractFactGridGovernDailyFromDTO; import com.epmet.dto.extract.form.ExtractOriginFormDTO; import com.epmet.dto.extract.form.ExtractScreenFormDTO; import com.epmet.dto.indexcal.CalculateCommonFormDTO; +import com.epmet.dto.project.form.UpdateProjectSatisfactionScoreFormDTO; import com.epmet.dto.screen.form.ScreenCentralZoneDataFormDTO; import com.epmet.dto.stats.form.CustomerIdAndDateIdFormDTO; import com.epmet.entity.evaluationindex.indexcoll.FactIndexGovrnAblityGridMonthlyEntity; @@ -957,9 +958,13 @@ public class DemoController { * @Date 2021/6/23 15:55 **/ @PostMapping("update-satisfaction-core") - public Result updateProjectSatisfactionScore(@RequestBody List customerIdList){ - if(CollectionUtils.isNotEmpty(customerIdList)){ - customerIdList.forEach(customerId->{ + public Result updateProjectSatisfactionScore(@RequestBody UpdateProjectSatisfactionScoreFormDTO formDTO){ + if(StringUtils.isNotBlank(formDTO.getProjectId())){ + screenProjectSettleService.updateProjectSatisfactionScore(formDTO.getProjectCustomerId(),null,formDTO.getProjectId()); + return new Result().ok("项目满意度得分更新成功"); + } + if(CollectionUtils.isNotEmpty(formDTO.getCustomerIdList())){ + formDTO.getCustomerIdList().forEach(customerId->{ screenProjectSettleService.updateProjectSatisfactionScore(customerId,null,null); log.info("更新完成"); }); @@ -967,7 +972,7 @@ public class DemoController { List customerIds=dimCustomerService.getAllCustomerId(); customerIds.forEach(customerId->{ screenProjectSettleService.updateProjectSatisfactionScore(customerId,null,null); - log.info("更新完成"); + log.info("所有客户数据更新完成"); }); } return new Result(); diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenProjectSettleServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenProjectSettleServiceImpl.java index 16d073b953..0b4a519efe 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenProjectSettleServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenProjectSettleServiceImpl.java @@ -182,25 +182,32 @@ public class ScreenProjectSettleServiceImpl implements ScreenProjectSettleServic */ @Override public void updateProjectSatisfactionScore(String customerId, String dateId,String projectId) { + log.info("customerId="+customerId+";dateId="+dateId+";projectId="+projectId); if(StringUtils.isNotBlank(projectId)){ - projectService.calProjectSatisfactionScore(customerId,projectId); + BigDecimal calProjectSatisfactionScore = projectService.calProjectSatisfactionScore(customerId, projectId); + log.warn("单独计算projectId=" + projectId + "满意度得分:" + calProjectSatisfactionScore); + targetDbService.updateProjectSatisfactionScore(projectId,calProjectSatisfactionScore); return; } List projectIds=new ArrayList<>(); if(StringUtils.isNotBlank(dateId)){ + log.warn("按日期计算"); List list=projectService.selectEvaluateProjectIds(customerId,dateId); if(!CollectionUtils.isEmpty(list)){ projectIds.addAll(list); } }else{ + log.warn("计算当前客户下,来源于议题已结案的项目对应的满意度得分"); // 只有来源于议题的项目,才有分数 List closedProjectIds=projectService.selectClosedProjectIds(customerId,"issue","closed"); if(!CollectionUtils.isEmpty(closedProjectIds)){ projectIds.addAll(closedProjectIds); } } - projectIds.forEach(id->{ - targetDbService.updateProjectSatisfactionScore(id,projectService.calProjectSatisfactionScore(customerId,id)); + projectIds.forEach(id -> { + BigDecimal calProjectSatisfactionScore = projectService.calProjectSatisfactionScore(customerId, id); + log.warn("projectId=" + id + "满意度得分:" + calProjectSatisfactionScore); + targetDbService.updateProjectSatisfactionScore(id, calProjectSatisfactionScore); }); } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectDao.xml index 0b5b0b8349..0b60e3efd5 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectDao.xml @@ -195,7 +195,7 @@