diff --git a/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java b/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java index 97c3ce6b7f..cfce4881b1 100644 --- a/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java +++ b/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java @@ -14,7 +14,7 @@ import java.util.List; * @Description * @Author sun */ -@FeignClient(name = ServiceConstant.GOV_ORG_SERVER, fallback = GovOrgFeignClientFallBack.class) +@FeignClient(name = ServiceConstant.GOV_ORG_SERVER, fallback = GovOrgFeignClientFallBack.class,url = "localhost:8092") public interface GovOrgFeignClient { /** diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/ShouldVoteCountFormDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/ShouldVoteCountFormDTO.java new file mode 100644 index 0000000000..3a4befde58 --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/ShouldVoteCountFormDTO.java @@ -0,0 +1,19 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + */ +@Data +public class ShouldVoteCountFormDTO implements Serializable { + + private static final long serialVersionUID = 413887792872039432L; + + /** + * 网格id + */ + private String gridId; +} diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/VoteRedisFormDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/VoteRedisFormDTO.java new file mode 100644 index 0000000000..30b9014016 --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/VoteRedisFormDTO.java @@ -0,0 +1,35 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * 表决数量缓存 + */ +@Data +public class VoteRedisFormDTO implements Serializable { + + private static final long serialVersionUID = -5046512100380206719L; + + /** + * 支持数量 + */ + private Integer supportAmount = 0; + + /** + * 反对数量 + */ + private Integer oppositionAmount = 0; + + /** + * 应表决数 + */ + private Integer shouldVoteCount = 0; + + /** + * 议题id + */ + private String issueId; +} diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/ShouldVoteCountResultDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/ShouldVoteCountResultDTO.java new file mode 100644 index 0000000000..7aa3c7cc15 --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/ShouldVoteCountResultDTO.java @@ -0,0 +1,18 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + */ +@Data +public class ShouldVoteCountResultDTO implements Serializable { + + private static final long serialVersionUID = 8811890380460710438L; + /** + * 应表决数 + */ + private Integer shouldVoteCount; +} diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/constant/IssueConstant.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/constant/IssueConstant.java index b3b9381487..04a4bcbef2 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/constant/IssueConstant.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/constant/IssueConstant.java @@ -59,4 +59,9 @@ public interface IssueConstant { String GOV_PRJECT_EXCEPTION = "议题转项目,获取项目数据失败"; String ISSUE_VOTING_EXCEPTION = "非表决中议题,不允许转成项目"; String ISSUE_SHIFT_PROJECT_EXCEPTION = "议题已转项目,不允许再次操作"; + + String SUPPORT = "support"; + String OPPOSE = "opposition"; + + String REDIS_KEY = "epmet:issue:"; } diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/ResiGroupFeignClient.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/ResiGroupFeignClient.java index dafe24e28a..c4f5aa7f3a 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/ResiGroupFeignClient.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/ResiGroupFeignClient.java @@ -2,7 +2,9 @@ package com.epmet.feign; import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.form.ShouldVoteCountFormDTO; import com.epmet.dto.result.AgencyGridResultDTO; +import com.epmet.dto.result.ShouldVoteCountResultDTO; import com.epmet.feign.fallback.ResiGroupFeignClientFallBack; import com.epmet.resi.group.dto.topic.ResiTopicDTO; import com.epmet.resi.group.dto.topic.form.GovTopicIssueInfoFormDTO; @@ -10,6 +12,7 @@ import com.epmet.resi.group.dto.topic.result.GovTopicIssueInfoResultDTO; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; /** * @Description 调用resi-group服务 @@ -37,4 +40,12 @@ public interface ResiGroupFeignClient { @PostMapping("/resi/group/topic/topicinfoforissuedetailgov") Result topicInfoForIssueDetailGov(GovTopicIssueInfoFormDTO govTopicIssueInfoFormDTO); - } + /** + * @Description 获取应表决数 + * @param formDTO + * @author zxc + */ + @PostMapping("/resi/group/group/shouldvotecount") + Result shouldVoteCount(@RequestBody ShouldVoteCountFormDTO formDTO); + +} diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/fallback/ResiGroupFeignClientFallBack.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/fallback/ResiGroupFeignClientFallBack.java index c2c18e977b..7a887029ea 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/fallback/ResiGroupFeignClientFallBack.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/fallback/ResiGroupFeignClientFallBack.java @@ -3,7 +3,9 @@ package com.epmet.feign.fallback; import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.utils.ModuleUtils; import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.form.ShouldVoteCountFormDTO; import com.epmet.dto.result.AgencyGridResultDTO; +import com.epmet.dto.result.ShouldVoteCountResultDTO; import com.epmet.feign.ResiGroupFeignClient; import com.epmet.resi.group.dto.topic.ResiTopicDTO; import com.epmet.resi.group.dto.topic.form.GovTopicIssueInfoFormDTO; @@ -25,4 +27,9 @@ public class ResiGroupFeignClientFallBack implements ResiGroupFeignClient { public Result topicInfoForIssueDetailGov(GovTopicIssueInfoFormDTO govTopicIssueInfoFormDTO) { return ModuleUtils.feignConError(ServiceConstant.RESI_GROUP_SERVER, "topicInfoForIssueDetailGov", govTopicIssueInfoFormDTO); } + + @Override + public Result shouldVoteCount(ShouldVoteCountFormDTO formDTO) { + return ModuleUtils.feignConError(ServiceConstant.RESI_GROUP_SERVER, "shouldVoteCount", formDTO); + } } 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 89c8f04994..50c3132f24 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 @@ -17,10 +17,17 @@ package com.epmet.redis; +import cn.hutool.core.bean.BeanUtil; +import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.redis.RedisUtils; +import com.epmet.constant.IssueConstant; +import com.epmet.dto.form.VoteRedisFormDTO; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; +import java.util.Map; + /** * 议题表决记录表 * @@ -36,12 +43,24 @@ public class IssueVoteDetailRedis { } - public void set(){ - + public void set(VoteRedisFormDTO vote){ + String key = IssueConstant.REDIS_KEY +vote.getIssueId(); + //bean to map + Map map = BeanUtil.beanToMap(vote, false, true); + redisUtils.hMSet(key, map); } - public String get(String id){ - return null; + public VoteRedisFormDTO get(String issueId){ + VoteRedisFormDTO voteRedis = new VoteRedisFormDTO(); + String key = IssueConstant.REDIS_KEY + issueId; + Map stringObjectMap = redisUtils.hGetAll(key); + if (stringObjectMap.size()== NumConstant.ZERO || stringObjectMap == null){ + return new VoteRedisFormDTO(); + } + voteRedis.setShouldVoteCount(Integer.valueOf(stringObjectMap.get("shouldVoteCount").toString())); + voteRedis.setSupportAmount(Integer.valueOf(stringObjectMap.get("supportAmount").toString())); + voteRedis.setOppositionAmount(Integer.valueOf(stringObjectMap.get("oppositionAmount").toString())); + return voteRedis; } } \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueVoteDetailServiceImpl.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueVoteDetailServiceImpl.java index f58caca359..02cadd81cc 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueVoteDetailServiceImpl.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueVoteDetailServiceImpl.java @@ -17,6 +17,7 @@ package com.epmet.service.impl; +import com.alibaba.fastjson.JSONArray; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; @@ -26,13 +27,20 @@ import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.constant.FieldConstant; +import com.epmet.constant.IssueConstant; import com.epmet.dao.IssueVoteDetailDao; +import com.epmet.dto.IssueDTO; import com.epmet.dto.IssueVoteDetailDTO; import com.epmet.dto.form.CheckVoteFormDTO; +import com.epmet.dto.form.ShouldVoteCountFormDTO; import com.epmet.dto.form.VoteFormDTO; +import com.epmet.dto.form.VoteRedisFormDTO; import com.epmet.dto.result.JoinVoteResultDTO; +import com.epmet.dto.result.ShouldVoteCountResultDTO; import com.epmet.entity.IssueVoteDetailEntity; +import com.epmet.feign.ResiGroupFeignClient; import com.epmet.redis.IssueVoteDetailRedis; +import com.epmet.service.IssueService; import com.epmet.service.IssueVoteDetailService; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; @@ -55,6 +63,10 @@ public class IssueVoteDetailServiceImpl extends BaseServiceImpl page(Map params) { @@ -118,6 +130,25 @@ public class IssueVoteDetailServiceImpl extends BaseServiceImpl page(Map params) { @@ -138,7 +143,10 @@ public class IssueVoteStatisticalServiceImpl extends BaseServiceImpl polyLineDTOS = issueVoteStatisticalDao.polyLineData(issueId); - votingTrendResultDTO.setPolyLine(polyLineDTOS); - } +// VotingTrendResultDTO votingTrendResultDTO = issueVoteStatisticalDao.votingTrend(issueId); + VoteRedisFormDTO voteRedisFormDTO = issueVoteDetailRedis.get(issueId.getIssueId()); + VotingTrendResultDTO votingTrendResultDTO = new VotingTrendResultDTO(); + BeanUtils.copyProperties(voteRedisFormDTO,votingTrendResultDTO); + votingTrendResultDTO.setRealityVoteCount(voteRedisFormDTO.getSupportAmount()+voteRedisFormDTO.getOppositionAmount()); + List polyLineDTOS = issueVoteStatisticalDao.polyLineData(issueId); + votingTrendResultDTO.setPolyLine(polyLineDTOS); return votingTrendResultDTO; } diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/ShouldVoteCountFormDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/ShouldVoteCountFormDTO.java new file mode 100644 index 0000000000..512b4b3beb --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/ShouldVoteCountFormDTO.java @@ -0,0 +1,19 @@ +package com.epmet.resi.group.dto.group.form; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + */ +@Data +public class ShouldVoteCountFormDTO implements Serializable { + + private static final long serialVersionUID = 413887792872039432L; + + /** + * 网格id + */ + private String gridId; +} diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/ShouldVoteCountResultDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/ShouldVoteCountResultDTO.java new file mode 100644 index 0000000000..239e6cc6be --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/ShouldVoteCountResultDTO.java @@ -0,0 +1,18 @@ +package com.epmet.resi.group.dto.group.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + */ +@Data +public class ShouldVoteCountResultDTO implements Serializable { + + private static final long serialVersionUID = 8811890380460710438L; + /** + * 应表决数 + */ + private Integer shouldVoteCount; +} diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/ResiGroupController.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/ResiGroupController.java index da16e3fc25..4d2a9758bb 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/ResiGroupController.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/ResiGroupController.java @@ -22,7 +22,6 @@ import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; -import com.epmet.modules.group.redis.ResiGroupRedis; import com.epmet.modules.group.service.ResiGroupService; import com.epmet.resi.group.dto.group.GroupProcessingCountResultDTO; import com.epmet.resi.group.dto.group.form.*; @@ -321,4 +320,14 @@ public class ResiGroupController { public Result checkjointeam(@RequestBody GridIdFormDTO gridId){ return new Result().ok(resiGroupService.checkjointeam(gridId)); } + + /** + * @Description 获取应表决数 + * @param formDTO + * @author zxc + */ + @PostMapping("shouldvotecount") + public Result shouldVoteCount(@RequestBody ShouldVoteCountFormDTO formDTO){ + return new Result().ok(resiGroupService.shouldVoteCount(formDTO)); + } } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupDao.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupDao.java index 38dc060246..875163b278 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupDao.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupDao.java @@ -155,4 +155,11 @@ public interface ResiGroupDao extends BaseDao { * @author zxc */ Integer checkjointeam(GridIdFormDTO gridId); + + /** + * @Description 获取应表决数 + * @param formDTO + * @author zxc + */ + ShouldVoteCountResultDTO shouldVoteCount(ShouldVoteCountFormDTO formDTO); } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupService.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupService.java index 83a4a6e275..5859f46243 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupService.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupService.java @@ -27,7 +27,6 @@ import com.epmet.resi.group.dto.group.GroupProcessingCountResultDTO; import com.epmet.resi.group.dto.group.ResiGroupDTO; import com.epmet.resi.group.dto.group.form.*; import com.epmet.resi.group.dto.group.result.*; -import org.springframework.web.bind.annotation.RequestBody; import java.util.List; import java.util.Map; @@ -268,4 +267,11 @@ public interface ResiGroupService extends BaseService { * @author zxc */ CheckJoinTeamResultDTO checkjointeam(GridIdFormDTO gridId); + + /** + * @Description 获取应表决数 + * @param formDTO + * @author zxc + */ + ShouldVoteCountResultDTO shouldVoteCount(ShouldVoteCountFormDTO formDTO); } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java index 0ff6d6a103..5a9950f577 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java @@ -58,6 +58,7 @@ import com.epmet.resi.group.constant.MemberStateConstant; import com.epmet.resi.group.dto.UserRoleDTO; import com.epmet.resi.group.dto.group.*; import com.epmet.resi.group.dto.group.form.*; +import com.epmet.resi.group.dto.group.form.ShouldVoteCountFormDTO; import com.epmet.resi.group.dto.group.result.*; import com.epmet.resi.group.dto.member.GroupMemeberOperationDTO; import com.epmet.resi.group.dto.member.ResiGroupMemberDTO; @@ -832,6 +833,16 @@ public class ResiGroupServiceImpl extends BaseServiceImpl + + +