2.查询排行
@Override
public SearchResDTO searchAllManagerByOrder(String sortType, int sort, int page, int size) {
log.info("searchAllManagerByOrder manager{} ,{} ,{}, {}", sortType, sort, page, size);
int start = (page - 1) * size;
String mainKey = null;
if ("score".equals(sortType)) {//按照分数排行
mainKey = RedisKeyHelper.managerRankScoreKey();
} else {//默认按照年化回报率排行
mainKey = RedisKeyHelper.managerRankProporKey();
}
List<String> list = new ArrayList<>();
long end = start + size - 1;
if (sort == -1) {//默认降序
Set<String> abc = redisMgr.zrevrange(mainKey, start, end);
if (abc != null) {
list = new ArrayList<>(abc);
}
} else {//其他升序
Set<String> abc = redisMgr.zrange(mainKey, start, end);
if (abc != null) {
list = new ArrayList<>(abc);
}
}
List<FundManagerDTO> result = new ArrayList();
int count = 0;
if (list != null && list.size() > 0) {
String dictionaryKay = RedisKeyHelper.managerAllHInfoKey();
count = (int) redisMgr.hLen(dictionaryKay);
for (String code : list) {
Object info = redisMgr.hget(dictionaryKay, code);
if (info != null) {
FundManagerDTO node = JSONObject.parseObject(info.toString(), FundManagerDTO.class);
result.add(node);
}
}
}
SearchResDTO searchResDTO = new SearchResDTO();
searchResDTO.setSearchFundManagers(result);
searchResDTO.setCount(count);
return searchResDTO;
————————————————
版权声明:本文为CSDN博主「C18298182575」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/C18298182575/article/details/121118701