Bladeren bron

Merge remote-tracking branch 'origin/v1.0.0' into v1.0.0

易涛 3 jaren geleden
bovenliggende
commit
07dfc7be5c
100 gewijzigde bestanden met toevoegingen van 929 en 351 verwijderingen
  1. 7 2
      pom.xml
  2. 0 51
      src/main/java/com/persagy/apm/alarmservice/alarmrecord/controller/AlarmCommnetController.java
  3. 1 1
      src/main/java/com/persagy/apm/common/aspect/AlarmDataAspect.java
  4. 1 1
      src/main/java/com/persagy/apm/common/configuration/ElasticSearchConfig.java
  5. 0 0
      src/main/java/com/persagy/apm/alarmservice/common/configuration/JmsConfig.java
  6. 1 1
      src/main/java/com/persagy/apm/common/configuration/PoemsWebConfigurer.java
  7. 1 1
      src/main/java/com/persagy/apm/constants/ElasticStrConstant.java
  8. 11 0
      src/main/java/com/persagy/apm/alarmservice/common/constants/FeignClientNameConstants.java
  9. 1 1
      src/main/java/com/persagy/apm/common/enums/AlarmDicTypeEnum.java
  10. 22 0
      src/main/java/com/persagy/apm/alarmservice/common/excel/ExcelMergeDTO.java
  11. 224 0
      src/main/java/com/persagy/apm/alarmservice/common/excel/ExcelUtils.java
  12. BIN
      src/main/java/com/persagy/apm/alarmservice/common/excel/项目清单.xlsx
  13. 1 1
      src/main/java/com/persagy/apm/model/DmpMessage.java
  14. 1 1
      src/main/java/com/persagy/apm/common/configuration/DataUtils.java
  15. 33 0
      src/main/java/com/persagy/apm/alarmservice/dependency/saasweb/client/SaasWebClient.java
  16. 20 0
      src/main/java/com/persagy/apm/alarmservice/dependency/saasweb/client/fallback/SaasWebClientFallbackFactory.java
  17. 30 0
      src/main/java/com/persagy/apm/alarmservice/dependency/saasweb/model/vo/PoemsProjectVO.java
  18. 18 0
      src/main/java/com/persagy/apm/alarmservice/dependency/saasweb/model/vo/UserBaseInfoVO.java
  19. 20 0
      src/main/java/com/persagy/apm/alarmservice/dependency/saasweb/model/vo/UserProjectsInfoVO.java
  20. 67 0
      src/main/java/com/persagy/apm/alarmservice/dependency/saasweb/service/SaasWebClientWrapper.java
  21. 4 6
      src/main/java/com/persagy/apm/alarmservice/alarmdic/controller/AlarmDicController.java
  22. 1 1
      src/main/java/com/persagy/apm/alarmservice/alarmdic/model/dto/QueryAlarmDicDTO.java
  23. 2 2
      src/main/java/com/persagy/apm/alarmservice/alarmdic/service/AlarmDicServiceImpl.java
  24. 91 0
      src/main/java/com/persagy/apm/alarmservice/group/alarmrecord/controller/AlarmCommnetController.java
  25. 12 12
      src/main/java/com/persagy/apm/alarmservice/alarmrecord/controller/AlarmRecordController.java
  26. 1 2
      src/main/java/com/persagy/apm/alarmservice/alarmrecord/enums/EnumAlarmCategory.java
  27. 1 1
      src/main/java/com/persagy/apm/alarmservice/alarmrecord/enums/EnumAlarmLevel.java
  28. 1 1
      src/main/java/com/persagy/apm/alarmservice/alarmrecord/enums/EnumAlarmNature.java
  29. 1 1
      src/main/java/com/persagy/apm/alarmservice/alarmrecord/enums/EnumAlarmState.java
  30. 1 1
      src/main/java/com/persagy/apm/alarmservice/alarmrecord/enums/EnumAlarmTreatMode.java
  31. 1 1
      src/main/java/com/persagy/apm/alarmservice/alarmrecord/enums/EnumAlarmTreatState.java
  32. 19 0
      src/main/java/com/persagy/apm/alarmservice/group/alarmrecord/model/ConvertAlarmCommentTool.java
  33. 2 5
      src/main/java/com/persagy/apm/alarmservice/alarmrecord/model/ConvertAlarmRecordTool.java
  34. 1 1
      src/main/java/com/persagy/apm/alarmservice/alarmrecord/model/dto/AlarmRecordConvertWorkOrderDTO.java
  35. 1 1
      src/main/java/com/persagy/apm/alarmservice/alarmrecord/model/dto/CloseAlarmRecordDTO.java
  36. 1 1
      src/main/java/com/persagy/apm/alarmservice/alarmrecord/model/dto/CreateAlarmCommentDTO.java
  37. 1 1
      src/main/java/com/persagy/apm/alarmservice/alarmrecord/model/dto/DownloadAlarmRecordDTO.java
  38. 1 1
      src/main/java/com/persagy/apm/alarmservice/alarmrecord/model/dto/GetAlarmRecordDTO.java
  39. 1 1
      src/main/java/com/persagy/apm/alarmservice/alarmrecord/model/dto/IgnoreAlarmRecordDTO.java
  40. 1 1
      src/main/java/com/persagy/apm/alarmservice/alarmrecord/model/dto/PageQueryAlarmCommentDTO.java
  41. 1 1
      src/main/java/com/persagy/apm/alarmservice/alarmrecord/model/dto/PageQueryAlarmRecordDTO.java
  42. 2 2
      src/main/java/com/persagy/apm/alarmservice/alarmrecord/model/vo/AlarmCommentListItem.java
  43. 1 1
      src/main/java/com/persagy/apm/alarmservice/alarmrecord/model/vo/AlarmRecordIdsItem.java
  44. 2 3
      src/main/java/com/persagy/apm/alarmservice/alarmrecord/model/vo/AlarmRecordItemVO.java
  45. 1 1
      src/main/java/com/persagy/apm/alarmservice/alarmrecord/model/vo/AlarmRecordListItem.java
  46. 9 9
      src/main/java/com/persagy/apm/alarmservice/alarmrecord/service/AlarmRecordWrapper.java
  47. 17 1
      src/main/java/com/persagy/apm/alarmservice/group/alarmrule/controller/GroupAlarmRuleController.java
  48. 1 1
      src/main/java/com/persagy/apm/alarmservice/group/alarmrule/model/dto/AddGroupAlarmRuleDTO.java
  49. 3 0
      src/main/java/com/persagy/apm/alarmservice/group/alarmrule/model/dto/PageQueryGroupAlarmRuleDTO.java
  50. 1 3
      src/main/java/com/persagy/apm/alarmservice/group/alarmrule/model/dto/UpdateGroupAlarmRuleDTO.java
  51. 4 1
      src/main/java/com/persagy/apm/alarmservice/group/alarmrule/model/vo/GroupAlarmRuleListItemVO.java
  52. 116 77
      src/main/java/com/persagy/apm/alarmservice/group/alarmrule/service/impl/GroupAlarmRuleServiceImpl.java
  53. 7 6
      src/main/java/com/persagy/apm/alarmservice/calculatemethod/controller/CalculateMethodController.java
  54. 2 2
      src/main/java/com/persagy/apm/alarmservice/calculatemethod/dao/CalculateMethodMapper.java
  55. 1 2
      src/main/java/com/persagy/apm/alarmservice/calculatemethod/model/CalculateMethod.java
  56. 5 3
      src/main/java/com/persagy/apm/alarmservice/calculatemethod/model/ConvertCalculateMethodTool.java
  57. 1 1
      src/main/java/com/persagy/apm/alarmservice/calculatemethod/model/dto/AddCalculateMethodDTO.java
  58. 12 7
      src/main/java/com/persagy/apm/alarmservice/calculatemethod/model/dto/CalculateMethodDTO.java
  59. 1 1
      src/main/java/com/persagy/apm/alarmservice/calculatemethod/model/dto/DeleteCalculateMethodDTO.java
  60. 1 1
      src/main/java/com/persagy/apm/alarmservice/calculatemethod/model/dto/PageQueryCalculateMethodDTO.java
  61. 1 1
      src/main/java/com/persagy/apm/alarmservice/calculatemethod/model/dto/QueryCalculateMethodDTO.java
  62. 1 1
      src/main/java/com/persagy/apm/alarmservice/calculatemethod/model/dto/QueryCalculateMethodDetailDTO.java
  63. 1 1
      src/main/java/com/persagy/apm/alarmservice/calculatemethod/model/dto/UpdateCalculateMethodDTO.java
  64. 1 1
      src/main/java/com/persagy/apm/alarmservice/calculatemethod/model/vo/CalculateMethodItemVO.java
  65. 1 1
      src/main/java/com/persagy/apm/alarmservice/calculatemethod/model/vo/CalculateMethodListItemVO.java
  66. 6 5
      src/main/java/com/persagy/apm/alarmservice/calculatemethod/service/ICalculateMethodService.java
  67. 10 6
      src/main/java/com/persagy/apm/alarmservice/calculatemethod/service/impl/CalculateMethodServiceImpl.java
  68. 7 11
      src/main/java/com/persagy/apm/alarmservice/group/management/controller/GroupManagementController.java
  69. 1 1
      src/main/java/com/persagy/apm/alarmservice/group/management/model/GroupManagement.java
  70. 1 1
      src/main/java/com/persagy/apm/model/dto/EquipIdDTO.java
  71. 1 1
      src/main/java/com/persagy/apm/model/dto/EquipIdListDTO.java
  72. 1 1
      src/main/java/com/persagy/apm/model/dto/GroupManagementDTO.java
  73. 1 1
      src/main/java/com/persagy/apm/model/vo/GroupManagementVo.java
  74. 3 6
      src/main/java/com/persagy/apm/alarmservice/group/management/model/ConvertGroupTool.java
  75. 1 1
      src/main/java/com/persagy/apm/alarmservice/group/management/model/vo/GroupTreeDetailVO.java
  76. 1 1
      src/main/java/com/persagy/apm/alarmservice/group/management/model/vo/GroupTreeInfoVO.java
  77. 1 1
      src/main/java/com/persagy/apm/alarmservice/group/management/model/vo/GroupTreeVO.java
  78. 5 5
      src/main/java/com/persagy/apm/alarmservice/group/management/service/GroupManagementService.java
  79. 13 9
      src/main/java/com/persagy/apm/alarmservice/group/management/service/impl/GroupManagementServiceImpl.java
  80. 8 6
      src/main/java/com/persagy/apm/alarmservice/monitorindicator/controller/MonitorIndicatorController.java
  81. 2 2
      src/main/java/com/persagy/apm/alarmservice/monitorindicator/dao/MonitorIndicatorMapper.java
  82. 5 3
      src/main/java/com/persagy/apm/alarmservice/monitorindicator/model/ConvertMonitorIndicatorTool.java
  83. 1 2
      src/main/java/com/persagy/apm/alarmservice/monitorindicator/model/MonitorIndicator.java
  84. 1 1
      src/main/java/com/persagy/apm/alarmservice/monitorindicator/model/dto/AddMonitorIndicatorDTO.java
  85. 1 1
      src/main/java/com/persagy/apm/alarmservice/monitorindicator/model/dto/DeleteMonitorIndicatorDTO.java
  86. 1 1
      src/main/java/com/persagy/apm/alarmservice/monitorindicator/model/dto/PageQueryMonitorIndicatorDTO.java
  87. 1 1
      src/main/java/com/persagy/apm/alarmservice/monitorindicator/model/dto/QueryMonitorIndicatorDTO.java
  88. 1 1
      src/main/java/com/persagy/apm/alarmservice/monitorindicator/model/dto/QueryMonitorIndicatorDetailDTO.java
  89. 1 1
      src/main/java/com/persagy/apm/alarmservice/monitorindicator/model/dto/QueryMonitorIndicatorRecordInfoDTO.java
  90. 1 1
      src/main/java/com/persagy/apm/alarmservice/monitorindicator/model/dto/UpdateMonitorIndicatorDTO.java
  91. 1 1
      src/main/java/com/persagy/apm/alarmservice/monitorindicator/model/vo/MonitorIndicatorItemVO.java
  92. 1 1
      src/main/java/com/persagy/apm/alarmservice/monitorindicator/model/vo/MonitorIndicatorListItemVO.java
  93. 1 2
      src/main/java/com/persagy/apm/alarmservice/monitorindicator/model/vo/MonitorIndicatorRecordInfoItem.java
  94. 1 1
      src/main/java/com/persagy/apm/alarmservice/monitorindicator/model/vo/MonitorIndicatorReferenceItem.java
  95. 7 6
      src/main/java/com/persagy/apm/alarmservice/monitorindicator/service/IMonitorIndicatorService.java
  96. 13 13
      src/main/java/com/persagy/apm/alarmservice/monitorindicator/service/impl/MonitorIndicatorServiceImpl.java
  97. 21 18
      src/main/java/com/persagy/apm/alarmservice/alarmcondition/controller/AlarmConditionController.java
  98. 2 2
      src/main/java/com/persagy/apm/alarmservice/alarmcondition/dao/AlarmConditionMapper.java
  99. 11 9
      src/main/java/com/persagy/apm/alarmservice/alarmcondition/model/AlarmCondition.java
  100. 0 0
      src/main/java/com/persagy/apm/alarmservice/alarmcondition/model/ConvertAlarmConditionTool.java

+ 7 - 2
pom.xml

@@ -7,7 +7,7 @@
 <parent>
     <groupId>com.persagy</groupId>
     <artifactId>apm-package</artifactId>
-    <version>v1.0.0</version>
+    <version>v1.0.0-SNAPSHOT</version>
 </parent>
 
 <artifactId>energy-alarm-service</artifactId>
@@ -20,6 +20,11 @@
 
 <repositories>
     <repository>
+        <id>snapshot</id>
+        <name>snapshot Repository</name>
+        <url>http://47.93.132.139:8081/nexus/content/repositories/snapshots/</url>
+    </repository>
+    <repository>
         <id>persagy</id>
         <name>persagy Repository</name>
         <url>http://47.93.132.139:8081/nexus/content/repositories/persagy/</url>
@@ -130,7 +135,7 @@
     <dependency>
         <groupId>com.persagy.apm</groupId>
         <artifactId>alarm-data-starter</artifactId>
-        <version>v1.0.0</version>
+        <version>v1.0.0-SNAPSHOT</version>
     </dependency>
 </dependencies>
 </project>

+ 0 - 51
src/main/java/com/persagy/apm/alarmservice/alarmrecord/controller/AlarmCommnetController.java

