zxc 3 years ago
parent
commit
9a38a1ada0
  1. 5
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueManageController.java
  2. 1
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueVoteStatisticalService.java
  3. 2
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java
  4. 46
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueVoteStatisticalServiceImpl.java

5
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueManageController.java

@ -88,6 +88,11 @@ public class IssueManageController {
return new Result<VotingTrendResultDTO>().ok(issueVoteStatisticalService.votingTrend(issueId));
}
@PostMapping("votingTrendV2")
public Result<VotingTrendResultDTO> votingTrendV2(@RequestBody IssueIdFormDTO issueId){
return new Result<VotingTrendResultDTO>().ok(issueVoteStatisticalService.votingTrendV2(issueId));
}
/**
* @Description 满意度评价列表已关闭
* @param formDTO

1
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueVoteStatisticalService.java

@ -115,6 +115,7 @@ public interface IssueVoteStatisticalService extends BaseService<IssueVoteStatis
* @author zxc
*/
VotingTrendResultDTO votingTrend(IssueIdFormDTO issueId);
VotingTrendResultDTO votingTrendV2(IssueIdFormDTO issueId);
/**
* @Description 满意度评价列表已关闭

2
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java

@ -1855,7 +1855,7 @@ public class IssueServiceImpl extends BaseServiceImpl<IssueDao, IssueEntity> imp
}
Result<List<UserBaseInfoResultDTO>> userResult = userOpenFeignClient.queryUserBaseInfo(Arrays.asList(issueDTO.getUserId()));
if (!userResult.success() || CollectionUtils.isEmpty(userResult.getData())){
throw new EpmetException("查询居民信息失败");
throw new EpmetException("查询居民信息失败"+issueDTO.getUserId());
}
// 议题 议题进程
issueDTO.setOrgId(gridInfo.getPid());

46
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueVoteStatisticalServiceImpl.java

@ -23,6 +23,7 @@ import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.constant.StrConstant;
import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.dto.TokenDto;
@ -42,6 +43,7 @@ import com.epmet.dto.result.*;
import com.epmet.entity.IssueEntity;
import com.epmet.entity.IssueVoteStatisticalEntity;
import com.epmet.feign.EpmetUserFeignClient;
import com.epmet.feign.EpmetUserOpenFeignClient;
import com.epmet.feign.GovOrgOpenFeignClient;
import com.epmet.feign.ResiGroupFeignClient;
import com.epmet.redis.IssueVoteDetailRedis;
@ -98,6 +100,8 @@ public class IssueVoteStatisticalServiceImpl extends BaseServiceImpl<IssueVoteSt
private GovOrgOpenFeignClient govOrgOpenFeignClient;
@Autowired
private ResiGroupOpenFeignClient resiGroupOpenFeignClient;
@Autowired
private EpmetUserOpenFeignClient epmetUserOpenFeignClient;
@Override
public PageData<IssueVoteStatisticalDTO> page(Map<String, Object> params) {
@ -259,6 +263,48 @@ public class IssueVoteStatisticalServiceImpl extends BaseServiceImpl<IssueVoteSt
return votingTrendResultDTO;
}
@Override
public VotingTrendResultDTO votingTrendV2(IssueIdFormDTO issueId) {
IssueEntity issueEntity = issueDao.selectById(issueId.getIssueId());
Result<Integer> allResiByGrid = epmetUserOpenFeignClient.getAllResiByGrid(new AllResiByGridFormDTO(issueEntity.getGridId()));
if (!allResiByGrid.success()){
throw new EpmetException("查询网格下注册居民失败:"+issueEntity.getGridId());
}
//缓存获取议题表决详情
VoteRedisFormDTO voteRedisFormDTO = issueVoteDetailRedis.getVoteStatistical(issueId.getIssueId());
voteRedisFormDTO.setShouldVoteCount(allResiByGrid.getData());
VotingTrendResultDTO votingTrendResultDTO = new VotingTrendResultDTO();
BeanUtils.copyProperties(voteRedisFormDTO, votingTrendResultDTO);
votingTrendResultDTO.setRealityVoteCount(voteRedisFormDTO.getSupportAmount() + voteRedisFormDTO.getOppositionAmount());
//DB获取表决 日统计详情
List<PolyLineDTO> polyLineDTOS = issueVoteStatisticalDao.polyLineData(issueId);
String startDate = DateUtils.format(issueEntity.getDecidedTime(),DATE_PATTERN);
String endDate = null == issueEntity.getVotingDeadline() ?
DateUtils.format(new Date(),DATE_PATTERN) :
DateUtils.format(issueEntity.getVotingDeadline(),DATE_PATTERN);
List<PolyLineDTO> polyLine = getPolyLine(startDate, endDate);
String today = LocalDate.now().toString();
if (today.equals(endDate)){
PolyLineDTO polyLineDTO = issueVoteDetailDao.polyLineData(issueId.getIssueId(), endDate);
polyLine.get(polyLine.size() - NumConstant.ONE).setSupportIncrement(polyLineDTO.getSupportIncrement());
polyLine.get(polyLine.size() - NumConstant.ONE).setOppositionIncrement(polyLineDTO.getOppositionIncrement());
}
if (CollectionUtils.isEmpty(polyLineDTOS)){
votingTrendResultDTO.setPolyLine(polyLine);
return votingTrendResultDTO;
}
polyLineDTOS.forEach(pd -> {
polyLine.forEach(p -> {
if (pd.getVoteDate().equals(p.getVoteDate())){
p.setOppositionIncrement(pd.getOppositionIncrement());
p.setSupportIncrement(pd.getSupportIncrement());
}
});
});
votingTrendResultDTO.setPolyLine(polyLine);
return votingTrendResultDTO;
}
public List<PolyLineDTO> getPolyLine(String startTime, String endTime){
List<PolyLineDTO> result = new ArrayList<>();
Date start = DateUtils.parse(startTime, DATE_PATTERN);

Loading…
Cancel
Save