Browse Source

完善压测接口

lixing 3 năm trước cách đây
mục cha
commit
c590ef7eb5

+ 17 - 2
src/main/java/com/persagy/apm/diagnose/service/ComputeIndicatorDataService.java

@@ -3,6 +3,7 @@ package com.persagy.apm.diagnose.service;
 import com.persagy.apm.diagnose.indicatorcompute.model.ProjectIndicatorCompute;
 import com.persagy.apm.diagnose.indicatorcompute.service.IProjectIndicatorComputeService;
 import com.persagy.apm.diagnose.indicatorrecord.service.IMonitorIndicatorRecordService;
+import com.persagy.apm.diagnose.maintenance.model.dto.AlarmProjectDTO;
 import com.persagy.apm.diagnose.service.dto.ProjectDTO;
 import com.persagy.apm.diagnose.utils.CommonUtils;
 import lombok.extern.slf4j.Slf4j;
@@ -15,6 +16,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.Future;
+import java.util.stream.Collectors;
 
 /**
  * @author leifeng
@@ -37,6 +39,9 @@ public class ComputeIndicatorDataService {
     @Autowired
     private IProjectIndicatorComputeService projectIndicatorComputeService;
 
+    @Autowired
+    private EnergyAlarmServiceImpl energyAlarmService;
+
 
     /**
      * @title computeIndicatorData
@@ -74,8 +79,18 @@ public class ComputeIndicatorDataService {
     }
 
     public void sendIndicatorData() throws Exception {
-        //查询项目列表
-        List<ProjectDTO> projectDTOList = saasWebServiceImpl.queryProjectDTOList(null);
+        // 按照业务中台提供的项目发送数据
+        List<AlarmProjectDTO> alarmProjectDTOList = energyAlarmService.getAlarmProjectDTOList();
+
+        if (CollectionUtils.isEmpty(alarmProjectDTOList)) {
+            return;
+        }
+
+        List<ProjectDTO> projectDTOList = alarmProjectDTOList.stream().map(
+                alarmProjectDTO -> ProjectDTO.builder().projectId(alarmProjectDTO.getProjectId()).build()
+        ).collect(Collectors.toList());
+//        //查询项目列表
+//        List<ProjectDTO> projectDTOList = saasWebServiceImpl.queryProjectDTOList(null);
         if (CollectionUtils.isEmpty(projectDTOList)) {
             return;
         }

+ 19 - 1
src/main/java/com/persagy/apm/diagnose/service/MaintenanceDataService.java

@@ -1,5 +1,6 @@
 package com.persagy.apm.diagnose.service;
 
+import com.persagy.apm.diagnose.maintenance.model.dto.AlarmProjectDTO;
 import com.persagy.apm.diagnose.maintenance.service.IProjectDataRecordService;
 import com.persagy.apm.diagnose.service.dto.ProjectDTO;
 import com.persagy.apm.diagnose.utils.CommonUtils;
@@ -12,6 +13,7 @@ import org.springframework.util.CollectionUtils;
 import java.util.*;
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.Future;
+import java.util.stream.Collectors;
 
 /**
  * 设备维保数据 计算与发送
@@ -26,6 +28,8 @@ public class MaintenanceDataService {
     private CenterDataService centerDataService;
     @Autowired
     private IProjectDataRecordService projectDataRecordService;
+    @Autowired
+    private EnergyAlarmServiceImpl energyAlarmService;
 
     /**
      * 计算 数据
@@ -88,9 +92,23 @@ public class MaintenanceDataService {
      * 同步即将报废设备
      */
     public void syncCheckGoingDestroyEquip() throws Exception {
+        // 按照业务中台提供的项目发送数据
+        List<AlarmProjectDTO> alarmProjectDTOList = energyAlarmService.getAlarmProjectDTOList();
+
+        if (CollectionUtils.isEmpty(alarmProjectDTOList)) {
+            return;
+        }
+
+        List<ProjectDTO> projectDTOList = alarmProjectDTOList.stream().map(
+                alarmProjectDTO -> ProjectDTO.builder().projectId(alarmProjectDTO.getProjectId()).build()
+        ).collect(Collectors.toList());
+
+
 //        projectDataRecordService.syncGoingDestroyEquip("Pj1101060001",null);
         //查询项目列表
-        List<ProjectDTO> projectDTOList = saasWebServiceImpl.queryProjectDTOList(null);
+//        List<ProjectDTO> projectDTOList = saasWebServiceImpl.queryProjectDTOList(null);
+
+
         if (CollectionUtils.isEmpty(projectDTOList)) {
             return;
         }

+ 31 - 2
src/main/java/com/persagy/apm/diagnose/service/SaasWebServiceImpl.java

@@ -47,7 +47,36 @@ public class SaasWebServiceImpl {
         puser.put("userId", USERID);
         puser.put("loginDevice", LOGINDEVICE);
         param.put("puser", puser);
-        param.put("groupCode",systemCode);
+        param.put("groupCode", systemCode);
+        if (!CollectionUtils.isEmpty(projectIdList)) {
+            param.put("projectIds", projectIdList);
+        }
+        String resultStr = saasWebClient.queryInUseProjectsByIds(param.toJSONString());
+        JSONObject parseObject = JSONObject.parseObject(resultStr);
+        if ("failure".equals(parseObject.getString("result"))) {
+            throw new Exception("查询分区失败:" + parseObject.getString("reson"));
+        }
+        List<ProjectDTO> result = new ArrayList<>();
+        JSONArray jsonArray = parseObject.getJSONArray("content");
+        if (jsonArray == null || jsonArray.isEmpty()) {
+            return result;
+        }
+
+        for (Object object : jsonArray) {
+            JSONObject obj = (JSONObject) object;
+            ProjectDTO projectDTO = ProjectDTO.builder().projectId(obj.getString("projectId")).projectLocalId(obj.getString("projectLocalID")).build();
+            result.add(projectDTO);
+        }
+        return result;
+    }
+
+    private List<ProjectDTO> queryProjectFromEmsSaasWeb(List<String> projectIdList) throws Exception {
+        JSONObject param = new JSONObject();
+        JSONObject puser = new JSONObject();
+        puser.put("userId", USERID);
+        puser.put("loginDevice", LOGINDEVICE);
+        param.put("puser", puser);
+        param.put("groupCode", systemCode);
         if (!CollectionUtils.isEmpty(projectIdList)) {
             param.put("projectIds", projectIdList);
         }
@@ -77,7 +106,7 @@ public class SaasWebServiceImpl {
         puser.put("loginDevice", LOGINDEVICE);
         puser.put("pd", DEFAULT_PD);
         param.put("puser", puser);
-        param.put("groupCode",systemCode);
+        param.put("groupCode", systemCode);
         param.put("projectId", projectId);
         String resultStr = saasWebClient.getProjectByIdService(param.toJSONString());
         JSONObject parseObject = JSONObject.parseObject(resultStr);