Browse Source

折线图详情修改

dev
zxc 5 years ago
parent
commit
d7a9c60a35
  1. 8
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueDao.java
  2. 30
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueVoteStatisticalServiceImpl.java
  3. 11
      epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueDao.xml

8
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueDao.java

@ -29,6 +29,7 @@ import com.epmet.dto.result.IssueResultDTO;
import com.epmet.dto.result.VotingIssueListResultDTO;
import com.epmet.entity.IssueEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@ -99,4 +100,11 @@ public interface IssueDao extends BaseDao<IssueEntity> {
* @author zxc
*/
Integer checkIssuePublisher(VoteFormDTO formDTO);
/**
* @Description 获取转项目或者议题关闭时间
* @param issueId
* @author zxc
*/
String operateTime(@Param("issueId")String issueId);
}

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

@ -27,6 +27,7 @@ import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.constant.IssueConstant;
import com.epmet.dao.IssueDao;
import com.epmet.dao.IssueSatisfactionDetailDao;
import com.epmet.dao.IssueVoteStatisticalDao;
import com.epmet.dto.IssueVoteStatisticalDTO;
@ -50,6 +51,9 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.ZoneOffset;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
@ -75,6 +79,8 @@ public class IssueVoteStatisticalServiceImpl extends BaseServiceImpl<IssueVoteSt
private EpmetUserFeignClient userFeignClient;
@Autowired
private IssueVoteDetailRedis issueVoteDetailRedis;
@Autowired
private IssueDao issueDao;
@Override
public PageData<IssueVoteStatisticalDTO> page(Map<String, Object> params) {
@ -160,13 +166,33 @@ public class IssueVoteStatisticalServiceImpl extends BaseServiceImpl<IssueVoteSt
*/
@Override
public VotingTrendResultDTO votingTrend(IssueIdFormDTO issueId) {
//应表决数暂时从issue_vote_statistical查询
// 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<PolyLineDTO> polyLineDTOS = issueVoteStatisticalDao.polyLineData(issueId);
PolyLineDTO polyLineDTO = new PolyLineDTO();
polyLineDTO.setVoteDtae(LocalDateTime.now().toEpochSecond(ZoneOffset.of("+8")));
//今天刚转项目或刚刚关闭,当天数据DB没有,直接从缓存拿
if (polyLineDTOS.size()==NumConstant.ZERO){
polyLineDTO.setSupportIncrement(voteRedisFormDTO.getSupportAmount());
polyLineDTO.setOppositionIncrement(voteRedisFormDTO.getOppositionAmount());
polyLineDTOS.add(polyLineDTO);
}else {
//折线数据=DB
String date = issueDao.operateTime(issueId.getIssueId());
if (date.equals(LocalDate.now().toString())) {
Integer yesterdaySupport = 0;
Integer yesterdayOppose = 0;
for (PolyLineDTO lineDTO : polyLineDTOS) {
yesterdaySupport += lineDTO.getSupportIncrement();
yesterdayOppose += lineDTO.getOppositionIncrement();
}
polyLineDTO.setSupportIncrement(voteRedisFormDTO.getSupportAmount() - yesterdaySupport);
polyLineDTO.setOppositionIncrement(voteRedisFormDTO.getOppositionAmount() - yesterdayOppose);
polyLineDTOS.add(polyLineDTO);
}
}
votingTrendResultDTO.setPolyLine(polyLineDTOS);
return votingTrendResultDTO;
}

11
epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueDao.xml

@ -258,4 +258,15 @@
AND id = #{issueId}
</select>
<!-- 获取转项目或者议题关闭时间 -->
<select id="operateTime" resultType="java.lang.String">
SELECT
DATE_FORMAT(updated_time,'%Y-%m-%d') AS updateTime
FROM
issue
WHERE
del_flag = 0
AND id = #{issueId}
</select>
</mapper>
Loading…
Cancel
Save