diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueVoteStatisticalController.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueVoteStatisticalController.java index 83832274e6..3c86c0c45a 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueVoteStatisticalController.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueVoteStatisticalController.java @@ -131,4 +131,18 @@ public class IssueVoteStatisticalController { return new Result(); } + /** + * @Description 根据issueId,将指定issue的表决数据从缓存同步至数据库 + * @param issueIdFormDTO + * @return + * @author wangc + * @date 2020.05.27 17:17 + **/ + @PostMapping("syncvotingcacheanddbsingle") + public Result syncVotingCacheAndDbSingle(@RequestBody IssueIdFormDTO issueIdFormDTO){ + ValidatorUtils.validateEntity(issueIdFormDTO); + issueVoteStatisticalService.syncVotingCacheToDbByIssueId(issueIdFormDTO.getIssueId()); + return new Result(); + } + } \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/redis/IssueVoteDetailRedis.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/redis/IssueVoteDetailRedis.java index 74a93deb8b..2ae91874d3 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/redis/IssueVoteDetailRedis.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/redis/IssueVoteDetailRedis.java @@ -191,7 +191,7 @@ public class IssueVoteDetailRedis { //如果缓存中没有,去表决详情中计算出实时数据,并放入缓存中 //无需查询issue_vote_statistical中的数据,因为不是实时数据,可能不准确,有定时任务会自动同步 VoteRedisFormDTO voteCache = new VoteRedisFormDTO(); - + voteCache.setIssueId(issueId); voteCache.setSupportAmount(issueVoteDetailService.getVotingCount(issueId,IssueConstant.SUPPORT)); voteCache.setOppositionAmount(issueVoteDetailService.getVotingCount(issueId,IssueConstant.OPPOSE)); IssueDTO issue = issueService.get(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 64908c6f3c..5c14153a7c 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 @@ -29,6 +29,7 @@ import com.epmet.entity.IssueProjectRelationEntity; import com.epmet.entity.IssueVoteStatisticalEntity; import com.epmet.feign.*; import com.epmet.redis.GovIssueRedis; +import com.epmet.redis.IssueVoteDetailRedis; 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.TopicInfoFormDTO; @@ -70,6 +71,8 @@ public class IssueServiceImpl extends BaseServiceImpl imp private GovProjectFeignClient govProjectFeignClient; @Autowired private IssueProjectRelationDao issueProjectRelationDao; + @Autowired + private IssueVoteDetailRedis issueVoteDetailRedis; protected static final Logger logger = LoggerFactory.getLogger(IssueServiceImpl.class); @@ -251,6 +254,10 @@ public class IssueServiceImpl extends BaseServiceImpl imp //应表决数,该网格下所有的居民 voteStatistical.setVotableCount(issueShiftedFromTopicFormDTO.getVotableCount()); issueVoteStatisticalService.save(voteStatistical); + VoteRedisFormDTO voteInitCache = new VoteRedisFormDTO(); + voteInitCache.setIssueId(issueDTO.getId()); + voteInitCache.setShouldVoteCount(issueShiftedFromTopicFormDTO.getVotableCount()); + issueVoteDetailRedis.set(voteInitCache); //4.该网格下表决中议题总数量+1 govIssueRedis.addWorkGrassrootsIssueRedDotValue(issueShiftedFromTopicFormDTO.getGridId()); return issueDTO.getId(); diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueVoteStatisticalServiceImpl.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueVoteStatisticalServiceImpl.java index 71cd3fa895..acf06c1531 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueVoteStatisticalServiceImpl.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueVoteStatisticalServiceImpl.java @@ -412,7 +412,7 @@ public class IssueVoteStatisticalServiceImpl extends BaseServiceImpl - +