记得上下班打卡 | git大法好,push需谨慎

Commit 1cb4c86f authored by jiangxiulong's avatar jiangxiulong

城市投票排名

parent 4c17d21a
...@@ -37,6 +37,12 @@ public class SweetCItyVoteStatVo implements Serializable, Cloneable { ...@@ -37,6 +37,12 @@ public class SweetCItyVoteStatVo implements Serializable, Cloneable {
@ApiModelProperty("type") @ApiModelProperty("type")
private Integer type; private Integer type;
@ApiModelProperty("名次")
private Integer ranking;
@ApiModelProperty("名次变动状态 1未变化 2上升 3下降")
private Integer rankingUpOrDown;
/*@ApiModelProperty("创建时间") /*@ApiModelProperty("创建时间")
private LocalDateTime createdAt; private LocalDateTime createdAt;
......
...@@ -125,9 +125,34 @@ public class SweetCityVoteServiceImpl extends ServiceImpl<SweetCityVoteMapper, S ...@@ -125,9 +125,34 @@ public class SweetCityVoteServiceImpl extends ServiceImpl<SweetCityVoteMapper, S
public ResponseDto setStatList(Integer type) { public ResponseDto setStatList(Integer type) {
List<SweetCityVoteStatDto> list = sweetCityVoteStatMapper.getStatList(type); List<SweetCityVoteStatDto> list = sweetCityVoteStatMapper.getStatList(type);
List<SweetCItyVoteStatVo> sweetCityVoteStatList = redisDataUtils.getSweetCityVoteStatList(type);
if (!CollectionUtils.isEmpty(list)) { if (!CollectionUtils.isEmpty(list)) {
ArrayList<SweetCItyVoteStatVo> newList = ObjectUtil.getSweetCItyVoteStatVoList(); ArrayList<SweetCItyVoteStatVo> newList = ObjectUtil.getSweetCItyVoteStatVoList();
list.forEach(r -> newList.add(SweetCItyVoteStatVo.getNew().copy(r))); Integer ranking = 0;
Integer rankingUpOrDown = 2;
for (SweetCityVoteStatDto cityVote : list) {
SweetCItyVoteStatVo voteStatVo = SweetCItyVoteStatVo.getNew().copy(cityVote);
voteStatVo.setRanking(ranking);
// 1.找到了老数据就进行对比 2.未找到说明是新增的 默认为排名上升 3.第一次没有统计过默认也是上升
for (SweetCItyVoteStatVo statVoOld : sweetCityVoteStatList) {
if (statVoOld.getCityCode().equals(cityVote.getCityCode())) {
Integer oldRanking = statVoOld.getRanking();
if (null != oldRanking) { // 老数据没有这个字段默认为上升
if (ranking > oldRanking) {
rankingUpOrDown = 2;
} else if (ranking < oldRanking) {
rankingUpOrDown = 3;
} else {
rankingUpOrDown = 1;
}
}
}
}
voteStatVo.setRankingUpOrDown(rankingUpOrDown);
newList.add(voteStatVo);
ranking++;
}
// list.forEach(r -> newList.add(SweetCItyVoteStatVo.getNew().copy(r)));
redisDataUtils.setSweetCityVoteStatList(newList, type); redisDataUtils.setSweetCityVoteStatList(newList, type);
} }
redisDataUtils.setSweetCityVoteStatUpdateTime(type); redisDataUtils.setSweetCityVoteStatUpdateTime(type);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment