|
@@ -1,7 +1,9 @@
|
|
package com.jjt.biz.controller;
|
|
package com.jjt.biz.controller;
|
|
|
|
|
|
import com.jjt.biz.domain.AlarmRecord;
|
|
import com.jjt.biz.domain.AlarmRecord;
|
|
|
|
+import com.jjt.biz.domain.BizModel;
|
|
import com.jjt.biz.service.IAlarmRecordService;
|
|
import com.jjt.biz.service.IAlarmRecordService;
|
|
|
|
+import com.jjt.biz.service.IBizModelService;
|
|
import com.jjt.biz.vo.BizAccessVO;
|
|
import com.jjt.biz.vo.BizAccessVO;
|
|
import com.jjt.biz.vo.BizSortVO;
|
|
import com.jjt.biz.vo.BizSortVO;
|
|
import com.jjt.biz.vo.BizTypeVO;
|
|
import com.jjt.biz.vo.BizTypeVO;
|
|
@@ -27,6 +29,7 @@ import java.time.LocalDateTime;
|
|
import java.time.format.DateTimeFormatter;
|
|
import java.time.format.DateTimeFormatter;
|
|
import java.util.*;
|
|
import java.util.*;
|
|
import java.util.concurrent.atomic.AtomicInteger;
|
|
import java.util.concurrent.atomic.AtomicInteger;
|
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
/**
|
|
* 告警记录Controller
|
|
* 告警记录Controller
|
|
@@ -44,6 +47,8 @@ public class AlarmRecordController extends BaseController {
|
|
private JdbcTemplate jdbcTemplate;
|
|
private JdbcTemplate jdbcTemplate;
|
|
@Resource
|
|
@Resource
|
|
private ISysDictDataService sysDictDataService;
|
|
private ISysDictDataService sysDictDataService;
|
|
|
|
+ @Resource
|
|
|
|
+ private IBizModelService bizModelService;
|
|
|
|
|
|
/**
|
|
/**
|
|
* 查询告警记录列表
|
|
* 查询告警记录列表
|
|
@@ -78,7 +83,7 @@ public class AlarmRecordController extends BaseController {
|
|
@ApiOperation("业务组件统计")
|
|
@ApiOperation("业务组件统计")
|
|
@GetMapping("/list/bizObj")
|
|
@GetMapping("/list/bizObj")
|
|
public AjaxResult listBizObj(@ApiParam(value = "业务类型") String type, @ApiParam(value = "开始时间yyyy-mm-dd") String start, @ApiParam(value = "结束时间yyyy-mm-dd") String end) {
|
|
public AjaxResult listBizObj(@ApiParam(value = "业务类型") String type, @ApiParam(value = "开始时间yyyy-mm-dd") String start, @ApiParam(value = "结束时间yyyy-mm-dd") String end) {
|
|
- List<BizTypeVO> list = alarmRecordService.listBizObj(type,start, end);
|
|
|
|
|
|
+ List<BizTypeVO> list = alarmRecordService.listBizObj(type, start, end);
|
|
return AjaxResult.success(list);
|
|
return AjaxResult.success(list);
|
|
}
|
|
}
|
|
|
|
|
|
@@ -151,41 +156,92 @@ public class AlarmRecordController extends BaseController {
|
|
@GetMapping("/list/bizAccess")
|
|
@GetMapping("/list/bizAccess")
|
|
public AjaxResult listBizAccess(@ApiParam(value = "开始时间yyyy-mm-dd") String start, @ApiParam(value = "结束时间yyyy-mm-dd") String end) {
|
|
public AjaxResult listBizAccess(@ApiParam(value = "开始时间yyyy-mm-dd") String start, @ApiParam(value = "结束时间yyyy-mm-dd") String end) {
|
|
List<BizAccessVO> list = new ArrayList<>();
|
|
List<BizAccessVO> list = new ArrayList<>();
|
|
-// //还是得先用模拟数据。
|
|
|
|
- String sql = "SELECT model_id,model_name FROM biz_model";
|
|
|
|
- List<Map<String, Object>> mdList = jdbcTemplate.queryForList(sql);
|
|
|
|
- mdList.forEach(map -> {
|
|
|
|
|
|
+ String sql = "SELECT bmdetail.model_id,subq.metrics_code,IFNULL(SUM(bmd.D_VALUE), 0) AS total_value " +
|
|
|
|
+ "FROM biz_obj_metrics_data bmd " +
|
|
|
|
+ "JOIN (" +
|
|
|
|
+ " SELECT bom.obj_metrics_id, bom.obj_id,md.metrics_code" +
|
|
|
|
+ " FROM biz_obj_metrics bom" +
|
|
|
|
+ " JOIN metrics_def md ON bom.metrics_id = md.metrics_id" +
|
|
|
|
+ " WHERE md.metrics_code = 'pp.error' OR md.metrics_code='pp.tot' OR md.metrics_code='D_10163'" +
|
|
|
|
+ ") subq ON bmd.obj_metrics_id = subq.obj_metrics_id" +
|
|
|
|
+ " JOIN biz_model_detail bmdetail ON subq.obj_id = bmdetail.obj_id" +
|
|
|
|
+ " WHERE bmd.CREATE_TIME BETWEEN ? AND ?" +
|
|
|
|
+ " GROUP BY bmdetail.model_id,subq.metrics_code";
|
|
|
|
+ List<Map<String, Object>> acList = jdbcTemplate.queryForList(sql, start, end + " 23:59:59");
|
|
|
|
+ Map<Integer, List<Map<String, Object>>> resultMap = acList.stream().collect(Collectors.groupingBy(mp -> (Integer) mp.get("model_id")));
|
|
|
|
+
|
|
|
|
+ List<BizModel> modelList = bizModelService.selectBizModelList(new BizModel());
|
|
|
|
+ modelList.forEach(model -> {
|
|
BizAccessVO vo = new BizAccessVO();
|
|
BizAccessVO vo = new BizAccessVO();
|
|
- Integer modelId = (Integer) map.get("model_id");
|
|
|
|
- String modelName = (String) map.get("model_name");
|
|
|
|
- vo.setModelId(Long.valueOf(modelId));
|
|
|
|
- vo.setModelName(modelName);
|
|
|
|
- Vector<Object> v = new Vector<>();
|
|
|
|
- String sql1 = "SELECT COUNT(*) FROM alarm_record WHERE obj_id IN(SELECT obj_id FROM biz_model_detail WHERE model_id=?)";
|
|
|
|
- v.add(modelId);
|
|
|
|
- if (start != null && end != null) {
|
|
|
|
- sql1 += " AND alarm_time BETWEEN ? AND ?";
|
|
|
|
- v.add(start);
|
|
|
|
- v.add(end + " 23:59:59");
|
|
|
|
|
|
+ Map<String, Object> map = new HashMap<>(16);
|
|
|
|
+ vo.setModelId(model.getModelId());
|
|
|
|
+ vo.setModelName(model.getModelName());
|
|
|
|
+ map.put("name", model.getModelName());
|
|
|
|
+ String sql1 = "SELECT COUNT(*) FROM alarm_record WHERE obj_id IN(SELECT obj_id FROM biz_model_detail WHERE model_id=?) AND alarm_time BETWEEN ? AND ?";
|
|
|
|
+ Long num = jdbcTemplate.queryForObject(sql1, Long.class, model.getModelId(), start, end + " 23:59:59");
|
|
|
|
+ vo.setN1(num);
|
|
|
|
+
|
|
|
|
+ sql1 = "SELECT COUNT(*) FROM biz_obj WHERE obj_type=1 AND obj_id IN(SELECT obj_id FROM biz_model_detail where model_id=?)";
|
|
|
|
+ num = jdbcTemplate.queryForObject(sql1, Long.class, model.getModelId());
|
|
|
|
+ vo.setN2(num);
|
|
|
|
+ List<Map<String, Object>> vList = resultMap.get(model.getModelId().intValue());
|
|
|
|
+ for (Map<String, Object> objectMap : vList) {
|
|
|
|
+ String code = (String) objectMap.get("metrics_code");
|
|
|
|
+ BigDecimal value = (BigDecimal) objectMap.get("total_value");
|
|
|
|
+ if ("pp.error".equals(code)) {
|
|
|
|
+ vo.setNum(value.longValue());
|
|
|
|
+ }
|
|
|
|
+ if ("pp.tot".equals(code)) {
|
|
|
|
+ vo.setAccess(value.longValue());
|
|
|
|
+ }
|
|
|
|
+ if ("D_10163".equals(code)) {
|
|
|
|
+ vo.setN3(value.longValue());
|
|
|
|
+ }
|
|
}
|
|
}
|
|
- Long num = jdbcTemplate.queryForObject(sql1, Long.class, v.toArray());
|
|
|
|
- vo.setNum(num);
|
|
|
|
- Vector<Object> v1 = new Vector<>();
|
|
|
|
- String sql2 = "SELECT IFNULL(SUM(D_VALUE),0) FROM biz_obj_metrics_data " +
|
|
|
|
- "WHERE obj_metrics_id IN(" +
|
|
|
|
- "SELECT obj_metrics_id FROM biz_obj_metrics" +
|
|
|
|
- " WHERE metrics_id =(SELECT metrics_id FROM metrics_def WHERE metrics_code='pp.tot')" +
|
|
|
|
- " AND obj_id IN(SELECT obj_id FROM biz_model_detail WHERE model_id=?))";
|
|
|
|
- v1.add(modelId);
|
|
|
|
- if (start != null && end != null) {
|
|
|
|
- sql2 += " AND CREATE_TIME BETWEEN ? AND ?";
|
|
|
|
- v1.add(start);
|
|
|
|
- v1.add(end + " 23:59:59");
|
|
|
|
|
|
+ if (vo.getN3() == null) {
|
|
|
|
+ vo.setN3(0L);
|
|
}
|
|
}
|
|
- Long access = jdbcTemplate.queryForObject(sql2, Long.class, v1.toArray());
|
|
|
|
- vo.setAccess(access);
|
|
|
|
list.add(vo);
|
|
list.add(vo);
|
|
});
|
|
});
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+// //还是得先用模拟数据。
|
|
|
|
+// String sql = "SELECT model_id,model_name FROM biz_model";
|
|
|
|
+// List<Map<String, Object>> mdList = jdbcTemplate.queryForList(sql);
|
|
|
|
+// mdList.forEach(map -> {
|
|
|
|
+// BizAccessVO vo = new BizAccessVO();
|
|
|
|
+// Integer modelId = (Integer) map.get("model_id");
|
|
|
|
+// String modelName = (String) map.get("model_name");
|
|
|
|
+// vo.setModelId(Long.valueOf(modelId));
|
|
|
|
+// vo.setModelName(modelName);
|
|
|
|
+// Vector<Object> v = new Vector<>();
|
|
|
|
+// String sql1 = "SELECT COUNT(*) FROM alarm_record WHERE obj_id IN(SELECT obj_id FROM biz_model_detail WHERE model_id=?)";
|
|
|
|
+// v.add(modelId);
|
|
|
|
+// if (start != null && end != null) {
|
|
|
|
+// sql1 += " AND alarm_time BETWEEN ? AND ?";
|
|
|
|
+// v.add(start);
|
|
|
|
+// v.add(end + " 23:59:59");
|
|
|
|
+// }
|
|
|
|
+// Long num = jdbcTemplate.queryForObject(sql1, Long.class, v.toArray());
|
|
|
|
+// vo.setNum(num);
|
|
|
|
+// Vector<Object> v1 = new Vector<>();
|
|
|
|
+// String sql2 = "SELECT IFNULL(SUM(D_VALUE),0) FROM biz_obj_metrics_data " +
|
|
|
|
+// "WHERE obj_metrics_id IN(" +
|
|
|
|
+// "SELECT obj_metrics_id FROM biz_obj_metrics" +
|
|
|
|
+// " WHERE metrics_id =(SELECT metrics_id FROM metrics_def WHERE metrics_code='pp.tot')" +
|
|
|
|
+// " AND obj_id IN(SELECT obj_id FROM biz_model_detail WHERE model_id=?))";
|
|
|
|
+// v1.add(modelId);
|
|
|
|
+// if (start != null && end != null) {
|
|
|
|
+// sql2 += " AND CREATE_TIME BETWEEN ? AND ?";
|
|
|
|
+// v1.add(start);
|
|
|
|
+// v1.add(end + " 23:59:59");
|
|
|
|
+// }
|
|
|
|
+// Long access = jdbcTemplate.queryForObject(sql2, Long.class, v1.toArray());
|
|
|
|
+// vo.setAccess(access);
|
|
|
|
+// vo.setN1(1L);
|
|
|
|
+//
|
|
|
|
+// list.add(vo);
|
|
|
|
+// });
|
|
// String[] names = {"市场服务", "市场出清", "市场结算", "市场合规", "信息发布"};
|
|
// String[] names = {"市场服务", "市场出清", "市场结算", "市场合规", "信息发布"};
|
|
// int[] as = new int[5];
|
|
// int[] as = new int[5];
|
|
// int[] nums = new int[5];
|
|
// int[] nums = new int[5];
|
|
@@ -242,7 +298,7 @@ public class AlarmRecordController extends BaseController {
|
|
public AjaxResult objAccess(@ApiParam(value = "对象ID") Long modelId, @ApiParam(value = "开始时间yyyy-mm-dd") String start, @ApiParam(value = "结束时间yyyy-mm-dd") String end) {
|
|
public AjaxResult objAccess(@ApiParam(value = "对象ID") Long modelId, @ApiParam(value = "开始时间yyyy-mm-dd") String start, @ApiParam(value = "结束时间yyyy-mm-dd") String end) {
|
|
// 依然得用模拟数据
|
|
// 依然得用模拟数据
|
|
Map<String, Object> result = new HashMap<>(16);
|
|
Map<String, Object> result = new HashMap<>(16);
|
|
- List<BizAccessVO> list = alarmRecordService.objAccess(modelId,start,end);
|
|
|
|
|
|
+ List<BizAccessVO> list = alarmRecordService.objAccess(modelId, start, end);
|
|
|
|
|
|
List<Map<String, Object>> dataList = new ArrayList<>();
|
|
List<Map<String, Object>> dataList = new ArrayList<>();
|
|
//获取趋势
|
|
//获取趋势
|