From 669e6e59eea4e13451c001100a709358127d31bf Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Wed, 12 May 2021 10:01:31 +0800 Subject: [PATCH 1/6] =?UTF-8?q?=E8=A1=A5=E5=85=A8=20=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E8=AF=84=E4=BB=B7=E6=97=B6=EF=BC=8C=E6=B7=BB=E5=8A=A0=E9=A1=B9?= =?UTF-8?q?=E7=9B=AE=E8=AF=84=E4=BB=B7=E7=BB=9F=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ProjectSatisfactionStatisticsDTO.java | 5 ++ .../ProjectSatisfactionStatisticsEntity.java | 5 ++ .../epmet/feign/GovIssueOpenFeignClient.java | 9 +++ .../GovIssueOpenFeignClientFallBack.java | 5 ++ .../com/epmet/controller/IssueController.java | 11 +++ .../com/epmet/dao/IssueVoteDetailDao.java | 8 +++ .../java/com/epmet/service/IssueService.java | 8 +++ .../epmet/service/impl/IssueServiceImpl.java | 34 ++++++++- .../resources/mapper/IssueVoteDetailDao.xml | 10 +++ .../dto/ProjectSatisfactionStatisticsDTO.java | 5 ++ .../dto/form/ProjectEvaluateFormDTO.java | 5 ++ .../com/epmet/constant/ProjectConstant.java | 4 ++ .../dao/ProjectSatisfactionStatisticsDao.java | 20 +++++- .../ProjectSatisfactionStatisticsEntity.java | 5 ++ .../java/com/epmet/redis/ProjectRedis.java | 26 +++++++ .../ProjectSatisfactionDetailServiceImpl.java | 70 +++++++++++++++++++ .../V0.0.12__alter_shouldEvaluateCount.sql | 1 + .../ProjectSatisfactionStatisticsDao.xml | 42 +++++++---- .../group/feign/ResiGroupOpenFeignClient.java | 14 ++-- .../ResiGroupOpenFeignClientFallback.java | 5 ++ .../topic/controller/ResiTopicController.java | 11 +++ .../topic/service/ResiTopicService.java | 8 +++ .../service/impl/ResiTopicServiceImpl.java | 15 ++++ 23 files changed, 307 insertions(+), 19 deletions(-) create mode 100644 epmet-module/gov-project/gov-project-server/src/main/resources/db/migration/V0.0.12__alter_shouldEvaluateCount.sql diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govproject/ProjectSatisfactionStatisticsDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govproject/ProjectSatisfactionStatisticsDTO.java index 8e2f609f3e..9328ef8552 100644 --- a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govproject/ProjectSatisfactionStatisticsDTO.java +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govproject/ProjectSatisfactionStatisticsDTO.java @@ -93,4 +93,9 @@ public class ProjectSatisfactionStatisticsDTO implements Serializable { */ private String customerId; + /** + * 应评价人数【等于实际表决人数】 + */ + private Integer shouldEvaluateCount; + } \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/govproject/ProjectSatisfactionStatisticsEntity.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/govproject/ProjectSatisfactionStatisticsEntity.java index 6af728022a..d3c93ba38c 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/govproject/ProjectSatisfactionStatisticsEntity.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/govproject/ProjectSatisfactionStatisticsEntity.java @@ -66,4 +66,9 @@ public class ProjectSatisfactionStatisticsEntity extends BaseEpmetEntity { @TableField(fill = FieldFill.INSERT) private String customerId; + /** + * 应评价人数【等于实际表决人数】 + */ + private Integer shouldEvaluateCount; + } diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/GovIssueOpenFeignClient.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/GovIssueOpenFeignClient.java index 190cbaf2f8..d46f42480a 100644 --- a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/GovIssueOpenFeignClient.java +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/GovIssueOpenFeignClient.java @@ -309,4 +309,13 @@ public interface GovIssueOpenFeignClient { **/ @PostMapping(value = "/gov/issue/issue/getissuelist") Result> getIssueList(@RequestParam String customerId); + + /** + * @Description 查询可评价项目人数 + * @Param issueId + * @author zxc + * @date 2021/5/12 9:31 上午 + */ + @PostMapping("/gov/issue/issue/canevaluateprojectcount") + Result> canEvaluateProjectCount(@RequestParam("issueId")String issueId); } diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/fallback/GovIssueOpenFeignClientFallBack.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/fallback/GovIssueOpenFeignClientFallBack.java index 67e41d309a..b83f7c76b3 100644 --- a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/fallback/GovIssueOpenFeignClientFallBack.java +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/fallback/GovIssueOpenFeignClientFallBack.java @@ -261,4 +261,9 @@ public class GovIssueOpenFeignClientFallBack implements GovIssueOpenFeignClient public Result> getIssueList(String customerId) { return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER, "getIssueList", customerId); } + + @Override + public Result> canEvaluateProjectCount(String issueId) { + return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER, "canEvaluateProjectCount", issueId); + } } diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueController.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueController.java index a539727606..fd5c97e5dc 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueController.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueController.java @@ -256,5 +256,16 @@ public class IssueController { return new Result>().ok(issueService.getIssueList(customerId)); } + /** + * @Description 查询可评价项目人数 + * @Param issueId + * @author zxc + * @date 2021/5/11 4:50 下午 + */ + @PostMapping("canevaluateprojectcount") + public Result> canEvaluateProjectCount(@RequestParam("issueId")String issueId){ + return new Result>().ok(issueService.canEvaluateProjectCount(issueId)); + } + } diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueVoteDetailDao.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueVoteDetailDao.java index c5c96901ea..7e31593484 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueVoteDetailDao.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueVoteDetailDao.java @@ -113,4 +113,12 @@ public interface IssueVoteDetailDao extends BaseDao { * @date 2021.03.18 14:58 */ List selectBatchVoteCount(@Param("issueIds")Set issueIds); + + /** + * @Description 查询议题表决数 + * @Param issueId + * @author zxc + * @date 2021/5/11 5:15 下午 + */ + List selectIssueVoteCount(@Param("issueId")String issueId); } \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueService.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueService.java index 90e06f1185..5dfda22af4 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueService.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueService.java @@ -325,4 +325,12 @@ public interface IssueService extends BaseService { * @date 2021/4/27 10:23 上午 */ List getIssueList(String customerId); + + /** + * @Description 查询可评价项目人数 + * @Param issueId + * @author zxc + * @date 2021/5/11 4:50 下午 + */ + List canEvaluateProjectCount(String issueId); } diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java index 7532a52fdb..1549c36b01 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java @@ -27,6 +27,7 @@ import com.epmet.constant.UserMessageConstant; import com.epmet.dao.IssueDao; import com.epmet.dao.IssueProcessDao; import com.epmet.dao.IssueProjectRelationDao; +import com.epmet.dao.IssueVoteDetailDao; import com.epmet.dto.*; import com.epmet.dto.form.IssueAuditionFormDTO; import com.epmet.dto.form.IssueShiftedFromTopicFormDTO; @@ -121,7 +122,8 @@ public class IssueServiceImpl extends BaseServiceImpl imp private IssueTagsService issueTagsService; @Autowired private IssueProjectTagDictService issueProjectTagDictService; - + @Autowired + private IssueVoteDetailDao issueVoteDetailDao; @Value("${openapi.scan.server.url}") @@ -1408,4 +1410,34 @@ public class IssueServiceImpl extends BaseServiceImpl imp return ConvertUtils.sourceToTarget(issueEntities,IssueDTO.class); } + /** + * @Description 查询可评价项目人数 + * @Param issueId + * @author zxc + * @date 2021/5/11 4:50 下午 + */ + @Override + public List canEvaluateProjectCount(String issueId) { + List userIds = new ArrayList<>(); + IssueEntity issueEntity = baseDao.selectById(issueId); + if(null == issueEntity){ + throw new RenException("议题信息不存在"); + } + // 议题创建者 + userIds.add(issueEntity.getCreatedBy()); + // 表决过的人 + List votedCount = issueVoteDetailDao.selectIssueVoteCount(issueId); + if (!CollectionUtils.isEmpty(votedCount)){ + userIds.addAll(votedCount); + } + // 话题创建者 + Result topicCreatedUser = resiGroupOpenFeignClient.topicCreatedUser(issueEntity.getSourceId()); + if (!topicCreatedUser.success()){ + throw new RenException("【查询话题创建者失败】["+topicCreatedUser.getMsg()+"]"); + } + userIds.add(topicCreatedUser.getData()); + // 去重 + return userIds.stream().distinct().collect(Collectors.toList()); + } + } diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueVoteDetailDao.xml b/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueVoteDetailDao.xml index 166f3d2b17..b782350f74 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueVoteDetailDao.xml +++ b/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueVoteDetailDao.xml @@ -155,4 +155,14 @@ + + \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/ProjectSatisfactionStatisticsDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/ProjectSatisfactionStatisticsDTO.java index 27c2a68a7a..20507c91d4 100644 --- a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/ProjectSatisfactionStatisticsDTO.java +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/ProjectSatisfactionStatisticsDTO.java @@ -93,4 +93,9 @@ public class ProjectSatisfactionStatisticsDTO implements Serializable { */ private String customerId; + /** + * 应评价人数【等于实际表决人数】 + */ + private Integer shouldEvaluateCount; + } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectEvaluateFormDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectEvaluateFormDTO.java index d70fe56a24..9f67f12c7b 100644 --- a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectEvaluateFormDTO.java +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectEvaluateFormDTO.java @@ -33,5 +33,10 @@ public class ProjectEvaluateFormDTO implements Serializable { */ private String userId; + /** + * 客户ID + */ + private String customerId; + } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ProjectConstant.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ProjectConstant.java index 71402799e8..c32d227ad6 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ProjectConstant.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ProjectConstant.java @@ -174,4 +174,8 @@ public interface ProjectConstant { String NOT_EXIST_PROJECT = "未查询带此项目信息......"; String EXTERNAL_SYSTEM = "third_platform_project_send"; + + String EVALUATE_GOOD = "good"; + String EVALUATE_BAD = "bad"; + String EVALUATE_PERFECT = "perfect"; } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectSatisfactionStatisticsDao.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectSatisfactionStatisticsDao.java index 1b05ef5788..001456d125 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectSatisfactionStatisticsDao.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectSatisfactionStatisticsDao.java @@ -20,6 +20,7 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.entity.ProjectSatisfactionStatisticsEntity; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; /** * 项目满意度调查统计表 @@ -29,5 +30,22 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface ProjectSatisfactionStatisticsDao extends BaseDao { - + + /** + * @Description 校验此项目是否存在 + * @Param projectId + * @author zxc + * @date 2021/5/10 4:35 下午 + */ + Integer checkProjectExists(@Param("projectId")String projectId); + + /** + * @Description 更新项目评价数据 + * @Param projectId + * @Param evalType + * @author zxc + * @date 2021/5/10 4:57 下午 + */ + void updateEvaluateData(@Param("projectId")String projectId,@Param("evalType")String evalType,@Param("shouldEvaluateCount")Integer shouldEvaluateCount); + } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/ProjectSatisfactionStatisticsEntity.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/ProjectSatisfactionStatisticsEntity.java index 5474b38c88..b78760b234 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/ProjectSatisfactionStatisticsEntity.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/ProjectSatisfactionStatisticsEntity.java @@ -65,4 +65,9 @@ public class ProjectSatisfactionStatisticsEntity extends BaseEpmetEntity { */ @TableField(fill = FieldFill.INSERT) private String customerId; + + /** + * 应评价人数【等于实际表决人数】 + */ + private Integer shouldEvaluateCount; } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/redis/ProjectRedis.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/redis/ProjectRedis.java index e285bd2572..519dc8f18d 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/redis/ProjectRedis.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/redis/ProjectRedis.java @@ -17,10 +17,17 @@ package com.epmet.redis; +import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.redis.RedisUtils; +import com.epmet.dto.form.VoteRedisFormDTO; +import com.epmet.issue.constant.IssueConstant; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; +import java.util.Map; + +import static com.epmet.commons.tools.utils.ConvertUtils.mapToEntity; + /** * 项目表 * @@ -29,6 +36,9 @@ import org.springframework.stereotype.Component; */ @Component public class ProjectRedis { + + private final static String issueVoteKey = "epmet:issue:"; + @Autowired private RedisUtils redisUtils; @@ -44,4 +54,20 @@ public class ProjectRedis { return null; } + /** + * @Description 获取议题表决详情 + * @Param issueId + * @author zxc + * @date 2021/5/11 1:51 下午 + */ + public VoteRedisFormDTO getIssueVoteDetail(String issueId){ + String key = issueVoteKey + issueId; + Map stringObjectMap = redisUtils.hGetAll(key); + if (stringObjectMap.size()== NumConstant.ZERO || stringObjectMap == null){ + return new VoteRedisFormDTO(); + } + VoteRedisFormDTO voteRedisFormDTO = mapToEntity(stringObjectMap, VoteRedisFormDTO.class); + return voteRedisFormDTO; + } + } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectSatisfactionDetailServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectSatisfactionDetailServiceImpl.java index 55a6425703..7ee52c37c6 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectSatisfactionDetailServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectSatisfactionDetailServiceImpl.java @@ -20,6 +20,7 @@ package com.epmet.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.distributedlock.DistributedLock; import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.constant.FieldConstant; @@ -32,16 +33,23 @@ import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.ScanContentUtils; import com.epmet.constant.ProjectConstant; +import com.epmet.dao.ProjectDao; import com.epmet.dao.ProjectSatisfactionDetailDao; +import com.epmet.dao.ProjectSatisfactionStatisticsDao; import com.epmet.dto.ProjectSatisfactionDetailDTO; import com.epmet.dto.form.*; import com.epmet.dto.result.*; +import com.epmet.entity.ProjectEntity; import com.epmet.entity.ProjectSatisfactionDetailEntity; +import com.epmet.entity.ProjectSatisfactionStatisticsEntity; import com.epmet.feign.EpmetUserFeignClient; +import com.epmet.feign.GovIssueOpenFeignClient; +import com.epmet.redis.ProjectRedis; import com.epmet.redis.ProjectSatisfactionDetailRedis; import com.epmet.service.ProjectSatisfactionDetailService; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; +import org.redisson.api.RLock; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; @@ -69,6 +77,16 @@ public class ProjectSatisfactionDetailServiceImpl extends BaseServiceImpl page(Map params) { @@ -216,6 +234,58 @@ public class ProjectSatisfactionDetailServiceImpl extends BaseServiceImpl> canEvaluateProjectCount = govIssueOpenFeignClient.canEvaluateProjectCount(projectEntity.getOriginId()); + if (!canEvaluateProjectCount.success()){ + throw new RenException("【查询项目应评价人数失败】,【"+canEvaluateProjectCount.getMsg()+"】"); + } + List userIds = canEvaluateProjectCount.getData(); + // 校验此项目记录是否存在 + Integer count = statisticsDao.checkProjectExists(formDTO.getProjectId()); + if (count == NumConstant.ZERO){ + ProjectSatisfactionStatisticsEntity entity1 = new ProjectSatisfactionStatisticsEntity(); + entity1.setShouldEvaluateCount(userIds.size()); + entity1.setCustomerId(formDTO.getCustomerId()); + entity1.setProjectId(formDTO.getProjectId()); + entity1.setBadCount(NumConstant.ZERO); + entity1.setGoodCount(NumConstant.ZERO); + entity1.setPerfectCount(NumConstant.ZERO); + switch (formDTO.getSatisfaction()){ + case ProjectConstant.EVALUATE_BAD: + entity1.setBadCount(NumConstant.ONE); + break; + case ProjectConstant.EVALUATE_GOOD: + entity1.setGoodCount(NumConstant.ONE); + break; + case ProjectConstant .EVALUATE_PERFECT: + entity1.setPerfectCount(NumConstant.ONE); + default: + } + // 新添一条记录 + statisticsDao.insert(entity1); + }else { + // 更新 + statisticsDao.updateEvaluateData(formDTO.getProjectId(), formDTO.getSatisfaction(),userIds.size()); + } + } + }catch (Exception e){ + throw new RenException(e.getMessage()); + }finally { + if (lock != null){ + lock.unlock(); + } + } } /** diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/db/migration/V0.0.12__alter_shouldEvaluateCount.sql b/epmet-module/gov-project/gov-project-server/src/main/resources/db/migration/V0.0.12__alter_shouldEvaluateCount.sql new file mode 100644 index 0000000000..61f86068b0 --- /dev/null +++ b/epmet-module/gov-project/gov-project-server/src/main/resources/db/migration/V0.0.12__alter_shouldEvaluateCount.sql @@ -0,0 +1 @@ +ALTER TABLE `project_satisfaction_statistics` ADD `SHOULD_EVALUATE_COUNT` int(11) NOT NULL COMMENT '应评价人数【等于实际表决人数】'; \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectSatisfactionStatisticsDao.xml b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectSatisfactionStatisticsDao.xml index 65324c0d07..93b220d27e 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectSatisfactionStatisticsDao.xml +++ b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectSatisfactionStatisticsDao.xml @@ -3,19 +3,35 @@ - - - - - - - - - - - - - + + + UPDATE project_satisfaction_statistics + SET + + BAD_COUNT = BAD_COUNT + 1, + + + GOOD_COUNT = GOOD_COUNT + 1, + + + PERFECT_COUNT = PERFECT_COUNT + 1, + + SHOULD_EVALUATE_COUNT = #{shouldEvaluateCount}, + UPDATED_TIME = NOW() + WHERE DEL_FLAG = '0' + AND PROJECT_ID = #{projectId} + + + + \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/ResiGroupOpenFeignClient.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/ResiGroupOpenFeignClient.java index 292972c45e..6ff576313e 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/ResiGroupOpenFeignClient.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/ResiGroupOpenFeignClient.java @@ -14,10 +14,7 @@ import com.epmet.resi.group.feign.fallback.ResiGroupOpenFeignClientFallback; import com.epmet.resi.mine.dto.from.MyPartProjectsFormDTO; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.http.MediaType; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.*; import java.util.HashMap; import java.util.List; @@ -253,4 +250,13 @@ public interface ResiGroupOpenFeignClient { */ @PostMapping("resi/group/group/groupPointDetail/{groupId}") Result groupPointDetail(@PathVariable String groupId); + + /** + * @Description 查询话题的创建者 + * @Param topicId + * @author zxc + * @date 2021/5/12 9:16 上午 + */ + @PostMapping("/resi/group/topic/topiccreateduser") + Result topicCreatedUser(@RequestParam("topicId")String topicId); } diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/fallback/ResiGroupOpenFeignClientFallback.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/fallback/ResiGroupOpenFeignClientFallback.java index 84dee1113d..68683aa79a 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/fallback/ResiGroupOpenFeignClientFallback.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/fallback/ResiGroupOpenFeignClientFallback.java @@ -198,4 +198,9 @@ public class ResiGroupOpenFeignClientFallback implements ResiGroupOpenFeignClien public Result groupPointDetail(String groupId) { return ModuleUtils.feignConError(ServiceConstant.RESI_GROUP_SERVER, "groupPointDetail", groupId); } + + @Override + public Result topicCreatedUser(String topicId) { + return ModuleUtils.feignConError(ServiceConstant.RESI_GROUP_SERVER, "topicCreatedUser", topicId); + } } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/ResiTopicController.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/ResiTopicController.java index ef4a773ccf..169006e8cb 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/ResiTopicController.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/ResiTopicController.java @@ -485,4 +485,15 @@ public class ResiTopicController { ValidatorUtils.validateEntity(formDTO, GetPastTopicListV2FormDTO.GetPastTopicListV2Form.class); return new Result>().ok(topicService.allMessages(formDTO)); } + + /** + * @Description 查询话题的创建者 + * @Param topicId + * @author zxc + * @date 2021/5/12 9:16 上午 + */ + @PostMapping("topiccreateduser") + public Result topicCreatedUser(@RequestParam("topicId")String topicId){ + return new Result().ok(topicService.topicCreatedUser(topicId)); + } } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/ResiTopicService.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/ResiTopicService.java index 064255c04c..b432ecd7c9 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/ResiTopicService.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/ResiTopicService.java @@ -389,4 +389,12 @@ public interface ResiTopicService extends BaseService { * @date 2021/4/28 上午10:41 */ List allMessages(AllMessagesFormDTO formDTO); + + /** + * @Description 查询话题的创建者 + * @Param topicId + * @author zxc + * @date 2021/5/12 9:16 上午 + */ + String topicCreatedUser(String topicId); } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java index 6c4ff65b4f..d3826404f2 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java @@ -2746,6 +2746,21 @@ public class ResiTopicServiceImpl extends BaseServiceImpl Date: Wed, 12 May 2021 17:46:44 +0800 Subject: [PATCH 2/6] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E8=AF=84=E4=BB=B7?= =?UTF-8?q?=E7=BB=9F=E8=AE=A1=E8=A1=A5=E5=85=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...CanEvaluateProjectCountBatchResultDTO.java | 26 +++++++ .../epmet/dto/result/IssueVoteResultDTO.java | 20 +++++ .../epmet/feign/GovIssueOpenFeignClient.java | 9 +++ .../GovIssueOpenFeignClientFallBack.java | 5 ++ .../com/epmet/controller/IssueController.java | 11 +++ .../com/epmet/dao/IssueVoteDetailDao.java | 9 +++ .../java/com/epmet/service/IssueService.java | 8 ++ .../epmet/service/impl/IssueServiceImpl.java | 61 +++++++++++++++ .../resources/mapper/IssueVoteDetailDao.xml | 16 ++++ .../ComplementedProjectEvaluateResultDTO.java | 24 ++++++ .../ProjectEvaluateDetailResultDTO.java | 20 +++++ .../ProjectSatisfactionDetailController.java | 11 +++ .../main/java/com/epmet/dao/ProjectDao.java | 7 ++ .../dao/ProjectSatisfactionDetailDao.java | 9 +++ .../dao/ProjectSatisfactionStatisticsDao.java | 9 +++ .../ProjectSatisfactionStatisticsEntity.java | 8 ++ .../ProjectSatisfactionDetailService.java | 7 ++ .../ProjectSatisfactionDetailServiceImpl.java | 76 ++++++++++++++++++- .../src/main/resources/mapper/ProjectDao.xml | 12 +++ .../mapper/ProjectSatisfactionDetailDao.xml | 16 ++++ .../ProjectSatisfactionStatisticsDao.xml | 5 ++ .../TopicCreatedUserBatchResultDTO.java | 20 +++++ .../group/feign/ResiGroupOpenFeignClient.java | 9 +++ .../ResiGroupOpenFeignClientFallback.java | 5 ++ .../impl/StatsAchievementServiceImpl.java | 16 ++-- .../topic/controller/ResiTopicController.java | 12 +++ .../topic/service/ResiTopicService.java | 8 ++ .../service/impl/ResiTopicServiceImpl.java | 22 ++++++ 28 files changed, 452 insertions(+), 9 deletions(-) create mode 100644 epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/CanEvaluateProjectCountBatchResultDTO.java create mode 100644 epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/IssueVoteResultDTO.java create mode 100644 epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ComplementedProjectEvaluateResultDTO.java create mode 100644 epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ProjectEvaluateDetailResultDTO.java create mode 100644 epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/TopicCreatedUserBatchResultDTO.java diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/CanEvaluateProjectCountBatchResultDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/CanEvaluateProjectCountBatchResultDTO.java new file mode 100644 index 0000000000..3e27b04112 --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/CanEvaluateProjectCountBatchResultDTO.java @@ -0,0 +1,26 @@ +package com.epmet.dto.result; + +import com.fasterxml.jackson.annotation.JsonIgnore; +import lombok.Data; + +import java.io.Serializable; +import java.util.ArrayList; +import java.util.List; + +/** + * @Author zxc + * @DateTime 2021/5/12 11:16 上午 + * @DESC + */ +@Data +public class CanEvaluateProjectCountBatchResultDTO implements Serializable { + + private static final long serialVersionUID = -3577868520393911786L; + + private String issueId; + + private List userIds = new ArrayList<>(); + + @JsonIgnore + private String userId; +} diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/IssueVoteResultDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/IssueVoteResultDTO.java new file mode 100644 index 0000000000..cf38c9b55c --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/IssueVoteResultDTO.java @@ -0,0 +1,20 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * @DateTime 2021/5/12 1:44 下午 + * @DESC + */ +@Data +public class IssueVoteResultDTO implements Serializable { + + private static final long serialVersionUID = -616467646035136184L; + + private String issueId; + + private String userId; +} diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/GovIssueOpenFeignClient.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/GovIssueOpenFeignClient.java index d46f42480a..dff2bbca89 100644 --- a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/GovIssueOpenFeignClient.java +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/GovIssueOpenFeignClient.java @@ -318,4 +318,13 @@ public interface GovIssueOpenFeignClient { */ @PostMapping("/gov/issue/issue/canevaluateprojectcount") Result> canEvaluateProjectCount(@RequestParam("issueId")String issueId); + + /** + * @Description 查询可评价项目人数 【批量】 + * @Param issueIds + * @author zxc + * @date 2021/5/12 9:31 上午 + */ + @PostMapping("/gov/issue/issue/canevaluateprojectcountbatch") + Result> canEvaluateProjectCountBatch(@RequestParam("issueIds")List issueIds); } diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/fallback/GovIssueOpenFeignClientFallBack.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/fallback/GovIssueOpenFeignClientFallBack.java index b83f7c76b3..869c096ddd 100644 --- a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/fallback/GovIssueOpenFeignClientFallBack.java +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/fallback/GovIssueOpenFeignClientFallBack.java @@ -266,4 +266,9 @@ public class GovIssueOpenFeignClientFallBack implements GovIssueOpenFeignClient public Result> canEvaluateProjectCount(String issueId) { return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER, "canEvaluateProjectCount", issueId); } + + @Override + public Result> canEvaluateProjectCountBatch(List issueIds) { + return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER, "canEvaluateProjectCountBatch", issueIds); + } } diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueController.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueController.java index fd5c97e5dc..4f1125b356 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueController.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueController.java @@ -267,5 +267,16 @@ public class IssueController { return new Result>().ok(issueService.canEvaluateProjectCount(issueId)); } + /** + * @Description 查询可评价项目人数【批量】 + * @Param issueId + * @author zxc + * @date 2021/5/11 4:50 下午 + */ + @PostMapping("canevaluateprojectcountbatch") + public Result> canEvaluateProjectCountBatch(@RequestParam("issueIds")List issueIds){ + return new Result>().ok(issueService.canEvaluateProjectCountBatch(issueIds)); + } + } diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueVoteDetailDao.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueVoteDetailDao.java index 7e31593484..65d2d35904 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueVoteDetailDao.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueVoteDetailDao.java @@ -22,6 +22,7 @@ import com.epmet.dto.IssueVoteDetailDTO; import com.epmet.dto.form.VoteFormDTO; import com.epmet.dto.form.VoteRedisFormDTO; import com.epmet.dto.result.IssueAttitudeCountResultDTO; +import com.epmet.dto.result.IssueVoteResultDTO; import com.epmet.dto.result.MyPartIssuesResultDTO; import com.epmet.entity.IssueVoteDetailEntity; import org.apache.ibatis.annotations.Mapper; @@ -121,4 +122,12 @@ public interface IssueVoteDetailDao extends BaseDao { * @date 2021/5/11 5:15 下午 */ List selectIssueVoteCount(@Param("issueId")String issueId); + + /** + * @Description 查询议题表决数【批量】 + * @Param issueIds + * @author zxc + * @date 2021/5/12 1:48 下午 + */ + List selectIssueVoteCountBatch(@Param("issueIds")List issueIds); } \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueService.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueService.java index 5dfda22af4..dd1eb23013 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueService.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueService.java @@ -333,4 +333,12 @@ public interface IssueService extends BaseService { * @date 2021/5/11 4:50 下午 */ List canEvaluateProjectCount(String issueId); + + /** + * @Description 查询可评价项目人数【批量】 + * @Param issueId + * @author zxc + * @date 2021/5/11 4:50 下午 + */ + List canEvaluateProjectCountBatch(List issueIds); } diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java index 1549c36b01..f35ca71dce 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java @@ -50,6 +50,7 @@ import com.epmet.resi.group.dto.topic.ResiTopicDTO; import com.epmet.resi.group.dto.topic.form.GovTopicIssueInfoFormDTO; import com.epmet.resi.group.dto.topic.form.*; import com.epmet.resi.group.dto.topic.result.GovTopicIssueInfoResultDTO; +import com.epmet.resi.group.dto.topic.result.TopicCreatedUserBatchResultDTO; import com.epmet.resi.group.feign.ResiGroupOpenFeignClient; import com.epmet.send.SendMqMsgUtil; import com.epmet.service.*; @@ -1440,4 +1441,64 @@ public class IssueServiceImpl extends BaseServiceImpl imp return userIds.stream().distinct().collect(Collectors.toList()); } + /** + * @Description 查询可评价项目人数【批量】 + * @Param issueId + * @author zxc + * @date 2021/5/11 4:50 下午 + */ + @Override + public List canEvaluateProjectCountBatch(List issueIds) { + // 根据议题查询 + List issueEntities = baseDao.selectBatchIds(issueIds); + if (CollectionUtils.isEmpty(issueEntities)){ + throw new RenException("议题信息不存在"); + } + List result = new ArrayList<>(); + issueEntities.forEach(i -> { + CanEvaluateProjectCountBatchResultDTO r = new CanEvaluateProjectCountBatchResultDTO(); + r.setIssueId(i.getId()); + r.setUserId(i.getCreatedBy()); + result.add(r); + }); + // 所有议题表决 + List issueVoteResult = issueVoteDetailDao.selectIssueVoteCountBatch(issueIds); + Map> groupByIssue = new HashMap<>(16); + if (!CollectionUtils.isEmpty(issueVoteResult)){ + // 根据议题分组 + groupByIssue = issueVoteResult.stream().collect(Collectors.groupingBy(IssueVoteResultDTO::getIssueId)); + } + Map> finalGroupByIssue = groupByIssue; + boolean empty = finalGroupByIssue.isEmpty(); + Result> topicCreatedUserBatch = resiGroupOpenFeignClient.topicCreatedUserBatch(issueEntities.stream().map(m -> m.getSourceId()).collect(Collectors.toList())); + if (!topicCreatedUserBatch.success()){ + throw new RenException("【查询话题创建者失败】["+topicCreatedUserBatch.getMsg()+"]"); + } + List topicCreatedUserBatchData = topicCreatedUserBatch.getData(); + result.forEach(r -> { + List userIds = new ArrayList<>(); + // 议题创建者 + userIds.add(r.getUserId()); + if (!empty){ + // 实际表决人数 + finalGroupByIssue.forEach((issueId, list) -> { + if (r.getIssueId().equals(issueId)){ + List votePeople = list.stream().map(m -> m.getUserId()).collect(Collectors.toList()); + userIds.addAll(votePeople); + } + }); + } + // 话题创建者 + if (!CollectionUtils.isEmpty(topicCreatedUserBatchData)){ + topicCreatedUserBatchData.forEach(t -> { + if (r.getIssueId().equals(t.getIssueId())){ + userIds.add(t.getUserId()); + } + }); + } + r.setUserIds(userIds.stream().distinct().collect(Collectors.toList())); + }); + return result; + } + } diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueVoteDetailDao.xml b/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueVoteDetailDao.xml index b782350f74..3b5b4be83a 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueVoteDetailDao.xml +++ b/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueVoteDetailDao.xml @@ -165,4 +165,20 @@ DEL_FLAG = '0' AND ISSUE_ID = #{issueId} + + + \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ComplementedProjectEvaluateResultDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ComplementedProjectEvaluateResultDTO.java new file mode 100644 index 0000000000..ae80b92d25 --- /dev/null +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ComplementedProjectEvaluateResultDTO.java @@ -0,0 +1,24 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * @DateTime 2021/5/12 10:24 上午 + * @DESC + */ +@Data +public class ComplementedProjectEvaluateResultDTO implements Serializable { + + private static final long serialVersionUID = -300492311961684245L; + + private String projectId; + + private String issueId; + + private String customerId; + + private Boolean disposeStatus = false; +} diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ProjectEvaluateDetailResultDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ProjectEvaluateDetailResultDTO.java new file mode 100644 index 0000000000..3e58285bd0 --- /dev/null +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ProjectEvaluateDetailResultDTO.java @@ -0,0 +1,20 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * @DateTime 2021/5/12 4:34 下午 + * @DESC + */ +@Data +public class ProjectEvaluateDetailResultDTO implements Serializable { + + private static final long serialVersionUID = -6651646333040235330L; + + private String projectId; + + private String satisfaction; +} diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectSatisfactionDetailController.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectSatisfactionDetailController.java index e6cff263f9..ac8d77458a 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectSatisfactionDetailController.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectSatisfactionDetailController.java @@ -127,4 +127,15 @@ public class ProjectSatisfactionDetailController { return new Result>().ok(projectSatisfactionDetailService.projectEvaluationList(formDTO)); } + /** + * @Description 补全项目评价统计 + * @author zxc + * @date 2021/5/12 10:04 上午 + */ + @PostMapping("complementedprojectevaluate") + public Result complementedProjectEvaluate(){ + projectSatisfactionDetailService.complementedProjectEvaluate(); + return new Result(); + } + } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectDao.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectDao.java index 5eccc08f67..17efc1b958 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectDao.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectDao.java @@ -147,4 +147,11 @@ public interface ProjectDao extends BaseDao { @Param("customerId") String customerId); ProjectInfoDTO queryProjectInfoByProjectId(String projectId); + + /** + * @Description 查询所以已关闭的项目【项目来源为 'issue'】 + * @author zxc + * @date 2021/5/12 10:29 上午 + */ + List selectAllClosedProject(); } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectSatisfactionDetailDao.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectSatisfactionDetailDao.java index 83ab6375c0..d015d6900c 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectSatisfactionDetailDao.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectSatisfactionDetailDao.java @@ -20,6 +20,7 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.dto.form.ProjectEvaluationListFormDTO; import com.epmet.dto.form.ProjectInitEvaluationFormDTO; +import com.epmet.dto.result.ProjectEvaluateDetailResultDTO; import com.epmet.dto.result.ProjectEvaluateInfoResultDTO; import com.epmet.dto.result.EvaluationListResultDTO; import com.epmet.dto.result.ProjectEvaluationListResultDTO; @@ -60,4 +61,12 @@ public interface ProjectSatisfactionDetailDao extends BaseDao projectEvaluationList(ProjectEvaluationListFormDTO formDTO); + /** + * @Description 查询项目的评价人 + * @Param projectIds + * @author zxc + * @date 2021/5/12 4:42 下午 + */ + List selectProjectEvaluateDetail(@Param("projectIds")List projectIds); + } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectSatisfactionStatisticsDao.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectSatisfactionStatisticsDao.java index 001456d125..01c9325c98 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectSatisfactionStatisticsDao.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectSatisfactionStatisticsDao.java @@ -22,6 +22,8 @@ import com.epmet.entity.ProjectSatisfactionStatisticsEntity; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** * 项目满意度调查统计表 * @@ -48,4 +50,11 @@ public interface ProjectSatisfactionStatisticsDao extends BaseDao selectExistsProject(); + } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/ProjectSatisfactionStatisticsEntity.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/ProjectSatisfactionStatisticsEntity.java index b78760b234..09c8985235 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/ProjectSatisfactionStatisticsEntity.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/ProjectSatisfactionStatisticsEntity.java @@ -22,6 +22,7 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.epmet.commons.mybatis.entity.BaseEpmetEntity; +import com.epmet.commons.tools.constant.NumConstant; import lombok.Data; import lombok.EqualsAndHashCode; @@ -70,4 +71,11 @@ public class ProjectSatisfactionStatisticsEntity extends BaseEpmetEntity { * 应评价人数【等于实际表决人数】 */ private Integer shouldEvaluateCount; + + public ProjectSatisfactionStatisticsEntity() { + this.goodCount = NumConstant.ZERO; + this.perfectCount = NumConstant.ZERO; + this.badCount = NumConstant.ZERO; + this.shouldEvaluateCount = NumConstant.ZERO; + } } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectSatisfactionDetailService.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectSatisfactionDetailService.java index 245b443e28..1457866c04 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectSatisfactionDetailService.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectSatisfactionDetailService.java @@ -129,4 +129,11 @@ public interface ProjectSatisfactionDetailService extends BaseService projectEvaluationList(@RequestBody ProjectEvaluationListFormDTO formDTO); + + /** + * @Description 补全项目评价统计 + * @author zxc + * @date 2021/5/12 10:04 上午 + */ + void complementedProjectEvaluate(); } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectSatisfactionDetailServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectSatisfactionDetailServiceImpl.java index 7ee52c37c6..74f9b235ac 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectSatisfactionDetailServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectSatisfactionDetailServiceImpl.java @@ -47,6 +47,7 @@ import com.epmet.feign.GovIssueOpenFeignClient; import com.epmet.redis.ProjectRedis; import com.epmet.redis.ProjectSatisfactionDetailRedis; import com.epmet.service.ProjectSatisfactionDetailService; +import com.epmet.service.ProjectSatisfactionStatisticsService; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.redisson.api.RLock; @@ -55,6 +56,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.CollectionUtils; import java.util.*; import java.util.stream.Collectors; @@ -87,6 +89,8 @@ public class ProjectSatisfactionDetailServiceImpl extends BaseServiceImpl page(Map params) { @@ -243,7 +247,6 @@ public class ProjectSatisfactionDetailServiceImpl extends BaseServiceImpl> canEvaluateProjectCount = govIssueOpenFeignClient.canEvaluateProjectCount(projectEntity.getOriginId()); @@ -300,4 +303,75 @@ public class ProjectSatisfactionDetailServiceImpl extends BaseServiceImpl allProjects = projectDao.selectAllClosedProject(); + if (CollectionUtils.isEmpty(allProjects)){ + log.warn("不存在可补全的数据"); + return; + } + // 查询已存在的项目记录 + List existsProjects = statisticsDao.selectExistsProject(); + List projects = new ArrayList<>(); + if (CollectionUtils.isEmpty(existsProjects)){ + projects = allProjects; + }else { + allProjects.forEach(a -> { + existsProjects.forEach(p -> { + if (a.getProjectId().equals(p)){ + a.setDisposeStatus(true); + } + }); + }); + Map> groupByStatus = allProjects.stream().collect(Collectors.groupingBy(ComplementedProjectEvaluateResultDTO::getDisposeStatus)); + // 去除存在记录的项目 + projects = groupByStatus.get(false); + } + + List needAdd = new ArrayList<>(); + if (!CollectionUtils.isEmpty(projects)){ + List projectIds = projects.stream().map(m -> m.getIssueId()).collect(Collectors.toList()); + List projectEvaluateDetailResult = baseDao.selectProjectEvaluateDetail(projectIds); + Map> groupByProject = projectEvaluateDetailResult.stream().collect(Collectors.groupingBy(ProjectEvaluateDetailResultDTO::getProjectId)); + boolean empty = groupByProject.isEmpty(); + // 项目应评价人数 = 话题创建者 + 议题发起者 + 议题表决人 【去重】 + Result> canEvaluateProjectCountBatch = govIssueOpenFeignClient.canEvaluateProjectCountBatch(projectIds); + if (!canEvaluateProjectCountBatch.success()){ + throw new RenException("【查询项目应评价人数失败】,【"+canEvaluateProjectCountBatch.getMsg()+"】"); + } + projects.forEach(p -> { + ProjectSatisfactionStatisticsEntity e = new ProjectSatisfactionStatisticsEntity(); + e.setCustomerId(p.getCustomerId()); + e.setProjectId(p.getProjectId()); + if (!empty){ + groupByProject.forEach((projectId,list) -> { + if (p.getProjectId().equals(projectId)){ + Map> groupByS = list.stream().collect(Collectors.groupingBy(ProjectEvaluateDetailResultDTO::getSatisfaction)); + e.setBadCount(groupByS.get(ProjectConstant.EVALUATE_BAD).size()); + e.setGoodCount(groupByS.get(ProjectConstant.EVALUATE_GOOD).size()); + e.setPerfectCount(groupByS.get(ProjectConstant.EVALUATE_PERFECT).size()); + } + }); + } + if (!CollectionUtils.isEmpty(canEvaluateProjectCountBatch.getData())){ + canEvaluateProjectCountBatch.getData().forEach(ep -> { + if (p.getIssueId().equals(ep.getIssueId())){ + e.setShouldEvaluateCount(ep.getUserIds().size()); + } + }); + } + needAdd.add(e); + }); + } + if (!CollectionUtils.isEmpty(needAdd)){ + projectSatisfactionStatisticsService.insertBatch(needAdd); + } + } + } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectDao.xml b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectDao.xml index 0a430eab87..879dc9904a 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectDao.xml +++ b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectDao.xml @@ -269,4 +269,16 @@ where P.DEL_FLAG='0' AND p.id=#{projectId} + + + \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectSatisfactionDetailDao.xml b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectSatisfactionDetailDao.xml index afa26f2ac2..595060968d 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectSatisfactionDetailDao.xml +++ b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectSatisfactionDetailDao.xml @@ -59,4 +59,20 @@ LIMIT #{pageNo},#{pageSize} + + + \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectSatisfactionStatisticsDao.xml b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectSatisfactionStatisticsDao.xml index 93b220d27e..983c2be73c 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectSatisfactionStatisticsDao.xml +++ b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectSatisfactionStatisticsDao.xml @@ -33,5 +33,10 @@ AND PROJECT_ID = #{projectId} + + + \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/TopicCreatedUserBatchResultDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/TopicCreatedUserBatchResultDTO.java new file mode 100644 index 0000000000..be786de0a4 --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/TopicCreatedUserBatchResultDTO.java @@ -0,0 +1,20 @@ +package com.epmet.resi.group.dto.topic.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * @DateTime 2021/5/12 2:25 下午 + * @DESC + */ +@Data +public class TopicCreatedUserBatchResultDTO implements Serializable { + + private static final long serialVersionUID = 3742119092028478772L; + + private String issueId; + + private String userId; +} diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/ResiGroupOpenFeignClient.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/ResiGroupOpenFeignClient.java index 6ff576313e..d27d31fcc5 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/ResiGroupOpenFeignClient.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/ResiGroupOpenFeignClient.java @@ -259,4 +259,13 @@ public interface ResiGroupOpenFeignClient { */ @PostMapping("/resi/group/topic/topiccreateduser") Result topicCreatedUser(@RequestParam("topicId")String topicId); + + /** + * @Description 查询话题的创建者【批量】 + * @Param topicId + * @author zxc + * @date 2021/5/12 9:16 上午 + */ + @PostMapping("/resi/group/topic/topiccreateduserbatch") + Result> topicCreatedUserBatch(@RequestParam("topicIds")List topicIds); } diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/fallback/ResiGroupOpenFeignClientFallback.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/fallback/ResiGroupOpenFeignClientFallback.java index 68683aa79a..89b4e749e7 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/fallback/ResiGroupOpenFeignClientFallback.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/fallback/ResiGroupOpenFeignClientFallback.java @@ -203,4 +203,9 @@ public class ResiGroupOpenFeignClientFallback implements ResiGroupOpenFeignClien public Result topicCreatedUser(String topicId) { return ModuleUtils.feignConError(ServiceConstant.RESI_GROUP_SERVER, "topicCreatedUser", topicId); } + + @Override + public Result> topicCreatedUserBatch(List topicIds) { + return ModuleUtils.feignConError(ServiceConstant.RESI_GROUP_SERVER, "topicCreatedUserBatch", topicIds); + } } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/StatsAchievementServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/StatsAchievementServiceImpl.java index e88b2ce588..6bd5ceb173 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/StatsAchievementServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/StatsAchievementServiceImpl.java @@ -5,10 +5,10 @@ import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.utils.Result; -import com.epmet.dto.CustomerDTO; +//import com.epmet.dto.CustomerDTO; import com.epmet.dto.IssueDTO; import com.epmet.feign.GovIssueOpenFeignClient; -import com.epmet.feign.OperCrmOpenFeignClient; +//import com.epmet.feign.OperCrmOpenFeignClient; import com.epmet.commons.tools.enums.AchievementTypeEnum; import com.epmet.modules.group.dao.ResiGroupDao; import com.epmet.modules.group.entity.ResiGroupAchievementConfigEntity; @@ -50,8 +50,8 @@ public class StatsAchievementServiceImpl extends AbstractStatsAchievementService private ResiTopicDao resiTopicDao; @Autowired private ResiGroupDao resiGroupDao; - @Autowired - private OperCrmOpenFeignClient operCrmOpenFeignClient; +// @Autowired +// private OperCrmOpenFeignClient operCrmOpenFeignClient; @Autowired private GovIssueOpenFeignClient govIssueOpenFeignClient; @@ -387,10 +387,10 @@ public class StatsAchievementServiceImpl extends AbstractStatsAchievementService private List getCustomerIds(String customerId) { List customerIdList = new ArrayList<>(); if (StringUtils.isBlank(customerId)) { - Result> allCustomerList = operCrmOpenFeignClient.getAllCustomerList(); - if (allCustomerList != null && !CollectionUtils.isEmpty(allCustomerList.getData())) { - customerIdList.addAll(allCustomerList.getData().stream().map(CustomerDTO::getId).collect(Collectors.toList())); - } +// Result> allCustomerList = operCrmOpenFeignClient.getAllCustomerList(); +// if (allCustomerList != null && !CollectionUtils.isEmpty(allCustomerList.getData())) { +// customerIdList.addAll(allCustomerList.getData().stream().map(CustomerDTO::getId).collect(Collectors.toList())); +// } } else { customerIdList.add(customerId); } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/ResiTopicController.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/ResiTopicController.java index 169006e8cb..cce7de9dc5 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/ResiTopicController.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/ResiTopicController.java @@ -496,4 +496,16 @@ public class ResiTopicController { public Result topicCreatedUser(@RequestParam("topicId")String topicId){ return new Result().ok(topicService.topicCreatedUser(topicId)); } + + /** + * @Description 查询话题的创建者 + * @Param topicId + * @author zxc + * @date 2021/5/12 9:16 上午 + */ + @PostMapping("topiccreateduserbatch") + public Result> topicCreatedUserBatch(@RequestParam("topicIds")List topicIds){ + return new Result>().ok(topicService.topicCreatedUserBatch(topicIds)); + } + } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/ResiTopicService.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/ResiTopicService.java index b432ecd7c9..869b90c772 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/ResiTopicService.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/ResiTopicService.java @@ -397,4 +397,12 @@ public interface ResiTopicService extends BaseService { * @date 2021/5/12 9:16 上午 */ String topicCreatedUser(String topicId); + + /** + * @Description 查询话题的创建者【批量】 + * @Param topicId + * @author zxc + * @date 2021/5/12 9:16 上午 + */ + List topicCreatedUserBatch(List topicIds); } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java index d3826404f2..cd8f8391ed 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java @@ -2761,6 +2761,28 @@ public class ResiTopicServiceImpl extends BaseServiceImpl topicCreatedUserBatch(List topicIds) { + if (CollectionUtils.isEmpty(topicIds)){ + return new ArrayList<>(); + } + List resiTopicEntities = baseDao.selectBatchIds(topicIds); + List result = new ArrayList<>(); + resiTopicEntities.forEach(r -> { + TopicCreatedUserBatchResultDTO t = new TopicCreatedUserBatchResultDTO(); + t.setIssueId(r.getIssueId()); + t.setUserId(r.getCreatedBy()); + result.add(t); + }); + return result; + } + } From e757d4234c40e61aac1a445195b21ff11b4cba53 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Wed, 12 May 2021 17:49:40 +0800 Subject: [PATCH 3/6] .. --- .../impl/StatsAchievementServiceImpl.java | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/StatsAchievementServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/StatsAchievementServiceImpl.java index 6bd5ceb173..e88b2ce588 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/StatsAchievementServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/StatsAchievementServiceImpl.java @@ -5,10 +5,10 @@ import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.utils.Result; -//import com.epmet.dto.CustomerDTO; +import com.epmet.dto.CustomerDTO; import com.epmet.dto.IssueDTO; import com.epmet.feign.GovIssueOpenFeignClient; -//import com.epmet.feign.OperCrmOpenFeignClient; +import com.epmet.feign.OperCrmOpenFeignClient; import com.epmet.commons.tools.enums.AchievementTypeEnum; import com.epmet.modules.group.dao.ResiGroupDao; import com.epmet.modules.group.entity.ResiGroupAchievementConfigEntity; @@ -50,8 +50,8 @@ public class StatsAchievementServiceImpl extends AbstractStatsAchievementService private ResiTopicDao resiTopicDao; @Autowired private ResiGroupDao resiGroupDao; -// @Autowired -// private OperCrmOpenFeignClient operCrmOpenFeignClient; + @Autowired + private OperCrmOpenFeignClient operCrmOpenFeignClient; @Autowired private GovIssueOpenFeignClient govIssueOpenFeignClient; @@ -387,10 +387,10 @@ public class StatsAchievementServiceImpl extends AbstractStatsAchievementService private List getCustomerIds(String customerId) { List customerIdList = new ArrayList<>(); if (StringUtils.isBlank(customerId)) { -// Result> allCustomerList = operCrmOpenFeignClient.getAllCustomerList(); -// if (allCustomerList != null && !CollectionUtils.isEmpty(allCustomerList.getData())) { -// customerIdList.addAll(allCustomerList.getData().stream().map(CustomerDTO::getId).collect(Collectors.toList())); -// } + Result> allCustomerList = operCrmOpenFeignClient.getAllCustomerList(); + if (allCustomerList != null && !CollectionUtils.isEmpty(allCustomerList.getData())) { + customerIdList.addAll(allCustomerList.getData().stream().map(CustomerDTO::getId).collect(Collectors.toList())); + } } else { customerIdList.add(customerId); } From 4485a303ed1e85153532dd931ca28c4876d9ac8c Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Wed, 12 May 2021 17:51:37 +0800 Subject: [PATCH 4/6] =?UTF-8?q?=E6=B7=BB=E5=8A=A0customerId?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/epmet/dto/form/ProjectEvaluateFormDTO.java | 2 ++ .../src/main/java/com/epmet/service/impl/IssueServiceImpl.java | 1 + 2 files changed, 3 insertions(+) diff --git a/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/form/ProjectEvaluateFormDTO.java b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/form/ProjectEvaluateFormDTO.java index d70fe56a24..1133ffff3b 100644 --- a/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/form/ProjectEvaluateFormDTO.java +++ b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/form/ProjectEvaluateFormDTO.java @@ -33,5 +33,7 @@ public class ProjectEvaluateFormDTO implements Serializable { */ private String userId; + private String customerId; + } diff --git a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java index 163fda848c..ae56650c44 100644 --- a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java +++ b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java @@ -271,6 +271,7 @@ public class IssueServiceImpl implements IssueService { @Override public Result projectEvaluate(TokenDto tokenDto, ProjectEvaluateFormDTO projectEvaluateFormDTO) { projectEvaluateFormDTO.setUserId(tokenDto.getUserId()); + projectEvaluateFormDTO.setCustomerId(tokenDto.getCustomerId()); return govProjectFeignClient.projectEvaluate(projectEvaluateFormDTO); } From 1d6f16178d5281fbb2a81cdaa5bf04a385993738 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Mon, 17 May 2021 09:27:22 +0800 Subject: [PATCH 5/6] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E7=BB=93=E6=A1=88?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E9=A1=B9=E7=9B=AE=E8=AF=84=E4=BB=B7=E5=88=9D?= =?UTF-8?q?=E5=A7=8B=E5=8C=96=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dao/ProjectSatisfactionStatisticsDao.java | 2 +- .../ProjectSatisfactionDetailServiceImpl.java | 8 ++++--- .../service/impl/ProjectServiceImpl.java | 21 +++++++++++++++++++ .../ProjectSatisfactionStatisticsDao.xml | 1 - 4 files changed, 27 insertions(+), 5 deletions(-) diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectSatisfactionStatisticsDao.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectSatisfactionStatisticsDao.java index 01c9325c98..28de98cdda 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectSatisfactionStatisticsDao.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectSatisfactionStatisticsDao.java @@ -48,7 +48,7 @@ public interface ProjectSatisfactionStatisticsDao extends BaseDao> canEvaluateProjectCount = govIssueOpenFeignClient.canEvaluateProjectCount(projectEntity.getOriginId()); + if (!canEvaluateProjectCount.success()){ + throw new RenException("【查询项目应评价人数失败】,【"+canEvaluateProjectCount.getMsg()+"】"); + } + List userIds = canEvaluateProjectCount.getData(); + ProjectSatisfactionStatisticsEntity entity1 = new ProjectSatisfactionStatisticsEntity(); + entity1.setShouldEvaluateCount(userIds.size()); + entity1.setCustomerId(projectEntity.getCustomerId()); + entity1.setProjectId(fromDTO.getProjectId()); + entity1.setBadCount(NumConstant.ZERO); + entity1.setGoodCount(NumConstant.ZERO); + entity1.setPerfectCount(NumConstant.ZERO); + // 新添一条记录 + statisticsDao.insert(entity1); } @Override diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectSatisfactionStatisticsDao.xml b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectSatisfactionStatisticsDao.xml index 983c2be73c..114f3c5a04 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectSatisfactionStatisticsDao.xml +++ b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectSatisfactionStatisticsDao.xml @@ -16,7 +16,6 @@ PERFECT_COUNT = PERFECT_COUNT + 1, - SHOULD_EVALUATE_COUNT = #{shouldEvaluateCount}, UPDATED_TIME = NOW() WHERE DEL_FLAG = '0' AND PROJECT_ID = #{projectId} From 0996b8726c8577382fb28408df60667d2bb345ee Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Mon, 17 May 2021 09:42:43 +0800 Subject: [PATCH 6/6] =?UTF-8?q?=E5=95=8A=E5=93=88=E5=93=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ProjectSatisfactionDetailServiceImpl.java | 51 ------------------- 1 file changed, 51 deletions(-) diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectSatisfactionDetailServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectSatisfactionDetailServiceImpl.java index 793f05767c..44ad6a4172 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectSatisfactionDetailServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectSatisfactionDetailServiceImpl.java @@ -240,57 +240,6 @@ public class ProjectSatisfactionDetailServiceImpl extends BaseServiceImpl> canEvaluateProjectCount = govIssueOpenFeignClient.canEvaluateProjectCount(projectEntity.getOriginId()); - if (!canEvaluateProjectCount.success()){ - throw new RenException("【查询项目应评价人数失败】,【"+canEvaluateProjectCount.getMsg()+"】"); - } - List userIds = canEvaluateProjectCount.getData(); - // 校验此项目记录是否存在 - Integer count = statisticsDao.checkProjectExists(formDTO.getProjectId()); - if (count == NumConstant.ZERO){ - ProjectSatisfactionStatisticsEntity entity1 = new ProjectSatisfactionStatisticsEntity(); - entity1.setShouldEvaluateCount(userIds.size()); - entity1.setCustomerId(formDTO.getCustomerId()); - entity1.setProjectId(formDTO.getProjectId()); - entity1.setBadCount(NumConstant.ZERO); - entity1.setGoodCount(NumConstant.ZERO); - entity1.setPerfectCount(NumConstant.ZERO); - switch (formDTO.getSatisfaction()){ - case ProjectConstant.EVALUATE_BAD: - entity1.setBadCount(NumConstant.ONE); - break; - case ProjectConstant.EVALUATE_GOOD: - entity1.setGoodCount(NumConstant.ONE); - break; - case ProjectConstant .EVALUATE_PERFECT: - entity1.setPerfectCount(NumConstant.ONE); - default: - } - // 新添一条记录 - statisticsDao.insert(entity1); - }else { - // 更新 - statisticsDao.updateEvaluateData(formDTO.getProjectId(), formDTO.getSatisfaction()); - } - } - }catch (Exception e){ - throw new RenException(e.getMessage()); - }finally { - if (lock != null){ - lock.unlock(); - } - }*/ } /**