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] =?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