优化股票推荐数据排序

This commit is contained in:
zhangjian
2024-04-29 13:51:31 +08:00
parent b73bd18289
commit 807023a878

View File

@@ -12,10 +12,9 @@ import org.apache.commons.lang3.StringUtils;
import org.springframework.util.ReflectionUtils; import org.springframework.util.ReflectionUtils;
import java.lang.reflect.Field; import java.lang.reflect.Field;
import java.util.Arrays; import java.util.*;
import java.util.Iterator; import java.util.stream.Collectors;
import java.util.List; import java.util.stream.Stream;
import java.util.Map;
/** /**
* RefinitivUtil * RefinitivUtil
@@ -369,16 +368,32 @@ public class RefinitivUtil {
} }
public static List<String> decodeTopData(InstrumentData instrumentData) { public static List<String> decodeTopData(InstrumentData instrumentData) {
List<String> list = Lists.newArrayList(); List<String> list = new ArrayList<>(100);
instrumentData.getDataMap().forEach((k, v) -> { instrumentData.getDataMap().forEach((k, v) -> {
if (k.startsWith("BR_LINK")) { if (k.startsWith("BR_LINK")) {
if (!v.contains("blank data")) { if (!v.contains("blank data")) {
list.add(v); list.add(k);
} }
} }
}); });
return list; List<String> stringList = list.stream().sorted(topComparator()).collect(Collectors.toList());
List<String> result = new ArrayList<>();
for (String key : stringList) {
result.add(instrumentData.getDataMap().get(key));
}
return result;
} }
private static Comparator<String> topComparator() {
String flag = "BR_LINK";
return (s1, s2) -> {
String seqStr1 = s1.substring(flag.indexOf(s1) + flag.length() + 1);
String seqStr2 = s2.substring(flag.indexOf(s2) + flag.length() + 1);
int seq1 = Integer.parseInt(seqStr1);
int seq2 = Integer.parseInt(seqStr2);
return seq1 - seq2;
};
}
} }