提交 92508621 作者: yanxin

优先展示在任的数据

上级 6af7e9e7
...@@ -158,11 +158,30 @@ public class CharacterBasicInfoServiceImpl extends ServiceImpl<CharacterBasicInf ...@@ -158,11 +158,30 @@ public class CharacterBasicInfoServiceImpl extends ServiceImpl<CharacterBasicInf
queryWrapper.in(CharacterBasicInfo::getUid,uIds); queryWrapper.in(CharacterBasicInfo::getUid,uIds);
queryWrapper.notIn(CharacterBasicInfo::getId,ids); queryWrapper.notIn(CharacterBasicInfo::getId,ids);
queryWrapper.select(CharacterBasicInfo::getUid); queryWrapper.select(CharacterBasicInfo::getUid);
queryWrapper.orderByDesc(CharacterBasicInfo::getCreateTime);
List<CharacterBasicInfo> subList = this.list(queryWrapper); List<CharacterBasicInfo> subList = this.list(queryWrapper);
Set<String> containsUIds= subList.stream().map(CharacterBasicInfo::getUid).collect(Collectors.toSet()); Set<String> containsUIds= subList.stream().map(CharacterBasicInfo::getUid).collect(Collectors.toSet());
Map<CharacterBasicInfo, CharacterBasicInfo> replaceMap = new HashMap<>();
list.forEach(t->{ list.forEach(t->{
if(containsUIds.contains(t.getUid())){ if(containsUIds.contains(t.getUid())){
t.setHasChild(1); t.setHasChild(1);
//有关联人物且 当前为历任的,切换显示最新在任数据
if("历任".equals(t.getTakeOfficeStatus())){
List<CharacterBasicInfo> collect = subList.stream().filter(e -> e.getUid().equals(t.getUid()) && "在任".equals(e.getTakeOfficeStatus())).collect(Collectors.toList());
if(!collect.isEmpty()){
collect.get(0).setHasChild(1);
//添加到待替换列表
replaceMap.put(t,collect.get(0));
}
}
}
});
replaceMap.forEach((k,v)->{
//删除指定数据并返回所在索引位置
int index = list.indexOf(k);
if(index != -1){
list.remove(index);
list.add(index,v);
} }
}); });
} }
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论