|
@@ -7,8 +7,8 @@ import com.jjt.biz.vo.BizSortVO;
|
|
|
import com.jjt.biz.vo.BizTypeVO;
|
|
|
import com.jjt.biz.vo.LevelSortVO;
|
|
|
import com.jjt.common.core.controller.BaseController;
|
|
|
+import com.jjt.common.core.domain.AjaxResult;
|
|
|
import com.jjt.common.core.page.TableDataInfo;
|
|
|
-import com.jjt.common.utils.StringUtils;
|
|
|
import io.swagger.annotations.Api;
|
|
|
import io.swagger.annotations.ApiOperation;
|
|
|
import io.swagger.annotations.ApiParam;
|
|
@@ -20,7 +20,6 @@ import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
import org.springframework.web.bind.annotation.RestController;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
-import java.math.BigDecimal;
|
|
|
import java.util.*;
|
|
|
|
|
|
/**
|
|
@@ -50,96 +49,143 @@ public class AlarmRecordController extends BaseController {
|
|
|
return getDataTable(list);
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 查询告警记录列表
|
|
|
+ */
|
|
|
+ @ApiOperation("统计数据")
|
|
|
+ @GetMapping("/lastMonth")
|
|
|
+ public AjaxResult calc(AlarmRecord alarmRecord) {
|
|
|
+ List<AlarmRecord> list = alarmRecordService.selectAlarmRecordList(alarmRecord);
|
|
|
+ return AjaxResult.success();
|
|
|
+// return getDataTable(list);
|
|
|
+ }
|
|
|
+
|
|
|
@ApiOperation("业务类型统计")
|
|
|
@GetMapping("/list/bizType")
|
|
|
- public TableDataInfo listBizType(@ApiParam(value = "开始时间yyyy-mm-dd") @DateTimeFormat(pattern = "yyyy-MM-dd") Date start, @ApiParam(value = "结束时间yyyy-mm-dd") @DateTimeFormat(pattern = "yyyy-MM-dd") Date end) {
|
|
|
+ public AjaxResult listBizType(@ApiParam(value = "开始时间yyyy-mm-dd") @DateTimeFormat(pattern = "yyyy-MM-dd") Date start, @ApiParam(value = "结束时间yyyy-mm-dd") @DateTimeFormat(pattern = "yyyy-MM-dd") Date end) {
|
|
|
List<BizTypeVO> list = new ArrayList();
|
|
|
- String sql = "SELECT b.obj_type,COUNT(*) num FROM alarm_record a,biz_obj b WHERE a.obj_id=b.obj_id";
|
|
|
- Vector<Object> v = new Vector<>();
|
|
|
- if (start != null && end != null) {
|
|
|
- sql += " AND a.alarm_time BETWEEN ? AND ?";
|
|
|
- v.add(start);
|
|
|
- v.add(end);
|
|
|
+// TODO 暂时使用模拟数据
|
|
|
+
|
|
|
+// String sql = "SELECT b.obj_type,COUNT(*) num FROM alarm_record a,biz_obj b WHERE a.obj_id=b.obj_id";
|
|
|
+// Vector<Object> v = new Vector<>();
|
|
|
+// if (start != null && end != null) {
|
|
|
+// sql += " AND a.alarm_time BETWEEN ? AND ?";
|
|
|
+// v.add(start);
|
|
|
+// v.add(end);
|
|
|
+// }
|
|
|
+// sql += " GROUP BY b.obj_type";
|
|
|
+// List<Map<String, Object>> results = jdbcTemplate.queryForList(sql, v.toArray());
|
|
|
+// results.forEach(map -> {
|
|
|
+// BizTypeVO ls = new BizTypeVO();
|
|
|
+// ls.setBizType((String) map.get("obj_type"));
|
|
|
+// ls.setNum((Long) map.get("num"));
|
|
|
+// list.add(ls);
|
|
|
+// });
|
|
|
+ String[] names = {"mysql", "基础支撑", "运行环境", "ES搜索服务", "nginx", "redis", "负载均衡", "其他", "JAVA应用"};
|
|
|
+ for (int i = 0; i < names.length; i++) {
|
|
|
+ BizTypeVO vo = new BizTypeVO();
|
|
|
+ vo.setBizType(names[i]);
|
|
|
+ long num = Long.valueOf(new Random().nextInt(200) + 10);
|
|
|
+ vo.setNum(num);
|
|
|
+ list.add(vo);
|
|
|
}
|
|
|
- sql += " GROUP BY b.obj_type";
|
|
|
- List<Map<String, Object>> results = jdbcTemplate.queryForList(sql, v.toArray());
|
|
|
- results.forEach(map -> {
|
|
|
- BizTypeVO ls = new BizTypeVO();
|
|
|
- ls.setBizType((String) map.get("obj_type"));
|
|
|
- ls.setNum((Long) map.get("num"));
|
|
|
- list.add(ls);
|
|
|
- });
|
|
|
- return getDataTable(list);
|
|
|
+
|
|
|
+ list.sort(Comparator.comparing(BizTypeVO::getNum));
|
|
|
+ return AjaxResult.success(list);
|
|
|
}
|
|
|
|
|
|
@ApiOperation("应用组件统计")
|
|
|
@GetMapping("/list/bizSort")
|
|
|
- public TableDataInfo listBizSort(@ApiParam(value = "分类") String bizType, @ApiParam(value = "开始时间yyyy-mm-dd") @DateTimeFormat(pattern = "yyyy-MM-dd") Date start, @ApiParam(value = "结束时间yyyy-mm-dd") @DateTimeFormat(pattern = "yyyy-MM-dd") Date end) {
|
|
|
+ public AjaxResult listBizSort(@ApiParam(value = "分类") String bizType, @ApiParam(value = "开始时间yyyy-mm-dd") @DateTimeFormat(pattern = "yyyy-MM-dd") Date start, @ApiParam(value = "结束时间yyyy-mm-dd") @DateTimeFormat(pattern = "yyyy-MM-dd") Date end) {
|
|
|
List<BizSortVO> list = new ArrayList();
|
|
|
- String sql = "SELECT a.obj_id,b.obj_name,b.obj_type,COUNT(*) num FROM alarm_record a,biz_obj b WHERE a.obj_id=b.obj_id";
|
|
|
- Vector<Object> v = new Vector<>();
|
|
|
- if (StringUtils.isNotEmpty(bizType)) {
|
|
|
- sql += " AND b.obj_type=?";
|
|
|
- v.add(bizType);
|
|
|
- }
|
|
|
- if (start != null && end != null) {
|
|
|
- sql += " AND a.alarm_time BETWEEN ? AND ?";
|
|
|
- v.add(start);
|
|
|
- v.add(end);
|
|
|
+// TODO 暂时使用模拟数据
|
|
|
+// String sql = "SELECT a.obj_id,b.obj_name,b.obj_type,COUNT(*) num FROM alarm_record a,biz_obj b WHERE a.obj_id=b.obj_id";
|
|
|
+// Vector<Object> v = new Vector<>();
|
|
|
+// if (StringUtils.isNotEmpty(bizType)) {
|
|
|
+// sql += " AND b.obj_type=?";
|
|
|
+// v.add(bizType);
|
|
|
+// }
|
|
|
+// if (start != null && end != null) {
|
|
|
+// sql += " AND a.alarm_time BETWEEN ? AND ?";
|
|
|
+// v.add(start);
|
|
|
+// v.add(end);
|
|
|
+// }
|
|
|
+// sql += " GROUP BY a.obj_id,b.obj_name,b.obj_type";
|
|
|
+// List<Map<String, Object>> results = jdbcTemplate.queryForList(sql, v.toArray());
|
|
|
+// results.forEach(map -> {
|
|
|
+// BizSortVO ls = new BizSortVO();
|
|
|
+// ls.setObjId(Long.valueOf((Integer) map.get("obj_id")));
|
|
|
+// ls.setObjName((String) map.get("obj_name"));
|
|
|
+// ls.setBizType((String) map.get("obj_type"));
|
|
|
+// ls.setNum((Long) map.get("num"));
|
|
|
+// list.add(ls);
|
|
|
+// });
|
|
|
+
|
|
|
+ for (int i = 0; i < 10; i++) {
|
|
|
+ BizSortVO vo = new BizSortVO(true);
|
|
|
+ list.add(vo);
|
|
|
}
|
|
|
- sql += " GROUP BY a.obj_id,b.obj_name,b.obj_type";
|
|
|
- List<Map<String, Object>> results = jdbcTemplate.queryForList(sql, v.toArray());
|
|
|
- results.forEach(map -> {
|
|
|
- BizSortVO ls = new BizSortVO();
|
|
|
- ls.setObjId(Long.valueOf((Integer) map.get("obj_id")));
|
|
|
- ls.setObjName((String) map.get("obj_name"));
|
|
|
- ls.setBizType((String) map.get("obj_type"));
|
|
|
- ls.setNum((Long) map.get("num"));
|
|
|
- list.add(ls);
|
|
|
- });
|
|
|
- return getDataTable(list);
|
|
|
+ list.sort(Comparator.comparing(BizSortVO::getNum));
|
|
|
+ return AjaxResult.success(list);
|
|
|
}
|
|
|
|
|
|
@ApiOperation("系统压力排名")
|
|
|
@GetMapping("/list/bizAccess")
|
|
|
- public TableDataInfo listBizAccess(@ApiParam(value = "开始时间yyyy-mm-dd") @DateTimeFormat(pattern = "yyyy-MM-dd") Date start, @ApiParam(value = "结束时间yyyy-mm-dd") @DateTimeFormat(pattern = "yyyy-MM-dd") Date end) {
|
|
|
+ public AjaxResult listBizAccess(@ApiParam(value = "开始时间yyyy-mm-dd") @DateTimeFormat(pattern = "yyyy-MM-dd") Date start, @ApiParam(value = "结束时间yyyy-mm-dd") @DateTimeFormat(pattern = "yyyy-MM-dd") Date end) {
|
|
|
List<BizAccessVO> list = new ArrayList();
|
|
|
- String sql = "SELECT a.model_id,a.model_name,ifnull(sum(c.ACCESS_TIMES),0) times FROM biz_model a,biz_model_detail b,biz_obj c" +
|
|
|
- " WHERE a.model_id=b.model_id AND b.obj_id=c.obj_id GROUP BY a.model_id,a.model_name ORDER BY times desc";
|
|
|
- List<Map<String, Object>> mdList = jdbcTemplate.queryForList(sql);
|
|
|
- mdList.forEach(map -> {
|
|
|
+// TODO 暂时使用模拟数据
|
|
|
+// String sql = "SELECT a.model_id,a.model_name,ifnull(sum(c.ACCESS_TIMES),0) times FROM biz_model a,biz_model_detail b,biz_obj c" +
|
|
|
+// " WHERE a.model_id=b.model_id AND b.obj_id=c.obj_id GROUP BY a.model_id,a.model_name ORDER BY times desc";
|
|
|
+// 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");
|
|
|
+// BigDecimal times = (BigDecimal) map.get("times");
|
|
|
+// vo.setAccess(times.longValue());
|
|
|
+// 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);
|
|
|
+// }
|
|
|
+// Long num = jdbcTemplate.queryForObject(sql1, Long.class, v.toArray());
|
|
|
+// vo.setNum(num);
|
|
|
+// list.add(vo);
|
|
|
+// });
|
|
|
+ String[] names = {"市场服务", "市场出清", "市场结算", "市场合规", "信息发布"};
|
|
|
+ for (int i = 0; i < names.length; i++) {
|
|
|
BizAccessVO vo = new BizAccessVO();
|
|
|
- Integer modelId = (Integer) map.get("model_id");
|
|
|
- String modelName = (String) map.get("model_name");
|
|
|
- BigDecimal times = (BigDecimal) map.get("times");
|
|
|
- vo.setAccess(times.longValue());
|
|
|
- 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);
|
|
|
- }
|
|
|
- Long num = jdbcTemplate.queryForObject(sql1, Long.class, v.toArray());
|
|
|
+ vo.setModelName(names[i]);
|
|
|
+ long access = Long.valueOf(new Random().nextInt(600) + 10);
|
|
|
+ long num = Long.valueOf(new Random().nextInt(200) + 10);
|
|
|
+ vo.setAccess(access);
|
|
|
vo.setNum(num);
|
|
|
list.add(vo);
|
|
|
- });
|
|
|
- return getDataTable(list);
|
|
|
+ }
|
|
|
+
|
|
|
+ list.sort(Comparator.comparing(BizAccessVO::getAccess).reversed());
|
|
|
+ return AjaxResult.success(list);
|
|
|
}
|
|
|
|
|
|
@ApiOperation("等级级别排名")
|
|
|
@GetMapping("/list/levelSort")
|
|
|
- public TableDataInfo listLevelSort(@ApiParam(value = "开始时间yyyy-mm-dd") @DateTimeFormat(pattern = "yyyy-MM-dd") Date start, @ApiParam(value = "结束时间yyyy-mm-dd") @DateTimeFormat(pattern = "yyyy-MM-dd") Date end) {
|
|
|
+ public AjaxResult listLevelSort(AlarmRecord alarmRecord) {
|
|
|
List<LevelSortVO> list = new ArrayList();
|
|
|
Vector<Object> v = new Vector<>();
|
|
|
- String sql = "SELECT alarm_level,COUNT(*) num FROM alarm_record";
|
|
|
- if (start != null && end != null) {
|
|
|
- sql += " WHERE alarm_time BETWEEN ? AND ?";
|
|
|
- v.add(start);
|
|
|
- v.add(end);
|
|
|
+ String sql = "SELECT alarm_level,COUNT(*) num FROM alarm_record where 1=1";
|
|
|
+ if (alarmRecord.getObjId() != null) {
|
|
|
+ sql += " and OBJ_ID = ?";
|
|
|
+ v.add(alarmRecord.getObjId());
|
|
|
+ }
|
|
|
+ if (alarmRecord.getParams().get("beginAlarmTime") != null && alarmRecord.getParams().get("endAlarmTime") != null) {
|
|
|
+ sql += " AND alarm_time BETWEEN ? AND ?";
|
|
|
+ v.add(alarmRecord.getParams().get("beginAlarmTime"));
|
|
|
+ v.add(alarmRecord.getParams().get("endAlarmTime") != null);
|
|
|
}
|
|
|
sql += " GROUP BY alarm_level";
|
|
|
List<Map<String, Object>> results = jdbcTemplate.queryForList(sql, v.toArray());
|
|
@@ -147,10 +193,22 @@ public class AlarmRecordController extends BaseController {
|
|
|
results.forEach(map -> {
|
|
|
LevelSortVO ls = new LevelSortVO();
|
|
|
ls.setLevel((String) map.get("alarm_level"));
|
|
|
+ switch (ls.getLevel()) {
|
|
|
+ case "low":
|
|
|
+ ls.setName("低");
|
|
|
+ break;
|
|
|
+ case "mid":
|
|
|
+ ls.setName("中");
|
|
|
+ break;
|
|
|
+ case "high":
|
|
|
+ ls.setName("高");
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ }
|
|
|
ls.setNum((Long) map.get("num"));
|
|
|
list.add(ls);
|
|
|
});
|
|
|
- return getDataTable(list);
|
|
|
+ return AjaxResult.success(list);
|
|
|
}
|
|
|
|
|
|
// /**
|