Преглед изворни кода

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

xujiaheng пре 3 година
родитељ
комит
29c31df340

+ 6 - 0
pom.xml

@@ -125,5 +125,11 @@
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-starter-actuator</artifactId>
     </dependency>
+
+    <dependency>
+        <groupId>com.persagy.apm</groupId>
+        <artifactId>alarm-data-starter</artifactId>
+        <version>v1.0.0</version>
+    </dependency>
 </dependencies>
 </project>

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

@@ -7,8 +7,10 @@ import com.persagy.apm.alarmservice.alarmrecord.model.vo.AlarmRecordListItem;
 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.service.AlarmRecordServiceImpl;
 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;
@@ -29,6 +31,8 @@ import java.util.List;
 @RestController
 @RequestMapping("alarm_records")
 public class AlarmRecordController {
+    @Autowired
+    AlarmRecordServiceImpl alarmRecordService;
 
 	@ApiOperation(value = "当前报警列表")
 	@PostMapping("/current_list")

+ 14 - 0
src/main/java/com/persagy/apm/alarmservice/group/alarmrule/controller/GroupAlarmRuleController.java

@@ -4,6 +4,10 @@ import com.persagy.apm.alarmservice.alarmcondition.service.IAlarmConditionServic
 import com.persagy.apm.alarmservice.group.alarmrule.dao.GroupAlarmRuleMapper;
 import com.persagy.apm.alarmservice.group.alarmrule.service.IGroupAlarmRuleService;
 
+import com.persagy.apm.energyalarmstarter.alarmdata.feign.DmpResult;
+import com.persagy.apm.energyalarmstarter.alarmdata.model.dto.common.QueryAlarmConfigDTO;
+import com.persagy.apm.energyalarmstarter.alarmdata.model.vo.AlarmConfigItem;
+import com.persagy.apm.energyalarmstarter.alarmdata.service.AlarmConfigServiceImpl;
 import org.springframework.beans.factory.annotation.Autowired;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -99,6 +103,16 @@ public class GroupAlarmRuleController {
     //    return ResultHelper.multi(pagedResultList);
     //}
 
+    @Autowired
+    AlarmConfigServiceImpl alarmConfigService;
+
+    @ApiOperation(value = "")
+    @PostMapping("/test")
+    public void test() throws Exception{
+        QueryAlarmConfigDTO queryAlarmConfigDTO = new QueryAlarmConfigDTO();
+        DmpResult<List<AlarmConfigItem>> query = alarmConfigService.query(queryAlarmConfigDTO);
+        System.out.println(query);
+    }
 
 }
 

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

@@ -68,6 +68,10 @@ public class GroupManagementServiceImpl implements GroupManagementService {
         BoolQueryBuilder queryBuilder = QueryBuilders.boolQuery();
         queryBuilder.must(QueryBuilders.matchQuery("class_code",managementDTO.getClassCode()));
         queryBuilder.must(QueryBuilders.matchPhraseQuery("infos",managementDTO.getCondition()));
+        //新增根据项目id查询设备
+        if(StringUtils.isNotEmpty(managementDTO.getProjectId())){
+            queryBuilder.must(QueryBuilders.termsQuery("project_id",managementDTO.getProjectId()));
+        }
         //模糊查询使用
         if(StringUtils.isNotEmpty(managementDTO.getLocalName())) {
             queryBuilder.must(QueryBuilders.matchQuery("local_name", managementDTO.getLocalName())

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

@@ -0,0 +1,47 @@
+package com.persagy.apm.common.aspect;
+
+import com.persagy.apm.common.context.poems.PoemsContext;
+import com.persagy.apm.energyalarmstarter.alarmdata.feign.AlarmUrlParam;
+import org.apache.commons.lang.StringUtils;
+import org.aspectj.lang.JoinPoint;
+import org.aspectj.lang.annotation.Aspect;
+import org.aspectj.lang.annotation.Before;
+import org.aspectj.lang.annotation.Pointcut;
+import org.springframework.stereotype.Component;
+import org.springframework.util.CollectionUtils;
+
+import java.util.Arrays;
+import java.util.List;
+
+/**
+ * 调用alarm-data-starter接口时使用的切面
+ *
+ * @author lixing
+ * @version V1.0 2021/9/16 10:57 下午
+ **/
+@Aspect
+@Component
+public class AlarmDataAspect {
+    @Pointcut("execution(public * com.persagy.apm.energyalarmstarter.alarmdata.service.*.*(..))")
+    public void feignPointCut() {
+    }
+
+    @Before("feignPointCut()")
+    public void before(JoinPoint joinPoint) {
+        List<Object> args = Arrays.asList(joinPoint.getArgs());
+        if (CollectionUtils.isEmpty(args)) {
+            return;
+        }
+        for (Object arg : args) {
+            if (!(arg instanceof AlarmUrlParam)) {
+                continue;
+            }
+            // 通用参数配置
+            AlarmUrlParam argParam = (AlarmUrlParam) arg;
+            argParam.setProjectId(PoemsContext.getContext().getProjectId());
+            argParam.setUserId(PoemsContext.getContext().getUserId());
+            argParam.setGroupCode(PoemsContext.getContext().getGroupCode());
+            argParam.setAppId("energy-alarm-service");
+        }
+    }
+}

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

@@ -15,6 +15,9 @@ import javax.validation.constraints.NotBlank;
 @Data
 public class GroupManagementDTO{
 
+    @ApiModelProperty("项目id")
+    private String projectId;
+
     @ApiModelProperty("设备名称")
     private String localName;