@@ -1,51 +0,0 @@
-package com.persagy.apm.alarmservice.alarmrecord.controller;
-
-import com.persagy.apm.alarmservice.alarmrecord.model.dto.CreateAlarmCommentDTO;
-import com.persagy.apm.alarmservice.alarmrecord.model.dto.PageQueryAlarmCommentDTO;
-import com.persagy.apm.alarmservice.alarmrecord.model.dto.PageQueryAlarmRecordDTO;
-import com.persagy.apm.alarmservice.alarmrecord.model.vo.AlarmCommentListItem;
-import com.persagy.apm.alarmservice.alarmrecord.model.vo.AlarmRecordListItem;
-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 io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-import javax.validation.Valid;
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * 报警批注控制层
- * @author lixing
- * @version V1.0 2021-09-08 22:30:38
- */
-@Api(tags = "报警批注") 
-@Validated
-@RestController
-@RequestMapping("alarm_comments")
-public class AlarmCommnetController {
-
-	@ApiOperation(value = "报警批注列表")
-	@PostMapping("/query")
-	public CommonResult<PageList<AlarmCommentListItem>> queryCurrentAlarmRecord(
-	        @Valid @RequestBody PageQueryAlarmCommentDTO pageQueryAlarmCommentDTO) {
-        List<AlarmCommentListItem> resultList = new ArrayList<>();
-        return ResultHelper.multi(resultList);
-	}
-
-    @ApiOperation(value = "创建报警批注")
-    @PostMapping("/create")
-    public CommonResult<ApmResponseUpsertVO> createAlarmComment(
-            @Valid @RequestBody CreateAlarmCommentDTO createAlarmCommentDTO) {
-        String id = "";
-        return ResultHelper.single(new ApmResponseUpsertVO(id));
-    }
-}
-

+ 1 - 1
src/main/java/com/persagy/apm/common/aspect/AlarmDataAspect.java

@@ -1,4 +1,4 @@
-package com.persagy.apm.common.aspect;
+package com.persagy.apm.alarmservice.common.aspect;
 
 import com.persagy.apm.common.context.poems.PoemsContext;
 import com.persagy.apm.energyalarmstarter.alarmdata.feign.AlarmUrlParam;

+ 1 - 1
src/main/java/com/persagy/apm/common/configuration/ElasticSearchConfig.java

@@ -1,4 +1,4 @@
-package com.persagy.apm.common.configuration;
+package com.persagy.apm.alarmservice.common.configuration;
 
 import org.apache.http.HttpHost;
 import org.elasticsearch.client.RestClient;

src/main/java/com/persagy/apm/common/configuration/JmsConfig.java → src/main/java/com/persagy/apm/alarmservice/common/configuration/JmsConfig.java


+ 1 - 1
src/main/java/com/persagy/apm/common/configuration/PoemsWebConfigurer.java

@@ -1,4 +1,4 @@
-package com.persagy.apm.common.configuration;
+package com.persagy.apm.alarmservice.common.configuration;
 
 import com.persagy.apm.common.handler.PoemsContextFilter;
 import com.persagy.apm.common.handler.PoemsContextHandler;

+ 1 - 1
src/main/java/com/persagy/apm/constants/ElasticStrConstant.java

@@ -1,4 +1,4 @@
-package com.persagy.apm.constants;
+package com.persagy.apm.alarmservice.common.constants;
 
 /**
  * @author 易涛

+ 11 - 0
src/main/java/com/persagy/apm/alarmservice/common/constants/FeignClientNameConstants.java

@@ -0,0 +1,11 @@
+package com.persagy.apm.alarmservice.common.constants;
+
+/**
+ * feign client名称
+ *
+ * @author lixing
+ * @version V1.0 2021/5/19 2:23 下午
+ **/
+public class FeignClientNameConstants {
+    public static final String SAAS_WEB = "ems-saas-web";
+}

+ 1 - 1
src/main/java/com/persagy/apm/common/enums/AlarmDicTypeEnum.java

@@ -1,4 +1,4 @@
-package com.persagy.apm.common.enums;
+package com.persagy.apm.alarmservice.common.enums;
 
 import com.persagy.apm.common.model.annotation.SwaggerDisplayEnum;
 import lombok.AllArgsConstructor;

+ 22 - 0
src/main/java/com/persagy/apm/alarmservice/common/excel/ExcelMergeDTO.java

@@ -0,0 +1,22 @@
+package com.persagy.apm.alarmservice.common.excel;
+
+import lombok.Data;
+
+/**
+ * @description: 合并excelDTO
+ * @author: fenghanchao
+ * @company: Persagy Technology Co.,Ltd
+ * @since: 2021/5/14 10:59
+ * @version: V1.0
+ **/
+@Data
+public class ExcelMergeDTO {
+    /*起始行*/
+    private int startRow;
+    /*结束行*/
+    private int endRow;
+    /*起始列*/
+    private int startColumn;
+    /*结束列*/
+    private int endColumn;
+}

+ 224 - 0
src/main/java/com/persagy/apm/alarmservice/common/excel/ExcelUtils.java

@@ -0,0 +1,224 @@
+package com.persagy.apm.alarmservice.common.excel;
+
+import com.persagy.apm.alarmservice.common.util.DataUtils;
+import org.apache.commons.lang.StringUtils;
+import org.apache.poi.ss.usermodel.*;
+import org.apache.poi.ss.util.CellRangeAddress;
+import org.apache.poi.ss.util.WorkbookUtil;
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+import org.springframework.util.CollectionUtils;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.lang.reflect.Field;
+import java.net.URLEncoder;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.List;
+
+public class ExcelUtils {
+
+    /***
+     * @description:导出excel
+     * @param: sheetName 页签名称
+     * @param: titleNameList 表头列表
+     * @param: titleCodeList 表头编码列表
+     * @param: dataObjectList 数据对象列表
+     * @return: void
+     * @exception:
+     * @author: fenghanchao
+     * @company: Persagy Technology Co.,Ltd
+     * @since: 11:02 2020/7/9
+     * @version: V1.0
+     */
+    public static <T> Workbook exportToExcel(String sheetName, List<String> titleNameList, List<String> titleCodeList
+            , List<T> dataObjectList) throws Exception {
+        // 根据模板,创建工作簿
+        Workbook workBook = new XSSFWorkbook();
+        String safeName = WorkbookUtil.createSafeSheetName(sheetName);
+        Sheet sheet = workBook.createSheet(safeName);
+
+        for (int columnNumber = 0; columnNumber < titleNameList.size(); columnNumber++) {
+            createCell(sheet, 0, columnNumber, titleNameList.get(columnNumber));
+        }
+        // 输出流
+        int skipNum = 1;
+        for (int rowNumber = 0; rowNumber < dataObjectList.size(); rowNumber++) {
+            T dataObject = dataObjectList.get(rowNumber);
+            for (int columnNumber = 0; columnNumber < titleCodeList.size(); columnNumber++) {
+                Field field = dataObject.getClass().getDeclaredField(titleCodeList.get(columnNumber));
+                field.setAccessible(true);
+                createCell(sheet, rowNumber + skipNum, columnNumber, field.get(dataObject));
+            }
+        }
+        return workBook;
+    }
+
+    private static void createCell(Sheet sheet, int rowNumber, int cellNumber, Object content) {
+        Row row = sheet.getRow(rowNumber);
+        if (row == null) {
+            row = sheet.createRow(rowNumber);
+        }
+        Cell cell = row.getCell(cellNumber);
+        if (cell == null) {
+            cell = row.createCell(cellNumber);
+        }
+
+        if (content == null) {
+            content = "";
+        }
+        cell.setCellValue(content.toString());
+    }
+
+    public static Workbook exportToExcel(String sheetName, int skipRows, int skipColumns, List<List<String>> rowInfoList) throws Exception {
+        Workbook workBook = new XSSFWorkbook();
+        String safeName = WorkbookUtil.createSafeSheetName(sheetName);
+        Sheet sheet = workBook.createSheet(safeName);
+        exportToExcel(sheet, skipRows, skipColumns, rowInfoList);
+        return workBook;
+    }
+
+    public static void exportToExcel(Sheet sheet, int skipRows, int skipColumns, List<List<String>> rowInfoList) throws Exception {
+        for (int rowNumber = 0; rowNumber < rowInfoList.size(); rowNumber++) {
+            for (int columnNumber = 0; columnNumber < rowInfoList.get(rowNumber).size(); columnNumber++) {
+                createCell(sheet, rowNumber + skipRows, columnNumber + skipColumns, rowInfoList.get(rowNumber).get(columnNumber));
+            }
+        }
+    }
+
+
+    public static void excelResponse(HttpServletResponse response, Workbook wb, String fileName) {
+        OutputStream out = null;
+        try {
+            out = response.getOutputStream();
+            response.setContentType("application/vnd.ms-excel");
+            response.setHeader("Content-Disposition", "attachment; filename="
+                    + URLEncoder.encode(fileName + ".xlsx", "UTF-8"));
+            wb.write(out);
+        } catch (Exception e) {
+            e.printStackTrace();
+        } finally {
+            try {
+                out.close();
+            } catch (IOException e) {
+                e.printStackTrace();
+            }
+        }
+    }
+
+    /**
+     * @description: 获取excel的workbook
+     * @param: filePath 示例: "config/budget/template/excel/MonthEnergyExportTemplate.xlsx"
+     * @return: org.apache.poi.ss.usermodel.Workbook
+     * @author: fenghanchao
+     * @company: Persagy Technology Co.,Ltd
+     * @since: 10:34 2021/5/14
+     * @version: V1.0
+     */
+    public static Workbook getWorkbook(String filePath) throws Exception {
+        InputStream in = ExcelUtils.class.getResourceAsStream(filePath);
+        // 读取excel模板
+        return new XSSFWorkbook(in);
+    }
+
+    /**
+     * @description: 合并一行的单元格
+     * @param: workbook
+     * @param: rowNum
+     * @param: mergeCellsList eg: [[0,1,2],[3,4],[5,6]] 合并0,1,2单元格; 3,4单元格; 5,6单元格
+     * @return: void
+     * @exception:
+     * @author: fenghanchao
+     * @company: Persagy Technology Co.,Ltd
+     * @since: 10:48 2021/5/14
+     * @version: V1.0
+     */
+    public static void mergeRowCell(Workbook workbook, List<ExcelMergeDTO> mergeDTOList) throws Exception {
+        if (CollectionUtils.isEmpty(mergeDTOList)) {
+            return;
+        }
+        Sheet sheet0 = workbook.getSheetAt(0);
+        mergeDTOList.forEach(mergeDTO -> {
+            CellRangeAddress region = new CellRangeAddress(mergeDTO.getStartRow(), mergeDTO.getEndRow(), mergeDTO.getStartColumn()
+                    , mergeDTO.getEndColumn());
+            sheet0.addMergedRegion(region);
+        });
+    }
+
+    public static List<List<String>> getExcelSheetInfo(byte[] excelByteArray, String sheetName) throws Exception {
+        InputStream in = new ByteArrayInputStream(excelByteArray);
+        Workbook workBook = WorkbookFactory.create(in);
+        // 遍历excel中的sheet
+        List<List<String>> resultInfo = new ArrayList<>();
+        Sheet sheet = workBook.getSheet(sheetName);
+        if (sheet == null) {
+            return new ArrayList<>();
+        }
+
+        int lastColumnNum = 0;
+        for (int rowNum = 0; rowNum <= sheet.getLastRowNum(); rowNum++) {
+            Row row = sheet.getRow(rowNum);
+            if (row == null) {
+                continue;
+            }
+            if (lastColumnNum < row.getLastCellNum()) {
+                lastColumnNum = row.getLastCellNum();
+            }
+        }
+
+        for (int rowNum = 0; rowNum <= sheet.getLastRowNum(); rowNum++) {
+            Row row = sheet.getRow(rowNum);
+            ArrayList<String> curarr = new ArrayList<>();
+            if (row == null) {
+                for (int columnNum = 0; columnNum < lastColumnNum; columnNum++) {
+                    curarr.add("");
+                }
+            } else {
+                for (int columnNum = 0; columnNum < lastColumnNum; columnNum++) {
+                    Cell cell = row.getCell(columnNum);
+                    curarr.add(getCellStringValue(cell));
+                }
+            }
+            resultInfo.add(curarr);
+        }
+        return resultInfo;
+    }
+
+    public static String getCellStringValue(Cell cell) throws Exception {
+        if (cell == null) {
+            return "";
+        }
+        String value;
+        switch (cell.getCellTypeEnum()) {
+            case STRING:
+                value = cell.getStringCellValue();
+                break;
+            case NUMERIC:
+                if (DateUtil.isCellDateFormatted(cell)) {
+                    value = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(cell.getDateCellValue());
+                } else {
+                    value = DataUtils.parseString(cell.getNumericCellValue());
+                }
+                break;
+            case BOOLEAN:
+                value = String.valueOf(cell.getBooleanCellValue());
+                break;
+            case BLANK:
+                value = "";
+                break;
+            case ERROR:
+                throw new Exception("can not resolve this cell! CELL_TYPE_ERROR! ");
+            case FORMULA:
+                value = cell.getCellFormula();
+                break;
+            default:
+                value = cell.getStringCellValue();
+                break;
+        }
+
+        return StringUtils.trim(value);
+    }
+}

BIN
src/main/java/com/persagy/apm/alarmservice/common/excel/项目清单.xlsx


+ 1 - 1
src/main/java/com/persagy/apm/model/DmpMessage.java

@@ -1,4 +1,4 @@
-package com.persagy.apm.model;
+package com.persagy.apm.alarmservice.common.model;
 
 import com.alibaba.fastjson.JSONObject;
 import lombok.Data;

+ 1 - 1
src/main/java/com/persagy/apm/common/configuration/DataUtils.java

@@ -1,4 +1,4 @@
-package com.persagy.apm.common.configuration;
+package com.persagy.apm.alarmservice.common.util;
 
 import com.alibaba.fastjson.JSONObject;
 import org.apache.commons.lang.StringUtils;

+ 33 - 0
src/main/java/com/persagy/apm/alarmservice/dependency/saasweb/client/SaasWebClient.java

@@ -0,0 +1,33 @@
+package com.persagy.apm.alarmservice.dependency.saasweb.client;
+
+import com.persagy.apm.alarmservice.dependency.saasweb.client.fallback.SaasWebClientFallbackFactory;
+import com.persagy.apm.alarmservice.dependency.saasweb.model.vo.UserProjectsInfoVO;
+import com.persagy.apm.common.response.PoemsFeignResponse;
+import com.persagy.apm.alarmservice.common.constants.FeignClientNameConstants;
+import feign.Headers;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+
+/**
+ * 运维平台feign客户端
+ *
+ * @author lixing
+ * @version V1.0 2021/3/22 2:13 下午
+ **/
+@FeignClient(name = FeignClientNameConstants.SAAS_WEB, fallbackFactory = SaasWebClientFallbackFactory.class)
+public interface SaasWebClient {
+
+    /**
+     * 获取用户信息(基本信息和关联的项目)
+     *
+     * @param poemsFeignBaseDTO 登录信息
+     * @return 用户信息
+     * @author lixing
+     * @version V1.0 2021/5/19 3:36 下午
+     */
+    @PostMapping("/Spring/MVC/entrance/unifier/saasGetCurrentUserService")
+    @Headers({"Content-Type: application/x-www-form-urlencoded"})
+    PoemsFeignResponse<UserProjectsInfoVO> getCurrentUserProjectsInfo(@RequestParam("jsonString") String poemsFeignBaseDTO);
+
+}

+ 20 - 0
src/main/java/com/persagy/apm/alarmservice/dependency/saasweb/client/fallback/SaasWebClientFallbackFactory.java

@@ -0,0 +1,20 @@
+package com.persagy.apm.alarmservice.dependency.saasweb.client.fallback;
+
+import com.persagy.apm.alarmservice.dependency.saasweb.client.SaasWebClient;
+import feign.hystrix.FallbackFactory;
+import org.springframework.stereotype.Component;
+
+/**
+ * feign fallback处理
+ *
+ * @author lixing
+ * @version V1.0 2021/5/19 2:21 下午
+ */
+@Component
+public class SaasWebClientFallbackFactory implements FallbackFactory<SaasWebClient> {
+    @Override
+    public SaasWebClient create(Throwable throwable) {
+        System.out.println("fall back");
+        return null;
+    }
+}

+ 30 - 0
src/main/java/com/persagy/apm/alarmservice/dependency/saasweb/model/vo/PoemsProjectVO.java

@@ -0,0 +1,30 @@
+package com.persagy.apm.alarmservice.dependency.saasweb.model.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @author lixing
+ * @version V1.0 2021/5/19 2:57 下午
+ **/
+@ApiModel
+@Data
+public class PoemsProjectVO {
+    @ApiModelProperty(value = "项目id")
+    private String projectId;
+    @ApiModelProperty(value = "项目本地名称")
+    private String projectName;
+    @ApiModelProperty(value = "项目本地编码")
+    private String projectLocalID;
+    @ApiModelProperty(value = "项目本地名称")
+    private String projectLocalName;
+    @ApiModelProperty(value = "项目功能类型")
+    private String functionType;
+    @ApiModelProperty(value = "项目功能类型名称")
+    private String functionTypeName;
+    @ApiModelProperty(value = "项目开业时间")
+    private String businessOpeningTime;
+    @ApiModelProperty(value = "气候区")
+    private String climateZone;
+}

+ 18 - 0
src/main/java/com/persagy/apm/alarmservice/dependency/saasweb/model/vo/UserBaseInfoVO.java

@@ -0,0 +1,18 @@
+package com.persagy.apm.alarmservice.dependency.saasweb.model.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @author lixing
+ * @version V1.0 2021/5/19 2:57 下午
+ **/
+@ApiModel
+@Data
+public class UserBaseInfoVO {
+    @ApiModelProperty(value = "用户id")
+    private String userId;
+    @ApiModelProperty(value = "用户名称")
+    private String userName;
+}

+ 20 - 0
src/main/java/com/persagy/apm/alarmservice/dependency/saasweb/model/vo/UserProjectsInfoVO.java

@@ -0,0 +1,20 @@
+package com.persagy.apm.alarmservice.dependency.saasweb.model.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.List;
+
+/**
+ * @author lixing
+ * @version V1.0 2021/5/19 2:57 下午
+ **/
+@EqualsAndHashCode(callSuper = true)
+@ApiModel
+@Data
+public class UserProjectsInfoVO extends UserBaseInfoVO {
+    @ApiModelProperty(value = "项目信息")
+    private List<PoemsProjectVO> projects;
+}

+ 67 - 0
src/main/java/com/persagy/apm/alarmservice/dependency/saasweb/service/SaasWebClientWrapper.java

@@ -0,0 +1,67 @@
+package com.persagy.apm.alarmservice.dependency.saasweb.service;
+
+import com.alibaba.fastjson.JSON;
+import com.persagy.apm.alarmservice.dependency.saasweb.client.SaasWebClient;
+import com.persagy.apm.alarmservice.dependency.saasweb.model.vo.UserProjectsInfoVO;
+import com.persagy.apm.common.model.dto.PoemsFeignBaseDTO;
+import com.persagy.apm.common.model.vo.SimpleObjVO;
+import com.persagy.apm.common.response.PoemsFeignResponse;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * 运维平台feign客户端包装类
+ *
+ * @author lixing
+ * @version V1.0 2021/3/22 2:13 下午
+ **/
+@Service
+public class SaasWebClientWrapper {
+    @Autowired
+    private SaasWebClient saasWebClient;
+
+    /**
+     * 获取用户信息(基本信息和关联的项目)
+     *
+     * @param poemsFeignBaseDTO 登录信息
+     * @return 用户信息
+     * @author lixing
+     * @version V1.0 2021/5/19 3:36 下午
+     */
+    public PoemsFeignResponse<UserProjectsInfoVO> getCurrentUserProjectsInfo(PoemsFeignBaseDTO poemsFeignBaseDTO) {
+        return saasWebClient.getCurrentUserProjectsInfo(JSON.toJSONString(poemsFeignBaseDTO));
+    }
+
+    /**
+     * 获取用户信息
+     *
+     * @param userId 用户id
+     * @return 用户信息
+     * @author lixing
+     * @version V1.0 2021/9/23 2:32 下午
+     */
+    public SimpleObjVO getUserInfo(String userId) {
+        SimpleObjVO result = new SimpleObjVO();
+        result.setId(userId);
+        PoemsFeignBaseDTO poemsFeignBaseDTO = new PoemsFeignBaseDTO();
+        poemsFeignBaseDTO.setDefaultValue();
+        poemsFeignBaseDTO.getPuser().setUserId(userId);
+        PoemsFeignResponse<UserProjectsInfoVO> currentUserProjectsInfo = getCurrentUserProjectsInfo(poemsFeignBaseDTO);
+        if (currentUserProjectsInfo == null) {
+            return result;
+        }
+        List<UserProjectsInfoVO> content = currentUserProjectsInfo.getContent();
+        if (content == null) {
+            return result;
+        }
+        UserProjectsInfoVO userProjectsInfoVO = content.get(0);
+        if (userProjectsInfoVO == null) {
+            return result;
+        }
+        result.setName(userProjectsInfoVO.getUserName());
+        return result;
+    }
+
+}

+ 4 - 6
src/main/java/com/persagy/apm/alarmservice/alarmdic/controller/AlarmDicController.java

@@ -1,11 +1,9 @@
-package com.persagy.apm.alarmservice.alarmdic.controller;
+package com.persagy.apm.alarmservice.group.alarmdic.controller;
 
-import com.persagy.apm.alarmservice.alarmcondition.model.dto.AddAlarmConditionDTO;
-import com.persagy.apm.alarmservice.alarmdic.model.dto.QueryAlarmDicDTO;
-import com.persagy.apm.alarmservice.alarmdic.service.AlarmDicServiceImpl;
-import com.persagy.apm.common.enums.AlarmDicTypeEnum;
+import com.persagy.apm.alarmservice.group.alarmdic.model.dto.QueryAlarmDicDTO;
+import com.persagy.apm.alarmservice.group.alarmdic.service.AlarmDicServiceImpl;
+import com.persagy.apm.alarmservice.common.enums.AlarmDicTypeEnum;
 import com.persagy.apm.common.model.vo.EnumVO;
-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;

+ 1 - 1
src/main/java/com/persagy/apm/alarmservice/alarmdic/model/dto/QueryAlarmDicDTO.java

@@ -1,4 +1,4 @@
-package com.persagy.apm.alarmservice.alarmdic.model.dto;
+package com.persagy.apm.alarmservice.group.alarmdic.model.dto;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;

+ 2 - 2
src/main/java/com/persagy/apm/alarmservice/alarmdic/service/AlarmDicServiceImpl.java

@@ -1,6 +1,6 @@
-package com.persagy.apm.alarmservice.alarmdic.service;
+package com.persagy.apm.alarmservice.group.alarmdic.service;
 
-import com.persagy.apm.alarmservice.alarmrecord.enums.*;
+import com.persagy.apm.alarmservice.group.alarmrecord.enums.*;
 import com.persagy.apm.common.model.vo.EnumVO;
 import org.springframework.stereotype.Service;
 

+ 91 - 0
src/main/java/com/persagy/apm/alarmservice/group/alarmrecord/controller/AlarmCommnetController.java

@@ -0,0 +1,91 @@
+package com.persagy.apm.alarmservice.group.alarmrecord.controller;
+
+import com.persagy.apm.alarmservice.dependency.saasweb.service.SaasWebClientWrapper;
+import com.persagy.apm.alarmservice.group.alarmrecord.model.ConvertAlarmCommentTool;
+import com.persagy.apm.alarmservice.group.alarmrecord.model.dto.CreateAlarmCommentDTO;
+import com.persagy.apm.alarmservice.group.alarmrecord.model.dto.PageQueryAlarmCommentDTO;
+import com.persagy.apm.alarmservice.group.alarmrecord.model.vo.AlarmCommentListItem;
+import com.persagy.apm.common.model.vo.SimpleObjVO;
+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.energyalarmstarter.alarmdata.feign.DmpResult;
+import com.persagy.apm.energyalarmstarter.alarmdata.model.dto.alarmcomment.QueryAlarmCommentDTO;
+import com.persagy.apm.energyalarmstarter.alarmdata.model.dto.alarmconfig.AddAlarmCommentDTO;
+import com.persagy.apm.energyalarmstarter.alarmdata.model.dto.common.QueryDTO;
+import com.persagy.apm.energyalarmstarter.alarmdata.model.vo.AlarmCommentItem;
+import com.persagy.apm.energyalarmstarter.alarmdata.model.vo.DmpUpsertVO;
+import com.persagy.apm.energyalarmstarter.alarmdata.service.AlarmCommentServiceImpl;
+import com.persagy.common.exception.BusinessException;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+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.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.validation.Valid;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * 报警批注控制层
+ *
+ * @author lixing
+ * @version V1.0 2021-09-08 22:30:38
+ */
+@Api(tags = "报警批注")
+@Validated
+@RestController
+@RequestMapping("alarm_comments")
+public class AlarmCommnetController {
+    @Autowired
+    AlarmCommentServiceImpl alarmCommentService;
+    @Autowired
+    SaasWebClientWrapper saasWebClientWrapper;
+
+    @ApiOperation(value = "报警批注列表")
+    @PostMapping("/query")
+    public CommonResult<PageList<AlarmCommentListItem>> queryCurrentAlarmRecord(
+            @Valid @RequestBody PageQueryAlarmCommentDTO pageQueryAlarmCommentDTO) throws Exception {
+        QueryDTO<QueryAlarmCommentDTO> queryDTO = new QueryDTO<>();
+        queryDTO.setPage(pageQueryAlarmCommentDTO.getPage());
+        queryDTO.setSize(pageQueryAlarmCommentDTO.getSize());
+        QueryAlarmCommentDTO queryAlarmCommentDTO = new QueryAlarmCommentDTO();
+        queryAlarmCommentDTO.setRecordId(pageQueryAlarmCommentDTO.getAlarmRecordId());
+        queryDTO.setCriteria(queryAlarmCommentDTO);
+        DmpResult<List<AlarmCommentItem>> dmpResult = alarmCommentService.pageQuery(queryDTO);
+        if (dmpResult == null || dmpResult.getData() == null) {
+            throw new BusinessException("查询报警批注列表发生异常");
+        }
+        List<AlarmCommentListItem> resultList = dmpResult.getData().stream().map(
+            alarmCommentItem -> {
+                AlarmCommentListItem alarmCommentListItem = ConvertAlarmCommentTool.INSTANCE.
+                        convert2AlarmCommentListItem(alarmCommentItem);
+                SimpleObjVO creator = saasWebClientWrapper.getUserInfo(alarmCommentItem.getCreateUser());
+                alarmCommentListItem.setCreator(creator);
+                return alarmCommentListItem;
+            }
+        ).collect(Collectors.toList());
+        return ResultHelper.multi(resultList);
+    }
+
+    @ApiOperation(value = "创建报警批注")
+    @PostMapping("/create")
+    public CommonResult<ApmResponseUpsertVO> createAlarmComment(
+            @Valid @RequestBody CreateAlarmCommentDTO createAlarmCommentDTO) throws Exception {
+        AddAlarmCommentDTO addAlarmCommentDTO = new AddAlarmCommentDTO();
+        addAlarmCommentDTO.setRecordId(createAlarmCommentDTO.getAlarmRecordId());
+        addAlarmCommentDTO.setContent(createAlarmCommentDTO.getContent());
+        DmpResult<DmpUpsertVO> dmpResult = alarmCommentService.create(addAlarmCommentDTO);
+        if (dmpResult == null || dmpResult.getData() == null) {
+            throw new BusinessException("创建报警批注失败");
+        }
+
+        return ResultHelper.single(new ApmResponseUpsertVO(dmpResult.getData().getId()));
+    }
+}
+

+ 12 - 12
src/main/java/com/persagy/apm/alarmservice/alarmrecord/controller/AlarmRecordController.java

@@ -1,16 +1,16 @@
-package com.persagy.apm.alarmservice.alarmrecord.controller;
+package com.persagy.apm.alarmservice.group.alarmrecord.controller;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.persagy.apm.alarmservice.alarmrecord.enums.EnumAlarmTreatMode;
-import com.persagy.apm.alarmservice.alarmrecord.enums.EnumAlarmTreatState;
-import com.persagy.apm.alarmservice.alarmrecord.model.ConvertAlarmRecordTool;
-import com.persagy.apm.alarmservice.alarmrecord.model.dto.*;
-import com.persagy.apm.alarmservice.alarmrecord.model.vo.AlarmRecordIdsItem;
-import com.persagy.apm.alarmservice.alarmrecord.model.vo.AlarmRecordItemVO;
-import com.persagy.apm.alarmservice.alarmrecord.model.vo.AlarmRecordListItem;
-import com.persagy.apm.alarmservice.alarmrecord.service.AlarmRecordWrapper;
-import com.persagy.apm.alarmservice.group.management.model.vo.GroupTreeDetailVO;
+import com.persagy.apm.alarmservice.group.alarmrecord.enums.EnumAlarmTreatMode;
+import com.persagy.apm.alarmservice.group.alarmrecord.enums.EnumAlarmTreatState;
+import com.persagy.apm.alarmservice.group.alarmrecord.model.ConvertAlarmRecordTool;
+import com.persagy.apm.alarmservice.group.alarmrecord.model.dto.*;
+import com.persagy.apm.alarmservice.group.alarmrecord.model.vo.AlarmRecordIdsItem;
+import com.persagy.apm.alarmservice.group.alarmrecord.model.vo.AlarmRecordItemVO;
+import com.persagy.apm.alarmservice.group.alarmrecord.model.vo.AlarmRecordListItem;
+import com.persagy.apm.alarmservice.group.alarmrecord.service.AlarmRecordWrapper;
+import com.persagy.apm.alarmservice.group.management.model.group.vo.GroupTreeDetailVO;
 import com.persagy.apm.alarmservice.group.management.service.GroupManagementService;
 import com.persagy.apm.common.context.poems.PoemsContext;
 import com.persagy.apm.common.model.dto.Sort;
@@ -25,8 +25,8 @@ import com.persagy.apm.energyalarmstarter.alarmdata.model.dto.common.QueryDTO;
 import com.persagy.apm.energyalarmstarter.alarmdata.model.vo.AlarmRecordItem;
 import com.persagy.apm.energyalarmstarter.alarmdata.service.AlarmItemServiceImpl;
 import com.persagy.apm.energyalarmstarter.alarmdata.service.AlarmRecordServiceImpl;
-import com.persagy.apm.model.dto.GroupManagementDTO;
-import com.persagy.apm.model.vo.GroupManagementVo;
+import com.persagy.apm.alarmservice.group.management.model.equip.dto.GroupManagementDTO;
+import com.persagy.apm.alarmservice.group.management.model.equip.vo.GroupManagementVo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.assertj.core.util.Lists;

+ 1 - 2
src/main/java/com/persagy/apm/alarmservice/alarmrecord/enums/EnumAlarmCategory.java

@@ -1,6 +1,5 @@
-package com.persagy.apm.alarmservice.alarmrecord.enums;
+package com.persagy.apm.alarmservice.group.alarmrecord.enums;
 
-import com.persagy.apm.common.enums.AlarmDicTypeEnum;
 import lombok.AllArgsConstructor;
 import lombok.Getter;
 import lombok.Setter;

+ 1 - 1
src/main/java/com/persagy/apm/alarmservice/alarmrecord/enums/EnumAlarmLevel.java

@@ -1,4 +1,4 @@
-package com.persagy.apm.alarmservice.alarmrecord.enums;
+package com.persagy.apm.alarmservice.group.alarmrecord.enums;
 
 import lombok.AllArgsConstructor;
 import lombok.Getter;

+ 1 - 1
src/main/java/com/persagy/apm/alarmservice/alarmrecord/enums/EnumAlarmNature.java

@@ -1,4 +1,4 @@
-package com.persagy.apm.alarmservice.alarmrecord.enums;
+package com.persagy.apm.alarmservice.group.alarmrecord.enums;
 
 import lombok.AllArgsConstructor;
 import lombok.Getter;

+ 1 - 1
src/main/java/com/persagy/apm/alarmservice/alarmrecord/enums/EnumAlarmState.java

@@ -1,4 +1,4 @@
-package com.persagy.apm.alarmservice.alarmrecord.enums;
+package com.persagy.apm.alarmservice.group.alarmrecord.enums;
 
 import lombok.AllArgsConstructor;
 import lombok.Getter;

+ 1 - 1
src/main/java/com/persagy/apm/alarmservice/alarmrecord/enums/EnumAlarmTreatMode.java

@@ -1,4 +1,4 @@
-package com.persagy.apm.alarmservice.alarmrecord.enums;
+package com.persagy.apm.alarmservice.group.alarmrecord.enums;
 
 import lombok.AllArgsConstructor;
 import lombok.Getter;

+ 1 - 1
src/main/java/com/persagy/apm/alarmservice/alarmrecord/enums/EnumAlarmTreatState.java

@@ -1,4 +1,4 @@
-package com.persagy.apm.alarmservice.alarmrecord.enums;
+package com.persagy.apm.alarmservice.group.alarmrecord.enums;
 
 import lombok.AllArgsConstructor;
 import lombok.Getter;

+ 19 - 0
src/main/java/com/persagy/apm/alarmservice/group/alarmrecord/model/ConvertAlarmCommentTool.java

@@ -0,0 +1,19 @@
+package com.persagy.apm.alarmservice.group.alarmrecord.model;
+
+import com.persagy.apm.alarmservice.group.alarmrecord.model.vo.AlarmCommentListItem;
+import com.persagy.apm.energyalarmstarter.alarmdata.model.vo.AlarmCommentItem;
+import org.mapstruct.*;
+import org.mapstruct.factory.Mappers;
+
+/**
+ * 报警记录(AlarmRecord) dto、vo、do转换工具类
+ * @author lixing
+ * @version V1.0 2021-09-08 22:30:38
+ */
+@Mapper(nullValueMappingStrategy = NullValueMappingStrategy.RETURN_DEFAULT,
+        nullValueCheckStrategy = NullValueCheckStrategy.ALWAYS)
+public interface ConvertAlarmCommentTool {
+    ConvertAlarmCommentTool INSTANCE = Mappers.getMapper(ConvertAlarmCommentTool.class);
+
+    AlarmCommentListItem convert2AlarmCommentListItem(AlarmCommentItem alarmCommentItem);
+}

+ 2 - 5
src/main/java/com/persagy/apm/alarmservice/alarmrecord/model/ConvertAlarmRecordTool.java

@@ -1,10 +1,7 @@
-package com.persagy.apm.alarmservice.alarmrecord.model;
+package com.persagy.apm.alarmservice.group.alarmrecord.model;
 
-import com.persagy.apm.alarmservice.alarmcondition.model.ConvertAlarmConditionTool;
-import com.persagy.apm.alarmservice.alarmrecord.model.dto.PageQueryAlarmRecordDTO;
-import com.persagy.apm.alarmservice.alarmrecord.model.vo.AlarmRecordListItem;
+import com.persagy.apm.alarmservice.group.alarmrecord.model.dto.PageQueryAlarmRecordDTO;
 import com.persagy.apm.energyalarmstarter.alarmdata.model.dto.alarmrecord.QueryAlarmRecordDTO;
-import com.persagy.apm.energyalarmstarter.alarmdata.model.vo.AlarmRecordItem;
 import org.mapstruct.*;
 import org.mapstruct.factory.Mappers;
 

+ 1 - 1
src/main/java/com/persagy/apm/alarmservice/alarmrecord/model/dto/AlarmRecordConvertWorkOrderDTO.java

@@ -1,4 +1,4 @@
-package com.persagy.apm.alarmservice.alarmrecord.model.dto;
+package com.persagy.apm.alarmservice.group.alarmrecord.model.dto;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;

+ 1 - 1
src/main/java/com/persagy/apm/alarmservice/alarmrecord/model/dto/CloseAlarmRecordDTO.java

@@ -1,4 +1,4 @@
-package com.persagy.apm.alarmservice.alarmrecord.model.dto;
+package com.persagy.apm.alarmservice.group.alarmrecord.model.dto;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;

+ 1 - 1
src/main/java/com/persagy/apm/alarmservice/alarmrecord/model/dto/CreateAlarmCommentDTO.java

@@ -1,4 +1,4 @@
-package com.persagy.apm.alarmservice.alarmrecord.model.dto;
+package com.persagy.apm.alarmservice.group.alarmrecord.model.dto;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;

+ 1 - 1
src/main/java/com/persagy/apm/alarmservice/alarmrecord/model/dto/DownloadAlarmRecordDTO.java

@@ -1,4 +1,4 @@
-package com.persagy.apm.alarmservice.alarmrecord.model.dto;
+package com.persagy.apm.alarmservice.group.alarmrecord.model.dto;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;

+ 1 - 1
src/main/java/com/persagy/apm/alarmservice/alarmrecord/model/dto/GetAlarmRecordDTO.java

@@ -1,4 +1,4 @@
-package com.persagy.apm.alarmservice.alarmrecord.model.dto;
+package com.persagy.apm.alarmservice.group.alarmrecord.model.dto;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;

+ 1 - 1
src/main/java/com/persagy/apm/alarmservice/alarmrecord/model/dto/IgnoreAlarmRecordDTO.java

@@ -1,4 +1,4 @@
-package com.persagy.apm.alarmservice.alarmrecord.model.dto;
+package com.persagy.apm.alarmservice.group.alarmrecord.model.dto;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;

+ 1 - 1
src/main/java/com/persagy/apm/alarmservice/alarmrecord/model/dto/PageQueryAlarmCommentDTO.java

@@ -1,4 +1,4 @@
-package com.persagy.apm.alarmservice.alarmrecord.model.dto;
+package com.persagy.apm.alarmservice.group.alarmrecord.model.dto;
 
 import com.persagy.apm.common.model.dto.PageDTO;
 import io.swagger.annotations.ApiModel;

+ 1 - 1
src/main/java/com/persagy/apm/alarmservice/alarmrecord/model/dto/PageQueryAlarmRecordDTO.java

@@ -1,4 +1,4 @@
-package com.persagy.apm.alarmservice.alarmrecord.model.dto;
+package com.persagy.apm.alarmservice.group.alarmrecord.model.dto;
 
 import com.persagy.apm.common.model.dto.PageDTO;
 import io.swagger.annotations.ApiModel;

+ 2 - 2
src/main/java/com/persagy/apm/alarmservice/alarmrecord/model/vo/AlarmCommentListItem.java

@@ -1,4 +1,4 @@
-package com.persagy.apm.alarmservice.alarmrecord.model.vo;
+package com.persagy.apm.alarmservice.group.alarmrecord.model.vo;
 
 import com.fasterxml.jackson.annotation.JsonInclude;
 import com.persagy.apm.common.model.vo.SimpleObjVO;
