Commit cad76275d772d5dd26652f18b7b51b4d5e9f40af

Authored by 胡翰林
1 parent dbb60003

可视化看板数据接口

@@ -2,21 +2,23 @@ package com.ash.controller; @@ -2,21 +2,23 @@ package com.ash.controller;
2 2
3 import com.ash.base.*; 3 import com.ash.base.*;
4 import com.ash.entity.Case; 4 import com.ash.entity.Case;
5 -import com.ash.entity.WarningInstance; 5 +import com.ash.entity.CaseAnalysis;
  6 +import com.ash.service.CaseAnalysisService;
6 import com.ash.service.CaseService; 7 import com.ash.service.CaseService;
7 import com.ash.service.WarningInstanceAnalysisService; 8 import com.ash.service.WarningInstanceAnalysisService;
8 import com.ash.service.WarningInstanceService; 9 import com.ash.service.WarningInstanceService;
9 import com.ash.util.DateUtils; 10 import com.ash.util.DateUtils;
  11 +import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
10 import lombok.extern.slf4j.Slf4j; 12 import lombok.extern.slf4j.Slf4j;
11 import org.apache.commons.collections.CollectionUtils; 13 import org.apache.commons.collections.CollectionUtils;
12 import org.apache.commons.lang3.StringUtils; 14 import org.apache.commons.lang3.StringUtils;
13 -import org.springframework.web.bind.annotation.RequestBody;  
14 -import org.springframework.web.bind.annotation.RequestMapping;  
15 -import org.springframework.web.bind.annotation.RequestMethod;  
16 -import org.springframework.web.bind.annotation.RestController; 15 +import org.springframework.web.bind.annotation.*;
17 16
18 import javax.annotation.Resource; 17 import javax.annotation.Resource;
19 -import java.util.*; 18 +import java.util.ArrayList;
  19 +import java.util.HashMap;
  20 +import java.util.List;
  21 +import java.util.Map;
20 import java.util.stream.Collectors; 22 import java.util.stream.Collectors;
21 import java.util.stream.Stream; 23 import java.util.stream.Stream;
22 24
@@ -29,7 +31,7 @@ public class StatisticsController extends BaseController { @@ -29,7 +31,7 @@ public class StatisticsController extends BaseController {
29 private WarningInstanceService warningInstanceService; 31 private WarningInstanceService warningInstanceService;
30 32
31 @Resource 33 @Resource
32 - private WarningInstanceAnalysisService warningInstanceAnalysisService; 34 + private CaseAnalysisService caseAnalysisService;
33 35
34 @Resource 36 @Resource
35 private CaseService caseService; 37 private CaseService caseService;
@@ -334,5 +336,21 @@ public class StatisticsController extends BaseController { @@ -334,5 +336,21 @@ public class StatisticsController extends BaseController {
334 } 336 }
335 } 337 }
336 338
  339 + @PostMapping("/majorCasePage")
  340 + public JsonResult majorCasePage(@RequestBody StatisticsParams statisticsParams) {
  341 + statisticsParams.setStartTime(DateUtils.weeHours(statisticsParams.getStartTime(), 0));
  342 + statisticsParams.setEndTime(DateUtils.weeHours(statisticsParams.getEndTime(), 1));
  343 +
  344 + List<Case> dataList = caseService.majorCasePage(statisticsParams);
  345 + if (CollectionUtils.isNotEmpty(dataList)) {
  346 + List<String> caseIds = dataList
  347 + .stream().map(Case::getId).collect(Collectors.toList());
  348 + Map<String, CaseAnalysis> caseAnalysisMap = caseAnalysisService.listByCaseId(caseIds);
  349 + dataList.forEach(e -> e.setAnalysis(caseAnalysisMap.get(e.getId())));
  350 + }
  351 + return JsonResult.ok(OptionStatus.OPT_SUCCESS.getName(), dataList);
  352 +
  353 + }
  354 +
337 355
338 } 356 }
@@ -308,6 +308,29 @@ public class CaseService { @@ -308,6 +308,29 @@ public class CaseService {
308 return resultList; 308 return resultList;
309 } 309 }
310 310
  311 + public List<Case> majorCasePage(StatisticsParams params) {
  312 + MPJQueryWrapper<Case> mpjQueryWrapper = new MPJQueryWrapper<Case>();
  313 + mpjQueryWrapper.select("t.*")
  314 + .leftJoin("t_ash_case_analysis ca on t.id=ca.case_id");
  315 +
  316 + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  317 + if (params.getStartTime() != null) {
  318 + mpjQueryWrapper.ge("t.alarm_date", sdf.format(DateUtils.weeHours(params.getStartTime(), 0)));
  319 +
  320 + }
  321 +
  322 + if (params.getEndTime() != null) {
  323 + mpjQueryWrapper.le("t.alarm_date", sdf.format(DateUtils.weeHours(params.getEndTime(), 1)));
  324 + }
  325 +
  326 + mpjQueryWrapper.ge("ca.total_amount", 500000);
  327 + mpjQueryWrapper.orderByDesc("total_amount");
  328 +
  329 + return caseMapper.selectJoinList(Case.class, mpjQueryWrapper);
  330 +
  331 +
  332 + }
  333 +
311 private QueryWrapper<Case> getCondition(Case params) { 334 private QueryWrapper<Case> getCondition(Case params) {
312 QueryWrapper<Case> queryWrapper = new QueryWrapper<>(); 335 QueryWrapper<Case> queryWrapper = new QueryWrapper<>();
313 LambdaQueryWrapper<Case> lambda = queryWrapper.lambda(); 336 LambdaQueryWrapper<Case> lambda = queryWrapper.lambda();