新增 最新游戏排序
This commit is contained in:
parent
78b17b991a
commit
a828e75885
@ -53,7 +53,6 @@ public class GameRankingQryExe {
|
|||||||
|
|
||||||
PageResult<GameRankingRecord> pageResult = gameRankingGateway.pageRanking(periodType, periodKey, pageNum, pageSize);
|
PageResult<GameRankingRecord> pageResult = gameRankingGateway.pageRanking(periodType, periodKey, pageNum, pageSize);
|
||||||
|
|
||||||
// 计算排名(从当前页的起始排名开始)
|
|
||||||
int startRank = (pageNum - 1) * pageSize + 1;
|
int startRank = (pageNum - 1) * pageSize + 1;
|
||||||
List<GameRankingCO> coList = IntStream.range(0, pageResult.getRecords().size())
|
List<GameRankingCO> coList = IntStream.range(0, pageResult.getRecords().size())
|
||||||
.mapToObj(i -> {
|
.mapToObj(i -> {
|
||||||
@ -64,8 +63,24 @@ public class GameRankingQryExe {
|
|||||||
})
|
})
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
|
// latest 排前,非 latest 保持原 totalPrizeAmount 排序
|
||||||
|
List<GameRankingCO> sorted = coList.stream()
|
||||||
|
.sorted((a, b) -> {
|
||||||
|
boolean aLatest = a.isLatest();
|
||||||
|
boolean bLatest = b.isLatest();
|
||||||
|
if (aLatest != bLatest) {
|
||||||
|
return aLatest ? -1 : 1;
|
||||||
|
}
|
||||||
|
return a.getRank() - b.getRank();
|
||||||
|
})
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
// 重新赋排名
|
||||||
|
for (int i = 0; i < sorted.size(); i++) {
|
||||||
|
sorted.get(i).setRank(startRank + i);
|
||||||
|
}
|
||||||
|
|
||||||
PageResult<GameRankingCO> result = new PageResult<>();
|
PageResult<GameRankingCO> result = new PageResult<>();
|
||||||
result.setRecords(coList);
|
result.setRecords(sorted);
|
||||||
result.setTotal(pageResult.getTotal());
|
result.setTotal(pageResult.getTotal());
|
||||||
result.setCurrent(pageResult.getCurrent());
|
result.setCurrent(pageResult.getCurrent());
|
||||||
result.setSize(pageResult.getSize());
|
result.setSize(pageResult.getSize());
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user