|
@@ -8,10 +8,13 @@ import com.jjt.biz.service.IBizModelDetailService;
|
|
|
import com.jjt.biz.service.IBizModelService;
|
|
|
import com.jjt.biz.service.IBizObjMetricsDataService;
|
|
|
import com.jjt.biz.service.IBizObjMetricsService;
|
|
|
+import com.jjt.biz.vo.HlScoreVO;
|
|
|
import com.jjt.biz.vo.ScoreVO;
|
|
|
import com.jjt.common.core.controller.BaseController;
|
|
|
import com.jjt.common.core.domain.AjaxResult;
|
|
|
import com.jjt.common.utils.DateUtils;
|
|
|
+import com.jjt.hl.domain.HlScore;
|
|
|
+import com.jjt.hl.service.IHlScoreService;
|
|
|
import com.jjt.risk.domain.RiskMsConfig;
|
|
|
import com.jjt.risk.service.IRiskMsConfigService;
|
|
|
import io.swagger.annotations.Api;
|
|
@@ -51,6 +54,8 @@ public class RiskOtherController extends BaseController {
|
|
|
private IBizObjMetricsDataService dataService;
|
|
|
@Resource
|
|
|
private JdbcTemplate jdbcTemplate;
|
|
|
+ @Resource
|
|
|
+ private IHlScoreService hlScoreService;
|
|
|
|
|
|
@ApiOperation("模型列表")
|
|
|
@GetMapping(value = "/model/list")
|
|
@@ -214,34 +219,74 @@ public class RiskOtherController extends BaseController {
|
|
|
@GetMapping(value = "/server")
|
|
|
public AjaxResult server() {
|
|
|
Map<String, Object> result = new HashMap<>(16);
|
|
|
- List<ScoreVO> list = new ArrayList<>();
|
|
|
- List<Map<String, Object>> topList = new ArrayList<>();
|
|
|
- String[] names = {"市场服务", "市场出清", "信息发布", "市场合规", "市场结算"};
|
|
|
- for (int i = 0; i < names.length; i++) {
|
|
|
- Map<String, Object> map = new HashMap<>(16);
|
|
|
- map.put("name", names[i]);
|
|
|
- map.put("score", Float.valueOf(new Random().nextInt(50) + 50));
|
|
|
- topList.add(map);
|
|
|
+ List<ScoreVO> scoreVOList = new ArrayList<>();
|
|
|
+ LocalDate endTime = LocalDate.now();
|
|
|
+ LocalDate beginTime = endTime.minusDays(30);
|
|
|
+ HlScore search = new HlScore();
|
|
|
+ search.setHlType("2");
|
|
|
+ Map<String, Object> params = new HashMap<>(16);
|
|
|
+ params.put("beginTime", beginTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
|
|
|
+ params.put("endTime", endTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
|
|
|
+ search.setParams(params);
|
|
|
+
|
|
|
+ List<HlScore> list = hlScoreService.selectHlScoreList(search);
|
|
|
+
|
|
|
+ Map<Long, List<HlScore>> resultMap = list.stream().collect(Collectors.groupingBy(HlScore::getModelId));
|
|
|
+ for (Long modelId : resultMap.keySet()) {
|
|
|
ScoreVO vo = new ScoreVO();
|
|
|
+ BizModel model = bizModelService.selectBizModelByModelId(modelId);
|
|
|
+ vo.setModelId(modelId);
|
|
|
+ vo.setModelName(model.getModelName());
|
|
|
List<String> xData = new ArrayList<>();
|
|
|
List<Float> scores = new ArrayList<>();
|
|
|
- LocalDate time = LocalDate.now().minusDays(31);
|
|
|
- for (int j = 0; j < 30; j++) {
|
|
|
- time = time.plusDays(1);
|
|
|
- xData.add(time.getMonthValue() + "-" + time.getDayOfMonth());
|
|
|
- Float score = Float.valueOf(new Random().nextInt(50) + 50);
|
|
|
- scores.add(score);
|
|
|
- }
|
|
|
-
|
|
|
- vo.setModelId((long) (i + 1));
|
|
|
- vo.setModelName(names[i]);
|
|
|
+ List<HlScore> scoreList = resultMap.get(modelId);
|
|
|
+ scoreList = scoreList.stream().sorted(Comparator.comparing(HlScore::getHlDate)).collect(Collectors.toList());
|
|
|
+ scoreList.forEach(hs -> {
|
|
|
+ xData.add(DateUtils.parseDateToStr("MM-dd", hs.getHlDate()));
|
|
|
+ scores.add(hs.getHlScore().floatValue());
|
|
|
+ });
|
|
|
vo.setScores(scores);
|
|
|
vo.setXData(xData);
|
|
|
- list.add(vo);
|
|
|
+ scoreVOList.add(vo);
|
|
|
}
|
|
|
- topList.sort(Comparator.comparing(map -> (Float) map.get("score")));
|
|
|
+ List<Map<String, Object>> topList = new ArrayList<>();
|
|
|
+ List<HlScoreVO> curr = hlScoreService.selectHlScoreListLast();
|
|
|
+ curr.sort(Comparator.comparing(HlScoreVO::getHlScore).reversed());
|
|
|
+
|
|
|
+ for (HlScoreVO vo : curr) {
|
|
|
+ Map<String, Object> map = new HashMap<>(16);
|
|
|
+ map.put("name", vo.getModelName());
|
|
|
+ map.put("score", vo.getHlScore());
|
|
|
+ topList.add(map);
|
|
|
+ }
|
|
|
+
|
|
|
+// List<ScoreVO> list = new ArrayList<>();
|
|
|
+// String[] names = {"市场服务", "市场出清", "信息发布", "市场合规", "市场结算"};
|
|
|
+// for (int i = 0; i < names.length; i++) {
|
|
|
+// Map<String, Object> map = new HashMap<>(16);
|
|
|
+// map.put("name", names[i]);
|
|
|
+// map.put("score", Float.valueOf(new Random().nextInt(50) + 50));
|
|
|
+// topList.add(map);
|
|
|
+// ScoreVO vo = new ScoreVO();
|
|
|
+// List<String> xData = new ArrayList<>();
|
|
|
+// List<Float> scores = new ArrayList<>();
|
|
|
+// LocalDate time = LocalDate.now().minusDays(31);
|
|
|
+// for (int j = 0; j < 30; j++) {
|
|
|
+// time = time.plusDays(1);
|
|
|
+// xData.add(time.getMonthValue() + "-" + time.getDayOfMonth());
|
|
|
+// Float score = Float.valueOf(new Random().nextInt(50) + 50);
|
|
|
+// scores.add(score);
|
|
|
+// }
|
|
|
+//
|
|
|
+// vo.setModelId((long) (i + 1));
|
|
|
+// vo.setModelName(names[i]);
|
|
|
+// vo.setScores(scores);
|
|
|
+// vo.setXData(xData);
|
|
|
+// list.add(vo);
|
|
|
+// }
|
|
|
+// topList.sort(Comparator.comparing(map -> (Float) map.get("score")));
|
|
|
|
|
|
- result.put("trend", list);
|
|
|
+ result.put("trend", scoreVOList);
|
|
|
result.put("top", topList);
|
|
|
return success(result);
|
|
|
}
|