@@ -23,7 +23,7 @@ public class AlarmCommentListItem {
     @ApiModelProperty(value = "内容")
     private String content;
     @ApiModelProperty(value = "创建时间")
-    private String createTime;
+    private Date createTime;
     @ApiModelProperty(value = "创建人")
     private SimpleObjVO creator;
 

+ 1 - 1
src/main/java/com/persagy/apm/alarmservice/alarmrecord/model/vo/AlarmRecordIdsItem.java

@@ -1,4 +1,4 @@
-package com.persagy.apm.alarmservice.alarmrecord.model.vo;
+package com.persagy.apm.alarmservice.group.alarmrecord.model.vo;
 
 import com.fasterxml.jackson.annotation.JsonInclude;
 import io.swagger.annotations.ApiModel;

+ 2 - 3
src/main/java/com/persagy/apm/alarmservice/alarmrecord/model/vo/AlarmRecordItemVO.java

@@ -1,14 +1,13 @@
-package com.persagy.apm.alarmservice.alarmrecord.model.vo;
+package com.persagy.apm.alarmservice.group.alarmrecord.model.vo;
 
 import com.fasterxml.jackson.annotation.JsonInclude;
-import com.persagy.apm.alarmservice.alarmcondition.model.vo.AlarmConditionStrItem;
+import com.persagy.apm.alarmservice.project.alarmcondition.model.vo.AlarmConditionStrItem;
 import com.persagy.apm.common.model.vo.SimpleObjVO;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 import java.util.Date;
-import java.util.List;
 
 /**
  * 查询报警记录DTO

+ 1 - 1
src/main/java/com/persagy/apm/alarmservice/alarmrecord/model/vo/AlarmRecordListItem.java

@@ -1,4 +1,4 @@
-package com.persagy.apm.alarmservice.alarmrecord.model.vo;
+package com.persagy.apm.alarmservice.group.alarmrecord.model.vo;
 
 import com.fasterxml.jackson.annotation.JsonInclude;
 import com.persagy.apm.common.model.vo.SimpleObjVO;

+ 9 - 9
src/main/java/com/persagy/apm/alarmservice/alarmrecord/service/AlarmRecordWrapper.java

@@ -1,15 +1,15 @@
-package com.persagy.apm.alarmservice.alarmrecord.service;
+package com.persagy.apm.alarmservice.group.alarmrecord.service;
 
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
-import com.persagy.apm.alarmservice.alarmcondition.model.vo.AlarmConditionStrItem;
-import com.persagy.apm.alarmservice.alarmrecord.enums.EnumAlarmLevel;
-import com.persagy.apm.alarmservice.alarmrecord.enums.EnumAlarmState;
-import com.persagy.apm.alarmservice.alarmrecord.enums.EnumAlarmTreatMode;
-import com.persagy.apm.alarmservice.alarmrecord.enums.EnumAlarmTreatState;
-import com.persagy.apm.alarmservice.alarmrecord.model.vo.AlarmRecordItemVO;
-import com.persagy.apm.alarmservice.alarmrecord.model.vo.AlarmRecordListItem;
-import com.persagy.apm.alarmservice.group.management.model.GroupManagement;
+import com.persagy.apm.alarmservice.project.alarmcondition.model.vo.AlarmConditionStrItem;
+import com.persagy.apm.alarmservice.group.alarmrecord.enums.EnumAlarmLevel;
+import com.persagy.apm.alarmservice.group.alarmrecord.enums.EnumAlarmState;
+import com.persagy.apm.alarmservice.group.alarmrecord.enums.EnumAlarmTreatMode;
+import com.persagy.apm.alarmservice.group.alarmrecord.enums.EnumAlarmTreatState;
+import com.persagy.apm.alarmservice.group.alarmrecord.model.vo.AlarmRecordItemVO;
+import com.persagy.apm.alarmservice.group.alarmrecord.model.vo.AlarmRecordListItem;
+import com.persagy.apm.alarmservice.group.management.model.equip.GroupManagement;
 import com.persagy.apm.alarmservice.group.management.service.GroupManagementService;
 import com.persagy.apm.common.model.vo.SimpleObjVO;
 import com.persagy.apm.energyalarmstarter.alarmdata.feign.DmpResult;

+ 17 - 1
src/main/java/com/persagy/apm/alarmservice/group/alarmrule/controller/GroupAlarmRuleController.java

@@ -1,6 +1,6 @@
 package com.persagy.apm.alarmservice.group.alarmrule.controller;
 
-import com.persagy.apm.alarmservice.alarmcondition.service.IAlarmConditionService;
+import com.persagy.apm.alarmservice.project.alarmcondition.service.IAlarmConditionService;
 import com.persagy.apm.alarmservice.group.alarmrule.dao.GroupAlarmRuleMapper;
 import com.persagy.apm.alarmservice.group.alarmrule.model.ConvertGroupAlarmRuleTool;
 import com.persagy.apm.alarmservice.group.alarmrule.model.GroupAlarmRule;
@@ -9,6 +9,7 @@ import com.persagy.apm.alarmservice.group.alarmrule.model.vo.GroupAlarmRuleItemV
 import com.persagy.apm.alarmservice.group.alarmrule.model.vo.GroupAlarmRuleListItemVO;
 import com.persagy.apm.alarmservice.group.alarmrule.service.IGroupAlarmRuleService;
 import com.persagy.apm.alarmservice.project.alarmruleobjrel.service.IProjectAlarmRuleObjRelService;
+import com.persagy.apm.alarmservice.common.excel.ExcelUtils;
 import com.persagy.apm.common.response.ApmResponseUpsertVO;
 import com.persagy.apm.common.response.CommonResult;
 import com.persagy.apm.common.response.PageList;
@@ -19,6 +20,8 @@ import com.persagy.apm.energyalarmstarter.alarmdata.model.vo.AlarmConfigItem;
 import com.persagy.apm.energyalarmstarter.alarmdata.service.AlarmConfigServiceImpl;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import org.apache.poi.ss.usermodel.Sheet;
+import org.apache.poi.ss.usermodel.Workbook;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -28,7 +31,9 @@ import org.springframework.web.bind.annotation.RestController;
 import springfox.documentation.annotations.ApiIgnore;
 
 import javax.validation.Valid;
+import java.util.ArrayList;
 import java.util.List;
+import java.util.Map;
 
 /**
  * 集团报警规则控制层
@@ -127,5 +132,16 @@ public class GroupAlarmRuleController {
         System.out.println(query);
     }
 
+    @ApiOperation(value = "读取表格")
+    @PostMapping("/readExcel")
+    public void readExcel() throws Exception{
+        Workbook workbook = ExcelUtils.getWorkbook("/项目清单.xlsx");
+        Sheet sheet = workbook.getSheet("慧云3.0及3.1版本清单");
+        List<Map<String, String>> list = new ArrayList();
+        for (int i = 0; i < sheet.getLastRowNum(); i++) {
+
+        }
+    }
+
 }
 

+ 1 - 1
src/main/java/com/persagy/apm/alarmservice/group/alarmrule/model/dto/AddGroupAlarmRuleDTO.java

@@ -1,6 +1,6 @@
 package com.persagy.apm.alarmservice.group.alarmrule.model.dto;
 
-import com.persagy.apm.alarmservice.alarmcondition.model.dto.AddAlarmConditionDTO;
+import com.persagy.apm.alarmservice.project.alarmcondition.model.dto.AddAlarmConditionDTO;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 

+ 3 - 0
src/main/java/com/persagy/apm/alarmservice/group/alarmrule/model/dto/PageQueryGroupAlarmRuleDTO.java

@@ -23,6 +23,9 @@ public class PageQueryGroupAlarmRuleDTO extends PageDTO {
     
     @ApiModelProperty(value = "报警条目编码", required = true)
     private String alarmItemCode;
+
+    @ApiModelProperty(value = "报警类型名称", required = true)
+    private String alarmItemName;
     
     @ApiModelProperty(value = "报警条件id", required = true)
     private String alarmConditionId;

+ 1 - 3
src/main/java/com/persagy/apm/alarmservice/group/alarmrule/model/dto/UpdateGroupAlarmRuleDTO.java

@@ -1,12 +1,10 @@
 package com.persagy.apm.alarmservice.group.alarmrule.model.dto;
 
-import com.persagy.apm.alarmservice.alarmcondition.model.dto.AddAlarmConditionDTO;
-import com.persagy.apm.alarmservice.alarmcondition.model.dto.UpdateAlarmConditionDTO;
+import com.persagy.apm.alarmservice.project.alarmcondition.model.dto.UpdateAlarmConditionDTO;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import javax.validation.constraints.NotNull;
 import lombok.Data;
-import java.util.Date;
 
 /**
  * @author lixing

+ 4 - 1
src/main/java/com/persagy/apm/alarmservice/group/alarmrule/model/vo/GroupAlarmRuleListItemVO.java

@@ -1,6 +1,6 @@
 package com.persagy.apm.alarmservice.group.alarmrule.model.vo;
 
-import com.persagy.apm.alarmservice.alarmcondition.model.vo.AlarmConditionListItemVO;
+import com.persagy.apm.alarmservice.project.alarmcondition.model.vo.AlarmConditionListItemVO;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -23,6 +23,9 @@ public class GroupAlarmRuleListItemVO {
     
     @ApiModelProperty("报警条目编码")
     private String alarmItemCode;
+
+    @ApiModelProperty("报警条目名称")
+    private String alarmItemName;
     
     @ApiModelProperty("报警条件")
     private AlarmConditionListItemVO alarmCondition;

+ 116 - 77
src/main/java/com/persagy/apm/alarmservice/group/alarmrule/service/impl/GroupAlarmRuleServiceImpl.java

@@ -1,31 +1,40 @@
 package com.persagy.apm.alarmservice.group.alarmrule.service.impl;
 
-import com.persagy.apm.alarmservice.alarmcondition.model.dto.AddAlarmConditionDTO;
-import com.persagy.apm.alarmservice.alarmcondition.model.dto.UpdateAlarmConditionDTO;
-import com.persagy.apm.alarmservice.alarmcondition.service.IAlarmConditionService;
-import com.persagy.apm.alarmservice.project.alarmrule.service.IProjectAlarmRuleService;
-import com.persagy.apm.common.configuration.DataUtils;
-import com.persagy.apm.common.configuration.PoemsWebConfigurer;
-import com.persagy.apm.common.context.AppContext;
+import com.alibaba.fastjson.JSONArray;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.google.common.base.CaseFormat;
 import com.persagy.apm.alarmservice.group.alarmrule.dao.GroupAlarmRuleMapper;
+import com.persagy.apm.alarmservice.group.alarmrule.model.ConvertGroupAlarmRuleTool;
+import com.persagy.apm.alarmservice.group.alarmrule.model.GroupAlarmRule;
+import com.persagy.apm.alarmservice.group.alarmrule.model.dto.AddGroupAlarmRuleDTO;
+import com.persagy.apm.alarmservice.group.alarmrule.model.dto.PageQueryGroupAlarmRuleDTO;
+import com.persagy.apm.alarmservice.group.alarmrule.model.dto.QueryGroupAlarmRuleDTO;
+import com.persagy.apm.alarmservice.group.alarmrule.model.dto.UpdateGroupAlarmRuleDTO;
 import com.persagy.apm.alarmservice.group.alarmrule.service.IGroupAlarmRuleService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.persagy.apm.alarmservice.project.alarmcondition.model.dto.AddAlarmConditionDTO;
+import com.persagy.apm.alarmservice.project.alarmcondition.model.dto.UpdateAlarmConditionDTO;
+import com.persagy.apm.alarmservice.project.alarmcondition.service.IAlarmConditionService;
+import com.persagy.apm.alarmservice.project.alarmrule.service.IProjectAlarmRuleService;
+import com.persagy.apm.alarmservice.project.alarmruleobjrel.model.dto.AddProjectAlarmRuleObjRelDTO;
+import com.persagy.apm.common.constant.enums.ValidEnum;
+import com.persagy.apm.common.context.AppContext;
 import com.persagy.apm.common.context.poems.PoemsContext;
+import com.persagy.apm.common.model.dto.Sort;
+import com.persagy.apm.energyalarmstarter.alarmdata.model.dto.AlarmCondition;
+import com.persagy.apm.energyalarmstarter.alarmdata.model.dto.alarmconfig.AddAlarmConfigDTO;
+import com.persagy.apm.energyalarmstarter.alarmdata.model.dto.alarmconfig.BatchAddAlarmConfigDTO;
+import com.persagy.apm.energyalarmstarter.alarmdata.service.AlarmConfigServiceImpl;
+import org.apache.commons.lang.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-import org.apache.commons.lang.StringUtils;
-import com.persagy.apm.common.constant.enums.ValidEnum;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.persagy.apm.alarmservice.group.alarmrule.model.*;
-import com.persagy.apm.alarmservice.group.alarmrule.model.dto.*;
+import org.springframework.util.CollectionUtils;
 
-import java.util.Date;
+import java.util.ArrayList;
 import java.util.List;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.google.common.base.CaseFormat;
-import com.persagy.apm.common.model.dto.Sort;
-import org.springframework.util.CollectionUtils;
+import java.util.Map;
 
 /**
  * 集团报警规则(GroupAlarmRule) service层
@@ -34,34 +43,62 @@ import org.springframework.util.CollectionUtils;
  * @version V1.0 2021-09-08 22:35:45
  */
 @Service
-public class GroupAlarmRuleServiceImpl extends ServiceImpl<GroupAlarmRuleMapper, GroupAlarmRule> 
-    implements IGroupAlarmRuleService {
+public class GroupAlarmRuleServiceImpl extends ServiceImpl<GroupAlarmRuleMapper, GroupAlarmRule>
+        implements IGroupAlarmRuleService {
     @Autowired
     private IAlarmConditionService alarmConditionService;
     @Autowired
     private IProjectAlarmRuleService projectAlarmRuleService;
+    @Autowired
+    private AlarmConfigServiceImpl alarmConfigService;
+
     /**
-    * 创建集团报警规则
-    * @return 集团报警规则主键
-    * @author lixing
-    * @version V1.0 2021-09-08 22:35:45
-    */
+     * 创建集团报警规则
+     *
+     * @return 集团报警规则主键
+     * @author lixing
+     * @version V1.0 2021-09-08 22:35:45
+     */
     @Override
     public String createGroupAlarmRule(AddGroupAlarmRuleDTO addGroupAlarmRuleDTO) {
         //1、给某个设备分组创建集团报警
         GroupAlarmRule groupAlarmRule = ConvertGroupAlarmRuleTool.INSTANCE.convertAddDto2Entity(addGroupAlarmRuleDTO);
         AddAlarmConditionDTO alarmCondition = addGroupAlarmRuleDTO.getAlarmCondition();
-        String alarmConditionId = alarmConditionService.createAlarmCondition(alarmCondition);
+        Map<String, Object> conditionMap = alarmConditionService.createAlarmCondition(alarmCondition);
         // 设置默认值
-        groupAlarmRule.setAlarmConditionId(alarmConditionId);
+        groupAlarmRule.setAlarmConditionId((String) conditionMap.get("id"));
         setDefaultValue(groupAlarmRule);
         save(groupAlarmRule);
         //2、同步创建项目报警
-        projectAlarmRuleService.addProjectAlarmRules(addGroupAlarmRuleDTO);
+        List<AddProjectAlarmRuleObjRelDTO> addProjectAlarmRuleObjRelDTOS = projectAlarmRuleService.addProjectAlarmRules(addGroupAlarmRuleDTO);
         //3、同步创建设备报警条件
+        BatchAddAlarmConfigDTO batchAddAlarmConfigDTO = new BatchAddAlarmConfigDTO();
+        List<AddAlarmConfigDTO> alarmConfigs = new ArrayList<>();
+        for (AddProjectAlarmRuleObjRelDTO addProjectAlarmRuleObjRelDTO : addProjectAlarmRuleObjRelDTOS) {
+            AddAlarmConfigDTO addAlarmConfigDTO = new AddAlarmConfigDTO();
+            addAlarmConfigDTO.setObjId(addProjectAlarmRuleObjRelDTO.getEquipId());
+            addAlarmConfigDTO.setItemCode(addGroupAlarmRuleDTO.getAlarmItemCode());
+            addAlarmConfigDTO.setClassCode(addGroupAlarmRuleDTO.getClassCode());
+            addAlarmConfigDTO.setLevel(alarmCondition.getAlarmLevel());
+            AlarmCondition condition = new AlarmCondition();
+            condition.setTrigger((String) conditionMap.get("backend"));
+            String infoCode = (String) conditionMap.get("infoCode");
+            List<String> infoCodeList = (List<String>) JSONArray.parse(infoCode);
+            condition.setInfoCode(infoCodeList);
+            condition.setTriggerUphold(alarmCondition.getTriggerUphold());
+            condition.setRules((List<String>) conditionMap.get("conditionMap"));
+            addAlarmConfigDTO.setCondition(condition);
+            alarmConfigs.add(addAlarmConfigDTO);
+        }
+        batchAddAlarmConfigDTO.setAlarmConfigs(alarmConfigs);
+        try {
+            alarmConfigService.batchCreate(batchAddAlarmConfigDTO);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
         return groupAlarmRule.getId();
     }
-    
+
     /**
      * 如果某些字段没有赋值,使用默认的值
      *
@@ -70,19 +107,17 @@ public class GroupAlarmRuleServiceImpl extends ServiceImpl<GroupAlarmRuleMapper,
      * @version V1.0 2021/3/12 12:29 下午
      */
     private void setDefaultValue(GroupAlarmRule groupAlarmRule) {
-        groupAlarmRule.setCreator(AppContext.getContext().getAccountId());
-        groupAlarmRule.setId(DataUtils.getUUID());
-        groupAlarmRule.setModifier(PoemsContext.getContext().getUserId());
-        groupAlarmRule.setModifiedTime(new Date());
+        groupAlarmRule.setCreator(PoemsContext.getContext().getUserId());
     }
-    
+
     /**
-    * 集团报警规则详情
-    * @param id 主键
-    * @return 部门do类
-    * @author lixing
-    * @version V1.0 2021-09-08 22:35:45
-    */
+     * 集团报警规则详情
+     *
+     * @param id 主键
+     * @return 部门do类
+     * @author lixing
+     * @version V1.0 2021-09-08 22:35:45
+     */
     @Override
     public GroupAlarmRule queryGroupAlarmRuleDetail(String id) {
         GroupAlarmRule groupAlarmRule = getById(id);
@@ -91,12 +126,13 @@ public class GroupAlarmRuleServiceImpl extends ServiceImpl<GroupAlarmRuleMapper,
         }
         return groupAlarmRule;
     }
-    
+
     /**
-    * 更新集团报警规则
-    * @author lixing
-    * @version V1.0 2021-09-08 22:35:45
-    */
+     * 更新集团报警规则
+     *
+     * @author lixing
+     * @version V1.0 2021-09-08 22:35:45
+     */
     @Override
     public void updateGroupAlarmRule(UpdateGroupAlarmRuleDTO updateGroupAlarmRuleDTO) {
         GroupAlarmRule groupAlarmRule = getById(updateGroupAlarmRuleDTO.getId());
@@ -106,7 +142,7 @@ public class GroupAlarmRuleServiceImpl extends ServiceImpl<GroupAlarmRuleMapper,
         UpdateAlarmConditionDTO alarmCondition = updateGroupAlarmRuleDTO.getAlarmCondition();
         alarmConditionService.updateAlarmCondition(alarmCondition);
     }
-    
+
     /**
      * 校验集团报警规则是否可删除
      *
@@ -128,13 +164,14 @@ public class GroupAlarmRuleServiceImpl extends ServiceImpl<GroupAlarmRuleMapper,
 
         return groupAlarmRule;
     }
-    
+
     /**
-    * 删除集团报警规则
-    * @param id 主键
-    * @author lixing
-    * @version V1.0 2021-09-08 22:35:45
-    */
+     * 删除集团报警规则
+     *
+     * @param id 主键
+     * @author lixing
+     * @version V1.0 2021-09-08 22:35:45
+     */
     @Override
     public void deleteGroupAlarmRule(String id) {
         // 校验是否可删除
@@ -142,27 +179,28 @@ public class GroupAlarmRuleServiceImpl extends ServiceImpl<GroupAlarmRuleMapper,
         groupAlarmRule.setValid(ValidEnum.FALSE.getType());
         updateById(groupAlarmRule);
     }
-    
+
     /**
-    * 查询集团报警规则
-    * @return List<GroupAlarmRule>
-    * @author lixing
-    * @version V1.0 2021-09-08 22:35:45
-    */
+     * 查询集团报警规则
+     *
+     * @return List<GroupAlarmRule>
+     * @author lixing
+     * @version V1.0 2021-09-08 22:35:45
+     */
     @Override
     public List<GroupAlarmRule> queryGroupAlarmRuleList(QueryGroupAlarmRuleDTO queryGroupAlarmRuleDTO) {
         QueryWrapper<GroupAlarmRule> queryWrapper = new QueryWrapper<>();
         queryWrapper.eq(GroupAlarmRule.PROP_VALID, ValidEnum.TRUE.getType());
         // 默认按创建时间倒序排序
         queryWrapper.orderBy(true, false, GroupAlarmRule.PROP_CREATIONTIME);
-        
+
         if (queryGroupAlarmRuleDTO != null) {
-                                
+
             // todo 需判断使用like还是eq
             if (StringUtils.isNotEmpty(queryGroupAlarmRuleDTO.getGroupId())) {
                 queryWrapper.like(GroupAlarmRule.PROP_GROUP_ID, queryGroupAlarmRuleDTO.getGroupId());
             }
-                                        
+
             // todo 需判断使用like还是eq
             if (StringUtils.isNotEmpty(queryGroupAlarmRuleDTO.getAlarmItemCode())) {
                 queryWrapper.like(GroupAlarmRule.PROP_ALARM_ITEM_CODE, queryGroupAlarmRuleDTO.getAlarmItemCode());
@@ -170,47 +208,48 @@ public class GroupAlarmRuleServiceImpl extends ServiceImpl<GroupAlarmRuleMapper,
         }
         return list(queryWrapper);
     }
-    
+
     /**
-    * 分页查询集团报警规则
-    * @return IPage<GroupAlarmRule>
-    * @author lixing
-    * @version V1.0 2021-09-08 22:35:45
-    */
+     * 分页查询集团报警规则
+     *
+     * @return IPage<GroupAlarmRule>
+     * @author lixing
+     * @version V1.0 2021-09-08 22:35:45
+     */
     @Override
     public IPage<GroupAlarmRule> pageQueryGroupAlarmRule(PageQueryGroupAlarmRuleDTO pageQueryGroupAlarmRuleDTO) {
         QueryWrapper<GroupAlarmRule> queryWrapper = new QueryWrapper<>();
         queryWrapper.eq(GroupAlarmRule.PROP_VALID, ValidEnum.TRUE.getType());
         // 这里认为pageQueryDTO是经过校验的,肯定包含分页信息
-        IPage<GroupAlarmRule> pageParam = new Page<>(pageQueryGroupAlarmRuleDTO.getPage(), pageQueryGroupAlarmRuleDTO.getSize(),true);
+        IPage<GroupAlarmRule> pageParam = new Page<>(pageQueryGroupAlarmRuleDTO.getPage(), pageQueryGroupAlarmRuleDTO.getSize(), true);
         // 排序信息
-        if(CollectionUtils.isEmpty(pageQueryGroupAlarmRuleDTO.getOrders())){
+        if (CollectionUtils.isEmpty(pageQueryGroupAlarmRuleDTO.getOrders())) {
             // 默认按创建时间倒序排序
             queryWrapper.orderBy(true, false, GroupAlarmRule.PROP_CREATIONTIME);
-        }else {
+        } else {
             List<Sort> orders = pageQueryGroupAlarmRuleDTO.getOrders();
-            for(Sort sort: orders) {
+            for (Sort sort : orders) {
                 // 将驼峰转换为下划线格式
-                sort.setColumn(CaseFormat.LOWER_CAMEL.to(CaseFormat.LOWER_UNDERSCORE,sort.getColumn()));
+                sort.setColumn(CaseFormat.LOWER_CAMEL.to(CaseFormat.LOWER_UNDERSCORE, sort.getColumn()));
                 queryWrapper.orderBy(true, sort.isAsc(), sort.getColumn());
             }
         }
-                
+
         // todo 需判断使用like还是eq
         if (StringUtils.isNotEmpty(pageQueryGroupAlarmRuleDTO.getGroupId())) {
             queryWrapper.like(GroupAlarmRule.PROP_GROUP_ID, pageQueryGroupAlarmRuleDTO.getGroupId());
         }
-                            
+
         // todo 需判断使用like还是eq
         if (StringUtils.isNotEmpty(pageQueryGroupAlarmRuleDTO.getAlarmItemCode())) {
             queryWrapper.like(GroupAlarmRule.PROP_ALARM_ITEM_CODE, pageQueryGroupAlarmRuleDTO.getAlarmItemCode());
         }
-                            
+
         // todo 需判断使用like还是eq
         if (StringUtils.isNotEmpty(pageQueryGroupAlarmRuleDTO.getAlarmConditionId())) {
             queryWrapper.like(GroupAlarmRule.PROP_ALARM_CONDITION_ID, pageQueryGroupAlarmRuleDTO.getAlarmConditionId());
         }
-                                    
+
         return getBaseMapper().selectPage(pageParam, queryWrapper);
     }
 }

+ 7 - 6
src/main/java/com/persagy/apm/alarmservice/calculatemethod/controller/CalculateMethodController.java

@@ -1,14 +1,15 @@
-package com.persagy.apm.alarmservice.calculatemethod.controller;
+package com.persagy.apm.alarmservice.group.calculatemethod.controller;
 
-import com.persagy.apm.alarmservice.calculatemethod.service.ICalculateMethodService;
+import com.persagy.apm.alarmservice.group.calculatemethod.model.CalculateMethod;
+import com.persagy.apm.alarmservice.group.calculatemethod.model.ConvertCalculateMethodTool;
+import com.persagy.apm.alarmservice.group.calculatemethod.model.dto.*;
+import com.persagy.apm.alarmservice.group.calculatemethod.model.vo.CalculateMethodItemVO;
+import com.persagy.apm.alarmservice.group.calculatemethod.model.vo.CalculateMethodListItemVO;
+import com.persagy.apm.alarmservice.group.calculatemethod.service.ICalculateMethodService;
 
 import org.springframework.beans.factory.annotation.Autowired;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-import io.swagger.annotations.ApiParam;
-import com.persagy.apm.alarmservice.calculatemethod.model.*;
-import com.persagy.apm.alarmservice.calculatemethod.model.vo.*;
-import com.persagy.apm.alarmservice.calculatemethod.model.dto.*;
 import com.persagy.apm.common.response.*;
 import com.persagy.apm.common.utils.ResultHelper;
 import org.springframework.validation.annotation.Validated;

+ 2 - 2
src/main/java/com/persagy/apm/alarmservice/calculatemethod/dao/CalculateMethodMapper.java

@@ -1,6 +1,6 @@
-package com.persagy.apm.alarmservice.calculatemethod.dao;
+package com.persagy.apm.alarmservice.group.calculatemethod.dao;
 
-import com.persagy.apm.alarmservice.calculatemethod.model.CalculateMethod;
+import com.persagy.apm.alarmservice.group.calculatemethod.model.CalculateMethod;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import org.apache.ibatis.annotations.Mapper;
 

+ 1 - 2
src/main/java/com/persagy/apm/alarmservice/calculatemethod/model/CalculateMethod.java

@@ -1,4 +1,4 @@
-package com.persagy.apm.alarmservice.calculatemethod.model;
+package com.persagy.apm.alarmservice.group.calculatemethod.model;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -6,7 +6,6 @@ import lombok.Data;
 import lombok.EqualsAndHashCode;
 import com.persagy.apm.common.model.entity.AuditableEntity;
 import java.io.Serializable;
-import java.util.Date;
 
 /**
  * 计算方式(CalculateMethod)实体类

+ 5 - 3
src/main/java/com/persagy/apm/alarmservice/calculatemethod/model/ConvertCalculateMethodTool.java

@@ -1,10 +1,12 @@
-package com.persagy.apm.alarmservice.calculatemethod.model;
+package com.persagy.apm.alarmservice.group.calculatemethod.model;
 
+import com.persagy.apm.alarmservice.group.calculatemethod.model.dto.AddCalculateMethodDTO;
+import com.persagy.apm.alarmservice.group.calculatemethod.model.dto.UpdateCalculateMethodDTO;
+import com.persagy.apm.alarmservice.group.calculatemethod.model.vo.CalculateMethodItemVO;
+import com.persagy.apm.alarmservice.group.calculatemethod.model.vo.CalculateMethodListItemVO;
 import org.mapstruct.*;
 import org.mapstruct.MappingTarget;
 import org.mapstruct.factory.Mappers;
-import com.persagy.apm.alarmservice.calculatemethod.model.vo.*;
-import com.persagy.apm.alarmservice.calculatemethod.model.dto.*;
 
 import java.util.List;
 

+ 1 - 1
src/main/java/com/persagy/apm/alarmservice/calculatemethod/model/dto/AddCalculateMethodDTO.java

@@ -1,4 +1,4 @@
-package com.persagy.apm.alarmservice.calculatemethod.model.dto;
+package com.persagy.apm.alarmservice.group.calculatemethod.model.dto;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;

+ 12 - 7
src/main/java/com/persagy/apm/alarmservice/calculatemethod/model/dto/CalculateMethodDTO.java

@@ -1,11 +1,12 @@
-package com.persagy.apm.alarmservice.calculatemethod.model.dto;
+package com.persagy.apm.alarmservice.group.calculatemethod.model.dto;
 
+import com.persagy.apm.alarmservice.project.alarmcondition.model.Formula;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
-import springfox.documentation.annotations.ApiIgnore;
 
 import javax.validation.constraints.NotNull;
+import java.util.List;
 
 /**
  * @author lixing
@@ -15,19 +16,23 @@ import javax.validation.constraints.NotNull;
 @ApiModel(value = "创建计算方式入参")
 public class CalculateMethodDTO {
     @ApiModelProperty(value = "计算方式名称", required = true)
-    @NotNull(message = "操作符") // todo 更新校验规则
+    @NotNull(message = "操作符") 
     private String operator;
     
     @ApiModelProperty(value = "公式", required = true)
-    @NotNull(message = "公式不能为空") // todo 更新校验规则
-    private String formula;
+    @NotNull(message = "公式不能为空") 
+    private List<Formula> formula;
     
     @ApiModelProperty(value = "监测指标id", required = true)
-    @NotNull(message = "监测指标id不能为空") // todo 更新校验规则
+    @NotNull(message = "监测指标id不能为空") 
     private String monitorIndicatorId;
+
+    @ApiModelProperty(value = "监测指标name", required = true)
+    @NotNull(message = "监测指标name不能为空") 
+    private String monitorIndicatorName;
     
     @ApiModelProperty(value = "是否是指标默认计算方式", required = true)
-    @NotNull(message = "是否是指标默认计算方式不能为空") // todo 更新校验规则
+    @NotNull(message = "是否是指标默认计算方式不能为空") 
     private Integer isDefault;
 
     @ApiModelProperty(value = "临时存储公式")

+ 1 - 1
src/main/java/com/persagy/apm/alarmservice/calculatemethod/model/dto/DeleteCalculateMethodDTO.java

@@ -1,4 +1,4 @@
-package com.persagy.apm.alarmservice.calculatemethod.model.dto;
+package com.persagy.apm.alarmservice.group.calculatemethod.model.dto;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;

+ 1 - 1
src/main/java/com/persagy/apm/alarmservice/calculatemethod/model/dto/PageQueryCalculateMethodDTO.java

@@ -1,4 +1,4 @@
-package com.persagy.apm.alarmservice.calculatemethod.model.dto;
+package com.persagy.apm.alarmservice.group.calculatemethod.model.dto;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;

+ 1 - 1
src/main/java/com/persagy/apm/alarmservice/calculatemethod/model/dto/QueryCalculateMethodDTO.java

@@ -1,4 +1,4 @@
-package com.persagy.apm.alarmservice.calculatemethod.model.dto;
+package com.persagy.apm.alarmservice.group.calculatemethod.model.dto;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;

+ 1 - 1
src/main/java/com/persagy/apm/alarmservice/calculatemethod/model/dto/QueryCalculateMethodDetailDTO.java

@@ -1,4 +1,4 @@
-package com.persagy.apm.alarmservice.calculatemethod.model.dto;
+package com.persagy.apm.alarmservice.group.calculatemethod.model.dto;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;

+ 1 - 1
src/main/java/com/persagy/apm/alarmservice/calculatemethod/model/dto/UpdateCalculateMethodDTO.java

@@ -1,4 +1,4 @@
-package com.persagy.apm.alarmservice.calculatemethod.model.dto;
+package com.persagy.apm.alarmservice.group.calculatemethod.model.dto;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;

+ 1 - 1
src/main/java/com/persagy/apm/alarmservice/calculatemethod/model/vo/CalculateMethodItemVO.java

@@ -1,4 +1,4 @@
-package com.persagy.apm.alarmservice.calculatemethod.model.vo;
+package com.persagy.apm.alarmservice.group.calculatemethod.model.vo;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;

+ 1 - 1
src/main/java/com/persagy/apm/alarmservice/calculatemethod/model/vo/CalculateMethodListItemVO.java

@@ -1,4 +1,4 @@
-package com.persagy.apm.alarmservice.calculatemethod.model.vo;
+package com.persagy.apm.alarmservice.group.calculatemethod.model.vo;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;

+ 6 - 5
src/main/java/com/persagy/apm/alarmservice/calculatemethod/service/ICalculateMethodService.java

@@ -1,11 +1,12 @@
-package com.persagy.apm.alarmservice.calculatemethod.service;
+package com.persagy.apm.alarmservice.group.calculatemethod.service;
 
-import com.persagy.apm.alarmservice.calculatemethod.model.*;
-import com.persagy.apm.alarmservice.calculatemethod.model.dto.*;
 import java.util.List;
 import com.baomidou.mybatisplus.core.metadata.IPage;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
+import com.persagy.apm.alarmservice.group.calculatemethod.model.CalculateMethod;
+import com.persagy.apm.alarmservice.group.calculatemethod.model.dto.AddCalculateMethodDTO;
+import com.persagy.apm.alarmservice.group.calculatemethod.model.dto.PageQueryCalculateMethodDTO;
+import com.persagy.apm.alarmservice.group.calculatemethod.model.dto.QueryCalculateMethodDTO;
+import com.persagy.apm.alarmservice.group.calculatemethod.model.dto.UpdateCalculateMethodDTO;
 
 /**
  * 计算方式(CalculateMethod) service接口

+ 10 - 6
src/main/java/com/persagy/apm/alarmservice/calculatemethod/service/impl/CalculateMethodServiceImpl.java

@@ -1,15 +1,19 @@
-package com.persagy.apm.alarmservice.calculatemethod.service.impl;
+package com.persagy.apm.alarmservice.group.calculatemethod.service.impl;
 
+import com.persagy.apm.alarmservice.group.calculatemethod.model.CalculateMethod;
+import com.persagy.apm.alarmservice.group.calculatemethod.model.ConvertCalculateMethodTool;
+import com.persagy.apm.alarmservice.group.calculatemethod.model.dto.AddCalculateMethodDTO;
+import com.persagy.apm.alarmservice.group.calculatemethod.model.dto.PageQueryCalculateMethodDTO;
+import com.persagy.apm.alarmservice.group.calculatemethod.model.dto.QueryCalculateMethodDTO;
+import com.persagy.apm.alarmservice.group.calculatemethod.model.dto.UpdateCalculateMethodDTO;
+import com.persagy.apm.alarmservice.group.calculatemethod.service.ICalculateMethodService;
 import com.persagy.apm.common.context.AppContext;
-import com.persagy.apm.alarmservice.calculatemethod.dao.CalculateMethodMapper;
-import com.persagy.apm.alarmservice.calculatemethod.service.ICalculateMethodService;
+import com.persagy.apm.alarmservice.group.calculatemethod.dao.CalculateMethodMapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 import org.apache.commons.lang.StringUtils;
 import com.persagy.apm.common.constant.enums.ValidEnum;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.persagy.apm.alarmservice.calculatemethod.model.*;
-import com.persagy.apm.alarmservice.calculatemethod.model.dto.*;
 import java.util.List;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -24,7 +28,7 @@ import org.springframework.util.CollectionUtils;
  * @version V1.0 2021-09-08 22:43:58
  */
 @Service
-public class CalculateMethodServiceImpl extends ServiceImpl<CalculateMethodMapper, CalculateMethod> 
+public class CalculateMethodServiceImpl extends ServiceImpl<CalculateMethodMapper, CalculateMethod>
     implements ICalculateMethodService {
     
     /**

+ 7 - 11
src/main/java/com/persagy/apm/alarmservice/group/management/controller/GroupManagementController.java

@@ -1,21 +1,18 @@
 package com.persagy.apm.alarmservice.group.management.controller;
 
-import com.persagy.apm.alarmservice.group.management.model.vo.GroupTreeDetailVO;
-import com.persagy.apm.alarmservice.group.management.model.vo.GroupTreeInfoVO;
-import com.persagy.apm.alarmservice.group.management.model.vo.GroupTreeVO;
+import com.persagy.apm.alarmservice.group.management.model.group.vo.GroupTreeDetailVO;
+import com.persagy.apm.alarmservice.group.management.model.group.vo.GroupTreeInfoVO;
+import com.persagy.apm.alarmservice.group.management.model.group.vo.GroupTreeVO;
 import com.persagy.apm.alarmservice.group.management.service.GroupManagementService;
 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.model.dto.EquipIdDTO;
-import com.persagy.apm.model.dto.EquipIdListDTO;
-import com.persagy.apm.model.dto.GroupManagementDTO;
-import com.persagy.apm.model.vo.GroupManagementVo;
+import com.persagy.apm.alarmservice.group.management.model.equip.dto.EquipIdDTO;
+import com.persagy.apm.alarmservice.group.management.model.equip.dto.EquipIdListDTO;
+import com.persagy.apm.alarmservice.group.management.model.equip.dto.GroupManagementDTO;
+import com.persagy.apm.alarmservice.group.management.model.equip.vo.GroupManagementVo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-import org.apache.commons.collections4.CollectionUtils;
-import org.apache.commons.lang3.StringUtils;
-import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -25,7 +22,6 @@ import org.springframework.web.bind.annotation.RestController;
 
 import javax.validation.Valid;
 import java.util.List;
-import java.util.Objects;
 
 import static com.persagy.apm.alarmservice.group.management.service.impl.GroupManagementServiceImpl.getGroupTree;
 

+ 1 - 1
src/main/java/com/persagy/apm/alarmservice/group/management/model/GroupManagement.java

@@ -1,4 +1,4 @@
-package com.persagy.apm.alarmservice.group.management.model;
+package com.persagy.apm.alarmservice.group.management.model.equip;
 
 import lombok.Data;
 /*import org.springframework.data.annotation.Id;

+ 1 - 1
src/main/java/com/persagy/apm/model/dto/EquipIdDTO.java

@@ -1,4 +1,4 @@
-package com.persagy.apm.model.dto;
+package com.persagy.apm.alarmservice.group.management.model.equip.dto;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;

+ 1 - 1
src/main/java/com/persagy/apm/model/dto/EquipIdListDTO.java

@@ -1,4 +1,4 @@
-package com.persagy.apm.model.dto;
+package com.persagy.apm.alarmservice.group.management.model.equip.dto;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;

+ 1 - 1
src/main/java/com/persagy/apm/model/dto/GroupManagementDTO.java

@@ -1,4 +1,4 @@
-package com.persagy.apm.model.dto;
+package com.persagy.apm.alarmservice.group.management.model.equip.dto;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;

+ 1 - 1
src/main/java/com/persagy/apm/model/vo/GroupManagementVo.java

@@ -1,4 +1,4 @@
-package com.persagy.apm.model.vo;
+package com.persagy.apm.alarmservice.group.management.model.equip.vo;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;

+ 3 - 6
src/main/java/com/persagy/apm/alarmservice/group/management/model/ConvertGroupTool.java

@@ -1,10 +1,7 @@
-package com.persagy.apm.alarmservice.group.management.model;
+package com.persagy.apm.alarmservice.group.management.model.group;
 
-import com.persagy.apm.alarmservice.alarmcondition.model.AlarmCondition;
-import com.persagy.apm.alarmservice.alarmcondition.model.ConvertAlarmConditionTool;
-import com.persagy.apm.alarmservice.alarmcondition.model.vo.AlarmConditionItemVO;
-import com.persagy.apm.alarmservice.group.management.model.vo.GroupTreeDetailVO;
-import com.persagy.apm.alarmservice.group.management.model.vo.GroupTreeVO;
+import com.persagy.apm.alarmservice.group.management.model.group.vo.GroupTreeDetailVO;
+import com.persagy.apm.alarmservice.group.management.model.group.vo.GroupTreeVO;
 import org.mapstruct.Mapper;
 import org.mapstruct.NullValueCheckStrategy;
 import org.mapstruct.NullValueMappingStrategy;

+ 1 - 1
src/main/java/com/persagy/apm/alarmservice/group/management/model/vo/GroupTreeDetailVO.java

@@ -1,4 +1,4 @@
-package com.persagy.apm.alarmservice.group.management.model.vo;
+package com.persagy.apm.alarmservice.group.management.model.group.vo;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;

+ 1 - 1
src/main/java/com/persagy/apm/alarmservice/group/management/model/vo/GroupTreeInfoVO.java

@@ -1,4 +1,4 @@
-package com.persagy.apm.alarmservice.group.management.model.vo;
+package com.persagy.apm.alarmservice.group.management.model.group.vo;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;

+ 1 - 1
src/main/java/com/persagy/apm/alarmservice/group/management/model/vo/GroupTreeVO.java

@@ -1,4 +1,4 @@
-package com.persagy.apm.alarmservice.group.management.model.vo;
+package com.persagy.apm.alarmservice.group.management.model.group.vo;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;

+ 5 - 5
src/main/java/com/persagy/apm/alarmservice/group/management/service/GroupManagementService.java

@@ -1,12 +1,12 @@
 package com.persagy.apm.alarmservice.group.management.service;
 
-import com.persagy.apm.alarmservice.group.management.model.GroupManagement;
-import com.persagy.apm.alarmservice.group.management.model.vo.GroupTreeDetailVO;
-import com.persagy.apm.alarmservice.group.management.model.vo.GroupTreeInfoVO;
+import com.persagy.apm.alarmservice.group.management.model.equip.GroupManagement;
+import com.persagy.apm.alarmservice.group.management.model.group.vo.GroupTreeDetailVO;
+import com.persagy.apm.alarmservice.group.management.model.group.vo.GroupTreeInfoVO;
 import com.persagy.apm.common.model.vo.SimpleObjVO;
 import com.persagy.apm.common.response.PageList;
-import com.persagy.apm.model.dto.GroupManagementDTO;
-import com.persagy.apm.model.vo.GroupManagementVo;
+import com.persagy.apm.alarmservice.group.management.model.equip.dto.GroupManagementDTO;
+import com.persagy.apm.alarmservice.group.management.model.equip.vo.GroupManagementVo;
 
 import java.util.List;
 import java.util.Map;

+ 13 - 9
src/main/java/com/persagy/apm/alarmservice/group/management/service/impl/GroupManagementServiceImpl.java

@@ -4,16 +4,16 @@ import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.google.common.collect.Lists;
-import com.persagy.apm.alarmservice.group.management.model.ConvertGroupTool;
-import com.persagy.apm.alarmservice.group.management.model.GroupManagement;
-import com.persagy.apm.alarmservice.group.management.model.vo.GroupTreeDetailVO;
-import com.persagy.apm.alarmservice.group.management.model.vo.GroupTreeInfoVO;
-import com.persagy.apm.alarmservice.group.management.model.vo.GroupTreeVO;
+import com.persagy.apm.alarmservice.group.management.model.equip.GroupManagement;
+import com.persagy.apm.alarmservice.group.management.model.equip.dto.GroupManagementDTO;
+import com.persagy.apm.alarmservice.group.management.model.equip.vo.GroupManagementVo;
+import com.persagy.apm.alarmservice.group.management.model.group.ConvertGroupTool;
+import com.persagy.apm.alarmservice.group.management.model.group.vo.GroupTreeDetailVO;
+import com.persagy.apm.alarmservice.group.management.model.group.vo.GroupTreeInfoVO;
+import com.persagy.apm.alarmservice.group.management.model.group.vo.GroupTreeVO;
 import com.persagy.apm.alarmservice.group.management.service.GroupManagementService;
 import com.persagy.apm.common.model.vo.SimpleObjVO;
 import com.persagy.apm.common.response.PageList;
-import com.persagy.apm.model.dto.GroupManagementDTO;
-import com.persagy.apm.model.vo.GroupManagementVo;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.io.IOUtils;
@@ -36,6 +36,7 @@ import org.elasticsearch.search.builder.SearchSourceBuilder;
 import org.elasticsearch.search.sort.SortOrder;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 
 import java.io.File;
@@ -46,7 +47,7 @@ import java.util.*;
 import java.util.stream.Collectors;
 
 import static cn.hutool.core.util.StrUtil.*;
-import static com.persagy.apm.constants.ElasticStrConstant.INDEX_NAME;
+import static com.persagy.apm.alarmservice.common.constants.ElasticStrConstant.INDEX_NAME;
 import static org.apache.commons.lang3.math.NumberUtils.INTEGER_ONE;
 import static org.apache.commons.lang3.math.NumberUtils.INTEGER_ZERO;
 
@@ -63,6 +64,9 @@ public class GroupManagementServiceImpl implements GroupManagementService {
     @Autowired
     private RestHighLevelClient client;
 
+    @Value("${elasticsearch.maxSearchCount}")
+    private int maxSearchCount;
+
     @Override
     public PageList<GroupManagementVo> equipsQuery(GroupManagementDTO managementDTO) {
         List<GroupManagementVo> groupManagementVoList = new ArrayList<>();
@@ -302,7 +306,7 @@ public class GroupManagementServiceImpl implements GroupManagementService {
     @Override
     public List<GroupManagementVo> getEquipList(GroupManagementDTO groupManagementDTO) {
         groupManagementDTO.setCurrent(INTEGER_ONE);
-        groupManagementDTO.setSize(5000);
+        groupManagementDTO.setSize(maxSearchCount);
         PageList<GroupManagementVo> groupManagementVoPageList = this.equipsQuery(groupManagementDTO);
         return groupManagementVoPageList.getRecords();
     }

+ 8 - 6
src/main/java/com/persagy/apm/alarmservice/monitorindicator/controller/MonitorIndicatorController.java

@@ -1,14 +1,16 @@
-package com.persagy.apm.alarmservice.monitorindicator.controller;
+package com.persagy.apm.alarmservice.group.monitorindicator.controller;
 
-import com.persagy.apm.alarmservice.monitorindicator.service.IMonitorIndicatorService;
+import com.persagy.apm.alarmservice.group.monitorindicator.model.ConvertMonitorIndicatorTool;
+import com.persagy.apm.alarmservice.group.monitorindicator.model.MonitorIndicator;
+import com.persagy.apm.alarmservice.group.monitorindicator.model.dto.*;
+import com.persagy.apm.alarmservice.group.monitorindicator.model.vo.MonitorIndicatorItemVO;
+import com.persagy.apm.alarmservice.group.monitorindicator.model.vo.MonitorIndicatorListItemVO;
+import com.persagy.apm.alarmservice.group.monitorindicator.model.vo.MonitorIndicatorRecordInfoItem;
+import com.persagy.apm.alarmservice.group.monitorindicator.service.IMonitorIndicatorService;
 
 import org.springframework.beans.factory.annotation.Autowired;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-import io.swagger.annotations.ApiParam;
-import com.persagy.apm.alarmservice.monitorindicator.model.*;
-import com.persagy.apm.alarmservice.monitorindicator.model.vo.*;
-import com.persagy.apm.alarmservice.monitorindicator.model.dto.*;
 import com.persagy.apm.common.response.*;
 import com.persagy.apm.common.utils.ResultHelper;
 import org.springframework.validation.annotation.Validated;

+ 2 - 2
src/main/java/com/persagy/apm/alarmservice/monitorindicator/dao/MonitorIndicatorMapper.java

@@ -1,6 +1,6 @@
-package com.persagy.apm.alarmservice.monitorindicator.dao;
+package com.persagy.apm.alarmservice.group.monitorindicator.dao;
 
-import com.persagy.apm.alarmservice.monitorindicator.model.MonitorIndicator;
+import com.persagy.apm.alarmservice.group.monitorindicator.model.MonitorIndicator;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import org.apache.ibatis.annotations.Mapper;
 

+ 5 - 3
src/main/java/com/persagy/apm/alarmservice/monitorindicator/model/ConvertMonitorIndicatorTool.java

@@ -1,10 +1,12 @@
-package com.persagy.apm.alarmservice.monitorindicator.model;
+package com.persagy.apm.alarmservice.group.monitorindicator.model;
 
+import com.persagy.apm.alarmservice.group.monitorindicator.model.dto.AddMonitorIndicatorDTO;
+import com.persagy.apm.alarmservice.group.monitorindicator.model.dto.UpdateMonitorIndicatorDTO;
+import com.persagy.apm.alarmservice.group.monitorindicator.model.vo.MonitorIndicatorItemVO;
+import com.persagy.apm.alarmservice.group.monitorindicator.model.vo.MonitorIndicatorListItemVO;
 import org.mapstruct.*;
 import org.mapstruct.MappingTarget;
 import org.mapstruct.factory.Mappers;
-import com.persagy.apm.alarmservice.monitorindicator.model.vo.*;
-import com.persagy.apm.alarmservice.monitorindicator.model.dto.*;
 
 import java.util.List;
 

+ 1 - 2
src/main/java/com/persagy/apm/alarmservice/monitorindicator/model/MonitorIndicator.java

@@ -1,4 +1,4 @@
-package com.persagy.apm.alarmservice.monitorindicator.model;
+package com.persagy.apm.alarmservice.group.monitorindicator.model;
 
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
@@ -9,7 +9,6 @@ import lombok.Data;
 import lombok.EqualsAndHashCode;
 import com.persagy.apm.common.model.entity.AuditableEntity;
 import java.io.Serializable;
-import java.util.Date;
 import java.util.List;
 
 /**

+ 1 - 1
src/main/java/com/persagy/apm/alarmservice/monitorindicator/model/dto/AddMonitorIndicatorDTO.java

@@ -1,4 +1,4 @@
-package com.persagy.apm.alarmservice.monitorindicator.model.dto;
+package com.persagy.apm.alarmservice.group.monitorindicator.model.dto;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;

+ 1 - 1
src/main/java/com/persagy/apm/alarmservice/monitorindicator/model/dto/DeleteMonitorIndicatorDTO.java

@@ -1,4 +1,4 @@
-package com.persagy.apm.alarmservice.monitorindicator.model.dto;
+package com.persagy.apm.alarmservice.group.monitorindicator.model.dto;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;

+ 1 - 1
src/main/java/com/persagy/apm/alarmservice/monitorindicator/model/dto/PageQueryMonitorIndicatorDTO.java

@@ -1,4 +1,4 @@
-package com.persagy.apm.alarmservice.monitorindicator.model.dto;
+package com.persagy.apm.alarmservice.group.monitorindicator.model.dto;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;

+ 1 - 1
src/main/java/com/persagy/apm/alarmservice/monitorindicator/model/dto/QueryMonitorIndicatorDTO.java

@@ -1,4 +1,4 @@
-package com.persagy.apm.alarmservice.monitorindicator.model.dto;
+package com.persagy.apm.alarmservice.group.monitorindicator.model.dto;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;

+ 1 - 1
src/main/java/com/persagy/apm/alarmservice/monitorindicator/model/dto/QueryMonitorIndicatorDetailDTO.java

@@ -1,4 +1,4 @@
-package com.persagy.apm.alarmservice.monitorindicator.model.dto;
+package com.persagy.apm.alarmservice.group.monitorindicator.model.dto;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;

+ 1 - 1
src/main/java/com/persagy/apm/alarmservice/monitorindicator/model/dto/QueryMonitorIndicatorRecordInfoDTO.java

@@ -1,4 +1,4 @@
-package com.persagy.apm.alarmservice.monitorindicator.model.dto;
+package com.persagy.apm.alarmservice.group.monitorindicator.model.dto;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;

+ 1 - 1
src/main/java/com/persagy/apm/alarmservice/monitorindicator/model/dto/UpdateMonitorIndicatorDTO.java

@@ -1,4 +1,4 @@
-package com.persagy.apm.alarmservice.monitorindicator.model.dto;
+package com.persagy.apm.alarmservice.group.monitorindicator.model.dto;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;

+ 1 - 1
src/main/java/com/persagy/apm/alarmservice/monitorindicator/model/vo/MonitorIndicatorItemVO.java

@@ -1,4 +1,4 @@
-package com.persagy.apm.alarmservice.monitorindicator.model.vo;
+package com.persagy.apm.alarmservice.group.monitorindicator.model.vo;
 
 import com.persagy.apm.common.model.vo.EnumVO;
 import io.swagger.annotations.ApiModel;

+ 1 - 1
src/main/java/com/persagy/apm/alarmservice/monitorindicator/model/vo/MonitorIndicatorListItemVO.java

@@ -1,4 +1,4 @@
-package com.persagy.apm.alarmservice.monitorindicator.model.vo;
+package com.persagy.apm.alarmservice.group.monitorindicator.model.vo;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;

+ 1 - 2
src/main/java/com/persagy/apm/alarmservice/monitorindicator/model/vo/MonitorIndicatorRecordInfoItem.java

@@ -1,4 +1,4 @@
-package com.persagy.apm.alarmservice.monitorindicator.model.vo;
+package com.persagy.apm.alarmservice.group.monitorindicator.model.vo;
 
 import com.fasterxml.jackson.annotation.JsonInclude;
 import com.persagy.apm.common.model.vo.GraphItemVO;
@@ -6,7 +6,6 @@ import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
-import java.util.Date;
 import java.util.List;
 
 /**

+ 1 - 1
src/main/java/com/persagy/apm/alarmservice/monitorindicator/model/vo/MonitorIndicatorReferenceItem.java

@@ -1,4 +1,4 @@
-package com.persagy.apm.alarmservice.monitorindicator.model.vo;
+package com.persagy.apm.alarmservice.group.monitorindicator.model.vo;
 
 import com.fasterxml.jackson.annotation.JsonInclude;
 import com.persagy.apm.common.model.vo.GraphItemVO;

+ 7 - 6
src/main/java/com/persagy/apm/alarmservice/monitorindicator/service/IMonitorIndicatorService.java

@@ -1,12 +1,13 @@
-package com.persagy.apm.alarmservice.monitorindicator.service;
+package com.persagy.apm.alarmservice.group.monitorindicator.service;
 
-import com.persagy.apm.alarmservice.monitorindicator.model.*;
-import com.persagy.apm.alarmservice.monitorindicator.model.dto.*;
+import com.persagy.apm.alarmservice.group.monitorindicator.model.MonitorIndicator;
+import com.persagy.apm.alarmservice.group.monitorindicator.model.dto.AddMonitorIndicatorDTO;
+import com.persagy.apm.alarmservice.group.monitorindicator.model.dto.PageQueryMonitorIndicatorDTO;
+import com.persagy.apm.alarmservice.group.monitorindicator.model.dto.QueryMonitorIndicatorDTO;
+import com.persagy.apm.alarmservice.group.monitorindicator.model.dto.UpdateMonitorIndicatorDTO;
 import java.util.List;
 import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.persagy.apm.alarmservice.monitorindicator.model.vo.MonitorIndicatorListItemVO;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
+import com.persagy.apm.alarmservice.group.monitorindicator.model.vo.MonitorIndicatorListItemVO;
 
 /**
  * 监测指标(MonitorIndicator) service接口

+ 13 - 13
src/main/java/com/persagy/apm/alarmservice/monitorindicator/service/impl/MonitorIndicatorServiceImpl.java

@@ -1,22 +1,22 @@
-package com.persagy.apm.alarmservice.monitorindicator.service.impl;
+package com.persagy.apm.alarmservice.group.monitorindicator.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.google.common.base.CaseFormat;
-import com.persagy.apm.alarmservice.calculatemethod.model.CalculateMethod;
-import com.persagy.apm.alarmservice.calculatemethod.model.dto.QueryCalculateMethodDTO;
-import com.persagy.apm.alarmservice.calculatemethod.service.ICalculateMethodService;
-import com.persagy.apm.alarmservice.monitorindicator.dao.MonitorIndicatorMapper;
-import com.persagy.apm.alarmservice.monitorindicator.model.ConvertMonitorIndicatorTool;
-import com.persagy.apm.alarmservice.monitorindicator.model.MonitorIndicator;
-import com.persagy.apm.alarmservice.monitorindicator.model.dto.AddMonitorIndicatorDTO;
-import com.persagy.apm.alarmservice.monitorindicator.model.dto.PageQueryMonitorIndicatorDTO;
-import com.persagy.apm.alarmservice.monitorindicator.model.dto.QueryMonitorIndicatorDTO;
-import com.persagy.apm.alarmservice.monitorindicator.model.dto.UpdateMonitorIndicatorDTO;
-import com.persagy.apm.alarmservice.monitorindicator.model.vo.MonitorIndicatorListItemVO;
-import com.persagy.apm.alarmservice.monitorindicator.service.IMonitorIndicatorService;
+import com.persagy.apm.alarmservice.group.calculatemethod.model.CalculateMethod;
+import com.persagy.apm.alarmservice.group.calculatemethod.model.dto.QueryCalculateMethodDTO;
+import com.persagy.apm.alarmservice.group.calculatemethod.service.ICalculateMethodService;
+import com.persagy.apm.alarmservice.group.monitorindicator.model.MonitorIndicator;
+import com.persagy.apm.alarmservice.group.monitorindicator.model.dto.AddMonitorIndicatorDTO;
+import com.persagy.apm.alarmservice.group.monitorindicator.model.dto.PageQueryMonitorIndicatorDTO;
+import com.persagy.apm.alarmservice.group.monitorindicator.model.dto.QueryMonitorIndicatorDTO;
+import com.persagy.apm.alarmservice.group.monitorindicator.model.dto.UpdateMonitorIndicatorDTO;
+import com.persagy.apm.alarmservice.group.monitorindicator.dao.MonitorIndicatorMapper;
+import com.persagy.apm.alarmservice.group.monitorindicator.model.ConvertMonitorIndicatorTool;
+import com.persagy.apm.alarmservice.group.monitorindicator.model.vo.MonitorIndicatorListItemVO;
+import com.persagy.apm.alarmservice.group.monitorindicator.service.IMonitorIndicatorService;
 import com.persagy.apm.common.constant.enums.ValidEnum;
 import com.persagy.apm.common.context.AppContext;
 import com.persagy.apm.common.model.dto.Sort;

+ 21 - 18
src/main/java/com/persagy/apm/alarmservice/alarmcondition/controller/AlarmConditionController.java

@@ -1,13 +1,16 @@
-package com.persagy.apm.alarmservice.alarmcondition.controller;
+package com.persagy.apm.alarmservice.project.alarmcondition.controller;
 
-import com.persagy.apm.alarmservice.alarmcondition.service.IAlarmConditionService;
+import com.persagy.apm.alarmservice.project.alarmcondition.model.Formula;
+import com.persagy.apm.alarmservice.project.alarmcondition.service.IAlarmConditionService;
 
+import com.persagy.apm.alarmservice.project.alarmcondition.model.AlarmCondition;
+import com.persagy.apm.alarmservice.project.alarmcondition.model.ConvertAlarmConditionTool;
+import com.persagy.apm.alarmservice.project.alarmcondition.model.dto.*;
+import com.persagy.apm.alarmservice.project.alarmcondition.model.vo.AlarmConditionItemVO;
+import com.persagy.apm.alarmservice.project.alarmcondition.model.vo.AlarmConditionListItemVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-import com.persagy.apm.alarmservice.alarmcondition.model.*;
-import com.persagy.apm.alarmservice.alarmcondition.model.vo.*;
-import com.persagy.apm.alarmservice.alarmcondition.model.dto.*;
 import com.persagy.apm.common.response.*;
 import com.persagy.apm.common.utils.ResultHelper;
 import org.springframework.validation.annotation.Validated;
@@ -15,10 +18,11 @@ import org.springframework.web.bind.annotation.*;
 import springfox.documentation.annotations.ApiIgnore;
 
 import javax.validation.Valid;
-import java.util.List;
+import java.util.*;
 
 /**
  * 报警条件控制层
+ *
  * @author lixing
  * @version V1.0 2021-09-08 22:30:38
  */
@@ -30,16 +34,16 @@ public class AlarmConditionController {
     @Autowired
     private IAlarmConditionService alarmConditionService;
 
-	@ApiOperation(value = "创建报警条件")
+    @ApiOperation(value = "创建报警条件")
     @ApiIgnore
-	@PostMapping("/create")
-	public CommonResult<ApmResponseUpsertVO> createAlarmCondition(
-	        @Valid @RequestBody AddAlarmConditionDTO addAlarmConditionDTO) {
-        String id = alarmConditionService.createAlarmCondition(addAlarmConditionDTO);
-        return ResultHelper.single(new ApmResponseUpsertVO(id));
-	}
-	
-	@ApiOperation(value = "报警条件详情")
+    @PostMapping("/create")
+    public CommonResult<ApmResponseUpsertVO> createAlarmCondition(
+            @Valid @RequestBody AddAlarmConditionDTO addAlarmConditionDTO) {
+        Map<String, Object> alarmCondition = alarmConditionService.createAlarmCondition(addAlarmConditionDTO);
+        return ResultHelper.single(new ApmResponseUpsertVO((String) alarmCondition.get("id")));
+    }
+
+    @ApiOperation(value = "报警条件详情")
     @ApiIgnore
     @PostMapping("/get")
     public CommonResult<AlarmConditionItemVO> queryAlarmConditionDetail(
@@ -83,11 +87,10 @@ public class AlarmConditionController {
     @PostMapping("/validate")
     public CommonResult<Boolean> validate(
             @Valid @RequestBody ValidateAlarmConditionDTO validateAlarmConditionDTO) {
-        StringBuffer calculateString = new StringBuffer();
+        List<Formula> formula = validateAlarmConditionDTO.getFrontend().getFormula();
+        return alarmConditionService.validate(formula);
 
-        return ResultHelper.success();
     }
-
     //@ApiOperation(value = "报警条件列表, 分页查询")
     //@PostMapping("/query")
     //public CommonResult<PageList<AlarmConditionListItemVO>> queryAlarmCondition(

+ 2 - 2
src/main/java/com/persagy/apm/alarmservice/alarmcondition/dao/AlarmConditionMapper.java

@@ -1,6 +1,6 @@
-package com.persagy.apm.alarmservice.alarmcondition.dao;
+package com.persagy.apm.alarmservice.project.alarmcondition.dao;
 
-import com.persagy.apm.alarmservice.alarmcondition.model.AlarmCondition;
+import com.persagy.apm.alarmservice.project.alarmcondition.model.AlarmCondition;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import org.apache.ibatis.annotations.Mapper;
 

+ 11 - 9
src/main/java/com/persagy/apm/alarmservice/alarmcondition/model/AlarmCondition.java

@@ -1,45 +1,47 @@
-package com.persagy.apm.alarmservice.alarmcondition.model;
+package com.persagy.apm.alarmservice.project.alarmcondition.model;
 
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
+import com.persagy.apm.alarmservice.group.calculatemethod.model.dto.CalculateMethodDTO;
+import com.persagy.apm.common.model.entity.AuditableEntity;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
-import com.persagy.apm.common.model.entity.AuditableEntity;
+
 import java.io.Serializable;
-import java.util.Date;
+import java.util.List;
 
 /**
  * 报警条件(AlarmCondition)实体类
+ *
  * @author lixing
  * @version V1.0 2021-09-08 22:30:38
  */
 @EqualsAndHashCode(callSuper = true)
 @Data
 @ApiModel(description = "报警条件")
-
 public class AlarmCondition extends AuditableEntity<AlarmCondition> implements Serializable {
     private static final long serialVersionUID = 268657175929005281L;
 
     @TableField(typeHandler = FastjsonTypeHandler.class)
     @ApiModelProperty("包含的参数")
-    private Object infoCodes;
+    private List<String> infoCodes;
 
     @TableField(typeHandler = FastjsonTypeHandler.class)
     @ApiModelProperty("前端展示")
-    private Object frontend;
+    private List<List<CalculateMethodDTO>> frontend;
 
     @TableField(typeHandler = FastjsonTypeHandler.class)
     @ApiModelProperty("后端使用")
     private Object backend;
-    
+
     @ApiModelProperty("触发时长")
     private Integer triggerUphold;
-    
+
     @ApiModelProperty("报警等级")
     private String alarmLevel;
-    
+
 
     public static String PROP_INFO_CODES = "info_codes";
     public static String PROP_FRONTEND = "frontend";

+ 0 - 0
src/main/java/com/persagy/apm/alarmservice/alarmcondition/model/ConvertAlarmConditionTool.java


Some files were not shown because too many files changed in this diff