Bladeren bron

发数测试接口

miaolijing 3 jaren geleden
bovenliggende
commit
0b9c0bd3eb

+ 0 - 27
src/main/java/com/persagy/apm/diagnose/indicatorrecord/controller/MonitorIndicatorRecordController.java

@@ -1,24 +1,17 @@
 package com.persagy.apm.diagnose.indicatorrecord.controller;
 
-import com.persagy.apm.common.response.ApmResponseUpsertVO;
 import com.persagy.apm.common.response.CommonResult;
 import com.persagy.apm.common.response.PageList;
 import com.persagy.apm.common.utils.ResultHelper;
-import com.persagy.apm.diagnose.indicatorcompute.model.ProjectIndicatorCompute;
-import com.persagy.apm.diagnose.indicatorcompute.service.IProjectIndicatorComputeService;
 import com.persagy.apm.diagnose.indicatorrecord.model.ConvertMonitorIndicatorRecordTool;
 import com.persagy.apm.diagnose.indicatorrecord.model.dto.*;
-import com.persagy.apm.diagnose.indicatorrecord.model.vo.MonitorIndicatorRecordItemVO;
 import com.persagy.apm.diagnose.indicatorrecord.model.vo.MonitorIndicatorRecordListItemVO;
 import com.persagy.apm.diagnose.indicatorrecord.service.IMonitorIndicatorRecordService;
 import com.persagy.apm.diagnose.service.EnergyAlarmServiceImpl;
-import com.persagy.apm.diagnose.service.SaasWebServiceImpl;
-import com.persagy.apm.diagnose.service.dto.ProjectDTO;
 import com.persagy.framework.ems.data.pojo.hbase.MonitorIndicatorRecord;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.util.CollectionUtils;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
@@ -27,7 +20,6 @@ import org.springframework.web.bind.annotation.RestController;
 
 import javax.validation.Valid;
 import java.util.List;
-import java.util.Map;
 
 /**
  * 监测指标历史记录控制层
@@ -41,25 +33,6 @@ import java.util.Map;
 public class MonitorIndicatorRecordController {
     @Autowired
     private IMonitorIndicatorRecordService monitorIndicatorRecordService;
-    @Autowired
-    private SaasWebServiceImpl saasWebServiceImpl;
-    @Autowired
-    private IProjectIndicatorComputeService projectIndicatorComputeService;
-    @PostMapping("/sendData")
-    public void sendData() throws Exception {
-        //查询项目列表
-        List<ProjectDTO> projectDTOList = saasWebServiceImpl.queryProjectDTOList(null);
-        if (CollectionUtils.isEmpty(projectDTOList)) {
-            return;
-        }
-        Map<String, ProjectIndicatorCompute> projectIdAndProjectCompute = projectIndicatorComputeService.getProjectIdAndProjectCompute();
-        for (ProjectDTO projectDTO : projectDTOList) {
-//            if(!projectDTO.getProjectId().equals("Pj1101060001")){
-//                continue;
-//            }
-            monitorIndicatorRecordService.computeIndicatorData(projectDTO, projectIdAndProjectCompute.get(projectDTO.getProjectId()), null);
-        }
-    }
 
     @ApiOperation(value = "监测指标历史记录列表")
     @PostMapping("/query")

+ 99 - 0
src/main/java/com/persagy/apm/diagnose/maintenance/controller/MaintenanceController.java

@@ -0,0 +1,99 @@
+package com.persagy.apm.diagnose.maintenance.controller;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.persagy.apm.diagnose.config.RabbitConfig;
+import com.persagy.apm.diagnose.maintenance.constant.EnumAlarmItem;
+import com.persagy.apm.diagnose.maintenance.constant.EnumMaintenanceIndicatorType;
+import com.persagy.apm.diagnose.utils.RedisLock;
+import com.persagy.apm.diagnose.utils.RedisUtil;
+import io.swagger.annotations.Api;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.LinkedHashMap;
+import java.util.Map;
+
+@Api(tags = "维保数据历史记录")
+@Validated
+@RestController
+@RequestMapping("monitorIndicatorRecords")
+public class MaintenanceController {
+    @Autowired
+    private RedisLock lockUtil;
+    @Autowired
+    private RedisUtil redisUtil;
+    @Autowired
+    private RabbitConfig rabbitConfig;
+
+    @PostMapping("/sendData")
+    public void sendData() throws Exception {
+
+        Map<String, Boolean> iotDataMap = new LinkedHashMap<>();
+        iotDataMap.put("10", true);
+        iotDataMap.put("11", true);
+        iotDataMap.put("12", false);
+        iotDataMap.put("13", true);
+        iotDataMap.put("14", true);
+        iotDataMap.put("15", true);
+        iotDataMap.put("16", false);
+        iotDataMap.put("17", true);
+        iotDataMap.put("18", true);
+
+        String objId = "Eq1101060001f00f2ed121f9407783ac0f0a520a9616", alarmItemCode=EnumAlarmItem.EvapAbnormal.getCode();
+        String lockKey = objId+"-"+alarmItemCode;
+        Object isLock = redisUtil.get(lockKey);
+        if (null != isLock){
+            long time = System.currentTimeMillis() + (10 * 1000);
+            lockUtil.lock(lockKey, String.valueOf(time));
+            JSONArray array = getSendArray(iotDataMap,objId,alarmItemCode);
+            //推送
+            rabbitConfig.sendMsg(array);
+        }
+
+    }
+
+    public JSONArray getSendArray(Map<String, Boolean> iotDataMap,String objId,String alarmItemCode) {
+        if (iotDataMap == null) {
+            return null;
+        }
+        JSONArray array = new JSONArray();
+        for (String time : iotDataMap.keySet()) {
+            if (iotDataMap.get(time)) {
+                array.add(getTriggerData(time,objId,alarmItemCode));
+            } else {
+                array.add(getNormalData(time,objId,alarmItemCode));
+            }
+        }
+        return array;
+    }
+
+    //触发报警
+    public JSONObject getTriggerData(String time,String objId,String alarmItemCode) {
+        return initJSONObject("202111"+time+"000000",objId,alarmItemCode,5.0,2.0);
+    }
+    //恢复
+    public JSONObject getNormalData(String time,String objId,String alarmItemCode) {
+        return initJSONObject("202111"+time+"000000",objId,alarmItemCode,1.0,0.0);
+    }
+
+    public JSONObject initJSONObject(String dataTime,String objId,String alarmItemCode,Double value1,Double value2){
+        JSONObject jsonObject = new JSONObject();
+        jsonObject.put("dataTime",dataTime);
+        jsonObject.put("itemCode", alarmItemCode);
+        jsonObject.put("meterId",objId);
+        JSONArray funcIdArray = new JSONArray();
+        funcIdArray.add(EnumMaintenanceIndicatorType.ACCCCC_EvapHeatTransferDayAvg);//换热端差日维度平均值阈值
+        funcIdArray.add(EnumMaintenanceIndicatorType.ACCCCC_EvapContinuousOperation.getCode());//运行持续时间
+        JSONArray valueArray = new JSONArray();
+        valueArray.add(value1);
+        valueArray.add(value2);
+        jsonObject.put("funcId",funcIdArray);
+        jsonObject.put("value",valueArray);
+        return jsonObject;
+    }
+
+}

+ 4 - 0
src/main/resources/bootstrap.yml

@@ -54,4 +54,8 @@ dmp:
     routingKey: routing-dmp-alarm     #报警定义变化路由键
     queue: eq-run-diagnose-alarm-queue              #中控订阅报警定义变化队列
 
+alarm:
+  category:
+    list: Eqwb,Eqdx   #报警系统编码
+