mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/per-boe/java-servers.git
synced 2025-12-15 05:46:49 +08:00
案例萃取,bug
This commit is contained in:
@@ -63,20 +63,23 @@ public class CasesRankDao extends BaseDao<CasesRank> {
|
||||
}
|
||||
|
||||
|
||||
public List<String> findPopularityOfMajor(Integer pageSize, LocalDateTime startTime, LocalDateTime endTime, Long majorId) {
|
||||
public List<HashMap<String, Object>> findPopularityOfMajor(Integer pageSize, LocalDateTime startTime, LocalDateTime endTime, Long majorId) {
|
||||
|
||||
String sql =
|
||||
"SELECT bcr.case_id\n" +
|
||||
"SELECT bcr.case_id,bcr.rank\n" +
|
||||
"FROM boe_cases_rank bcr\n" +
|
||||
"JOIN boe_cases bc on bcr.case_id = bc.id\n" +
|
||||
"WHERE bcr.deleted=0 AND bc.deleted=0 AND bcr.rise_rank_time BETWEEN ?1 and ?2 AND major_id=?3\n" +
|
||||
"ORDER BY rank\n" +
|
||||
"LIMIT ?4";
|
||||
|
||||
List<Object> listFields = this.sqlFindList(sql, startTime, endTime,majorId,pageSize);
|
||||
List<Object[]> listFields = this.sqlFindList(sql, startTime, endTime,majorId,pageSize);
|
||||
|
||||
List<String> collect = listFields.stream().map(item -> {
|
||||
return item.toString();
|
||||
List<HashMap<String, Object>> collect = listFields.stream().map(item -> {
|
||||
HashMap<String, Object> map = new HashMap<>();
|
||||
map.put("caseId", item[0].toString());
|
||||
map.put("rank", item[1].toString());
|
||||
return map;
|
||||
}).collect(Collectors.toList());
|
||||
|
||||
return collect;
|
||||
|
||||
@@ -1260,7 +1260,11 @@ public class CasesServiceImpl implements ICasesService {
|
||||
LocalDateTime startTime = month.withDayOfMonth(1);
|
||||
LocalDateTime endTime = month.plusMonths(1).withDayOfMonth(1).withMinute(0);
|
||||
|
||||
List<String> caseIdList = casesRankDao.findPopularityOfMajor(pageSize, startTime, endTime,majorId);
|
||||
List<HashMap<String, Object>> popularityOfMajor = casesRankDao.findPopularityOfMajor(pageSize, startTime, endTime, majorId);
|
||||
List<String> caseIdList = popularityOfMajor.stream().map(map -> map.get("caseId").toString()).collect(Collectors.toList());
|
||||
|
||||
Map<Object, Integer> collect = popularityOfMajor.stream().collect(Collectors.toMap(map -> map.get("caseId").toString(), map -> Integer.valueOf(map.get("rank").toString())));
|
||||
|
||||
QueryBuilder query = QueryBuilder.from(Cases.class);
|
||||
query.addFilter(FieldFilters.in("id",caseIdList));
|
||||
query.addFilter(FieldFilters.eq("deleted",false));
|
||||
@@ -1268,6 +1272,14 @@ public class CasesServiceImpl implements ICasesService {
|
||||
List<Cases> casesList = casesDao.findList(query.builder());
|
||||
casesList = caseListCommonHandle(casesList, accountId);
|
||||
|
||||
Collections.sort(casesList, new Comparator<Cases>() {
|
||||
@Override
|
||||
public int compare(Cases c1, Cases c2) {
|
||||
Integer order1 = collect.get(c1.getId());
|
||||
Integer order2 = collect.get(c2.getId());
|
||||
return Integer.compare(order1, order2);
|
||||
}
|
||||
});
|
||||
return casesList;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user