From 37fb90da240c3cffc7db5d0602a18379d1fad6cc Mon Sep 17 00:00:00 2001 From: wangchao Date: Thu, 28 May 2020 11:02:47 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AF=9D=E9=A2=98=E8=BD=AC=E8=AE=AE=E9=A2=98?= =?UTF-8?q?=E6=97=B6=EF=BC=8C=E5=88=9D=E5=A7=8B=E5=8C=96=E8=A1=A8=E5=86=B3?= =?UTF-8?q?=E7=BC=93=E5=AD=98=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/IssueVoteStatisticalController.java | 14 ++++++++++++++ .../java/com/epmet/redis/IssueVoteDetailRedis.java | 2 +- .../com/epmet/service/impl/IssueServiceImpl.java | 7 +++++++ .../impl/IssueVoteStatisticalServiceImpl.java | 12 +++++++++--- .../main/java/com/epmet/utils/ModuleConstants.java | 5 +++++ .../src/main/resources/mapper/IssueDao.xml | 12 +----------- 6 files changed, 37 insertions(+), 15 deletions(-) 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 - +