Browse Source

REPORT-86430 AlphaFine插件中心tab页显示内容有误

release/11.0
Yann 2 years ago
parent
commit
61bfedc1dc
  1. 22
      designer-realize/src/main/java/com/fr/design/mainframe/alphafine/search/manager/impl/PluginSearchManager.java

22
designer-realize/src/main/java/com/fr/design/mainframe/alphafine/search/manager/impl/PluginSearchManager.java

@ -27,6 +27,7 @@ import java.net.URLEncoder;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@ -204,30 +205,25 @@ public class PluginSearchManager implements AlphaFineSearchProvider {
if (!Collections.isEmpty(jsonObjects)) {
jsonObjects = jsonObjects.stream()
.filter(o -> ((Integer) o.get(version)) == 1)
.sorted(PluginSearchManager::sortPluginByUploadTime)
.sorted(Comparator.comparingLong(PluginSearchManager::parseTime).reversed())
.limit(DEFAULT_LIST_SIZE)
.collect(Collectors.toList());
int size = Math.min(DEFAULT_LIST_SIZE, jsonObjects.size());
for (int i = 0; i < size; i++) {
pluginModels.add(getPluginModel(new JSONObject(jsonObjects.get(i)), false));
for (Map jsonObject : jsonObjects) {
pluginModels.add(getPluginModel(new JSONObject(jsonObject), false));
}
}
return pluginModels;
}
private static int sortPluginByUploadTime(Map v1, Map v2) {
private static long parseTime(Map value) {
SimpleDateFormat format = new SimpleDateFormat(TIME_FORMAT);
long t1 = 0L, t2 = 0L;
long t = 0L;
try {
t1 = format.parse((String) v1.get(UPLOAD_TIME)).getTime();
t = format.parse((String) value.get(UPLOAD_TIME)).getTime();
} catch (ParseException e) {
FineLoggerFactory.getLogger().error(e, e.getMessage());
}
try {
t2 = format.parse((String) v2.get(UPLOAD_TIME)).getTime();
} catch (ParseException e) {
FineLoggerFactory.getLogger().error(e, e.getMessage());
}
return Long.compare(t2, t1);
return t;
}
}

Loading…
Cancel
Save