diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/user/impl/UserServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/user/impl/UserServiceImpl.java index a7f1d594c4..9be10286b6 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/user/impl/UserServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/user/impl/UserServiceImpl.java @@ -1,5 +1,6 @@ package com.epmet.service.user.impl; +import com.alibaba.fastjson.JSON; import com.epmet.commons.dynamic.datasource.annotation.DataSource; import com.epmet.commons.tools.constant.NumConstant; import com.epmet.constant.DataSourceConstant; @@ -748,35 +749,36 @@ public class UserServiceImpl implements UserService { public void fillScreenProjectData(List list) { List topicUserIdList = list.stream().filter(o -> ProjectConstant.PROJECT_ORIGIN_ISSUE.equals(o.getOrigin())) .map(ScreenProjectDataDTO::getLinkName).distinct().collect(Collectors.toList()); - if (CollectionUtils.isEmpty(topicUserIdList)){ - return; + Map topicUserMap = new HashMap<>(); + if (!CollectionUtils.isEmpty(topicUserIdList)){ + List collection = userDao.selectScreenProjectData(topicUserIdList); + logger.info("fillScreenProjectData staff list:{},param:{}", JSON.toJSONString(collection),topicUserIdList); + topicUserMap = collection.stream().collect(Collectors.toMap(ScreenProjectDataDTO::getTopicId,o->o,(o1,o2)->o1)); } - List collection = userDao.selectScreenProjectData(topicUserIdList); - Map topicUserMap = collection.stream().collect(Collectors.toMap(ScreenProjectDataDTO::getTopicId,o->o,(o1,o2)->o1)); - /* if(!CollectionUtils.isEmpty(collection)){ - list.stream().flatMap(target -> collection.stream().filter(res -> StringUtils.equals(target.getLinkName(),res.getTopicId())) - .map(merge -> { - target.setLinkName(merge.getLinkName()); - target.setLinkMobile(merge.getLinkMobile()); - return target;})); - }*/ + + List staffUserIdList = list.stream().filter(o -> ProjectConstant.PROJECT_ORIGIN_AGENCY.equals(o.getOrigin())) .map(ScreenProjectDataDTO::getLinkName).distinct().collect(Collectors.toList()); - if (CollectionUtils.isEmpty(topicUserIdList)){ - return; + + Map staffMap = new HashMap<>(); + if (!CollectionUtils.isEmpty(staffUserIdList)){ + List staffList = userDao.selectStaffInfo(staffUserIdList); + logger.info("fillScreenProjectData staff list:{},param:{}", JSON.toJSONString(staffList),staffUserIdList); + staffMap = staffList.stream().collect(Collectors.toMap(ScreenProjectDataDTO::getId,o->o,(o1,o2)->o1)); } - List staffList = userDao.selectStaffInfo(staffUserIdList); - Map collect = staffList.stream().collect(Collectors.toMap(ScreenProjectDataDTO::getId,o->o,(o1,o2)->o1)); - list.forEach(project->{ - ScreenProjectDataDTO userDTO = collect.get(project.getLinkName()); - if (userDTO == null){ + + for (ScreenProjectDataDTO project : list) { + ScreenProjectDataDTO userDTO = staffMap.get(project.getLinkName()); + if (userDTO == null) { userDTO = topicUserMap.get(project.getLinkName()); } - if (userDTO != null){ + if (userDTO != null) { + logger.info("fillScreenProjectData every user data:{}", JSON.toJSONString(userDTO)); project.setLinkName(userDTO.getLinkName()); project.setLinkMobile(userDTO.getLinkMobile()); } - }); + } + logger.info("fillScreenProjectData result list:{}", JSON.toJSONString(list)); } /** diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueProjectCategoryDictDao.xml b/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueProjectCategoryDictDao.xml index 4a7b073b73..dca01a63f5 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueProjectCategoryDictDao.xml +++ b/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueProjectCategoryDictDao.xml @@ -235,12 +235,13 @@ SELECT #{l.projectId} AS projectId, - CATEGORY_NAME - FROM issue_project_category_dict - WHERE DEL_FLAG = '0' - AND IS_DISABLE = 'enable' - AND CUSTOMER_ID = #{customerId} - AND CATEGORY_CODE = #{l.categoryCode} + CONCAT(if(cd2.CATEGORY_CODE = '0','',CONCAT(cd2.CATEGORY_NAME,'-')),cd.CATEGORY_NAME) AS categoryName + FROM issue_project_category_dict cd + LEFT JOIN issue_project_category_dict cd2 ON cd2.CATEGORY_CODE = cd.PARENT_CATEGORY_CODE AND cd2.DEL_FLAG = '0' AND cd2.CUSTOMER_ID = #{customerId} + WHERE cd.DEL_FLAG = '0' + AND cd.IS_DISABLE = 'enable' + AND cd.CUSTOMER_ID = #{customerId} + AND cd.CATEGORY_CODE = #{l.categoryCode} diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectSatisfactionStatisticsServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectSatisfactionStatisticsServiceImpl.java index 119f217c14..f3925108f3 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectSatisfactionStatisticsServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectSatisfactionStatisticsServiceImpl.java @@ -38,6 +38,7 @@ import com.epmet.dto.result.MassesDiscontentResultDTO; import com.epmet.dto.result.ProjectCategoryDisPoseResultDTO; import com.epmet.dto.result.ProjectEvaluateScoreResultDTO; import com.epmet.dto.result.ProjectScoreResultDTO; +import com.epmet.entity.ProjectEntity; import com.epmet.entity.ProjectSatisfactionStatisticsEntity; import com.epmet.feign.GovIssueOpenFeignClient; import com.epmet.redis.ProjectSatisfactionStatisticsRedis; @@ -138,6 +139,11 @@ public class ProjectSatisfactionStatisticsServiceImpl extends BaseServiceImpl