| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169 |
- package com.persagy.apm.diagnose.service;
- import com.alibaba.fastjson.JSONArray;
- import com.alibaba.fastjson.JSONObject;
- import com.persagy.apm.diagnose.feign.AlarmResult;
- import com.persagy.apm.diagnose.feign.client.AlarmServiceClient;
- import com.persagy.apm.diagnose.indicatorrecord.service.impl.MonitorIndicatorRecordServiceImpl;
- import com.persagy.apm.diagnose.service.dto.*;
- import com.persagy.apm.diagnose.utils.AlarmResultUtil;
- import com.persagy.apm.diagnose.utils.DmpResultUtil;
- import com.persagy.apm.diagnose.utils.RedisUtil;
- import com.persagy.apm.energyalarmstarter.alarmdata.feign.DmpResult;
- import com.persagy.apm.energyalarmstarter.alarmdata.model.dto.alarmconfig.QueryAlarmConfigDTO;
- import com.persagy.apm.energyalarmstarter.alarmdata.model.vo.AlarmConfigItem;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import org.springframework.util.CollectionUtils;
- import java.util.*;
- import java.util.function.Function;
- import java.util.stream.Collectors;
- /**
- * OriginalPresent采集当前数据查询
- *
- * @author strootman
- * @version 1.0
- * @date 2018年8月17日
- */
- @Service
- public class EnergyAlarmServiceImpl {
- @Autowired
- AlarmServiceClient alarmServiceClient;
- @Autowired
- RedisUtil redisUtil;
- /**
- * @throws
- * @title queryMonitorIndicatorConfigDTOList
- * @description 查询监控指标配置
- * @author leifeng
- * @param: projectId
- * @updateTime 2021/9/23 20:29
- * @return: java.util.List<com.persagy.apm.diagnose.service.dto.MonitorIndicatorConfigDTO>
- */
- public List<MonitorIndicatorConfigDTO> queryMonitorIndicatorConfigDTOList(String projectId) throws Exception {
- MonitorIndicatorConfigDTO monitorIndicatorConfigDTO = MonitorIndicatorConfigDTO.builder().build();
- monitorIndicatorConfigDTO.setProjectId(projectId);
- monitorIndicatorConfigDTO.setGroupCode("WD");
- monitorIndicatorConfigDTO.setPd("asdasdasda");
- monitorIndicatorConfigDTO.setUserId("test");
- AlarmResult<JSONObject> result = alarmServiceClient.query(monitorIndicatorConfigDTO);
- return AlarmResultUtil.getRecords(result, MonitorIndicatorConfigDTO.class);
- }
- /**
- * @throws
- * @title queryCalculateMethods
- * @description 查询所有计算公式, key为公式id
- * @author leifeng
- * @updateTime 2021/9/23 20:29
- * @return: java.util.Map<java.lang.String, com.persagy.apm.diagnose.service.dto.CalculateMethodDTO>
- */
- public Map<String, CalculateMethodDTO> queryCalculateMethods() throws Exception {
- AlarmResult<JSONObject> result = alarmServiceClient.queryCalculateMethods(CalculateMethodDTO.builder().groupCode("WD").userId("test").pd("asdasdasdasdadsdasdasdasdasdasd").build());
- List<CalculateMethodDTO> records = AlarmResultUtil.getRecords(result, CalculateMethodDTO.class);
- return records.stream().collect(Collectors.toMap(CalculateMethodDTO::getId, Function.identity(), (key1, key2) -> key2));
- }
- /**
- * @throws
- * @title queryObjIndicatorMethodId
- * @description 查询对象指标公式
- * @author leifeng
- * @param: objId
- * @param: indicatorList
- * @updateTime 2021/9/27 11:54
- */
- public Map<String, String> queryObjId_indicatorAndMethodId(String projectId,String objId, List<String> indicatorIdList) throws Exception {
- MonitorIndicatorConfigByEquipDTO build = MonitorIndicatorConfigByEquipDTO.builder().projectId(projectId).objId(objId).monitorIndicatorId(indicatorIdList).groupCode("WD").userId("test").pd("wwwwwwwwww").build();
- AlarmResult<JSONObject> result = alarmServiceClient.query_by_equip(build);
- JSONObject content = result.getContent();
- if (content == null) {
- return new HashMap<>();
- }
- JSONArray records = content.getJSONArray("records");
- if (records == null) {
- return new HashMap<>();
- }
- List<ObjIndicatorMethodDTO> objIndicatorMethodDTOs = new ArrayList<>();
- ObjIndicatorMethodDTO objIndicatorMethodDTO = null;
- for (Object record : records) {
- objIndicatorMethodDTO = new ObjIndicatorMethodDTO();
- JSONObject recordObj = (JSONObject) record;
- JSONObject obj1 = recordObj.getJSONObject("obj");
- if (obj1 == null) {
- continue;
- }
- JSONObject monitorIndicator = recordObj.getJSONObject("monitorIndicator");
- if (monitorIndicator == null) {
- continue;
- }
- JSONObject calculateMethod = recordObj.getJSONObject("calculateMethod");
- if (calculateMethod == null) {
- continue;
- }
- objIndicatorMethodDTO.setObjId(obj1.getString("id"));
- objIndicatorMethodDTO.setCalculateMethodId(calculateMethod.getString("id"));
- objIndicatorMethodDTO.setMonitorIndicatorId(monitorIndicator.getString("id"));
- objIndicatorMethodDTOs.add(objIndicatorMethodDTO);
- }
- return objIndicatorMethodDTOs.stream().collect(Collectors.toMap(a -> a.getObjId() + MonitorIndicatorRecordServiceImpl.alarmSlipt + a.getMonitorIndicatorId(), ObjIndicatorMethodDTO::getCalculateMethodId));
- }
- /**
- * @throws
- * @title queryObjIndicatorMethodId
- * @description 查询对象指标公式
- * @author leifeng
- * @param: objId
- * @param: indicatorList
- * @updateTime 2021/9/27 11:54
- */
- public String queryObjIndicatorMethodId(String projectId,String objId, String indicatorId) throws Exception {
- MonitorIndicatorConfigByEquipDTO build = MonitorIndicatorConfigByEquipDTO.builder().projectId(projectId).objId(objId).monitorIndicatorId(Arrays.asList(indicatorId)).groupCode("WD").userId("test").pd("wwwwwwwwww").build();
- AlarmResult<JSONObject> result = alarmServiceClient.query_by_equip(build);
- JSONObject content = result.getContent();
- if (content == null) {
- return null;
- }
- JSONArray records = content.getJSONArray("records");
- if (records == null) {
- return null;
- }
- if(CollectionUtils.isEmpty(records)){
- return null;
- }
- JSONObject recordObj = (JSONObject)records.get(0);
- JSONObject calculateMethod = recordObj.getJSONObject("calculateMethod");
- if (calculateMethod == null) {
- return null;
- }
- return calculateMethod.getString("id");
- }
- /**
- * @throws
- * @title queryMonitorIndicatorConfigDTOList
- * @description 查询监控指标配置
- * @author leifeng
- * @param: projectId
- * @updateTime 2021/9/23 20:29
- * @return: java.util.List<com.persagy.apm.diagnose.service.dto.MonitorIndicatorConfigDTO>
- */
- public List<AlarmRuleDTO> getProjectAlarmRules(String projectId) throws Exception {
- AlarmRuleDTO alarmRuleDTO = AlarmRuleDTO.builder().build();
- alarmRuleDTO.setProjectId(projectId);
- alarmRuleDTO.setGroupCode("WD");
- alarmRuleDTO.setPd("asdasdasda");
- alarmRuleDTO.setUserId("test");
- AlarmResult<JSONObject> result = alarmServiceClient.queryProjectAlarmRules(alarmRuleDTO);
- return AlarmResultUtil.getRecords(result, AlarmRuleDTO.class);
- }
- }
|