Bläddra i källkod

合并对中控的修改

lixing 4 år sedan
förälder
incheckning
16fe6d565a

+ 1 - 2
dmp-alarm/src/main/java/com/persagy/dmp/alarm/client/PhysicalWorldClient.java

@@ -3,12 +3,11 @@ package com.persagy.dmp.alarm.client;
 import com.fasterxml.jackson.databind.node.ObjectNode;
 import com.persagy.common.criteria.JacksonCriteria;
 import com.persagy.common.web.PagedResponse;
+import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.stereotype.Service;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.cloud.openfeign.FeignClient;
-
 
 /**
  * @description: 对接物理世界接口

+ 5 - 1
dmp-alarm/src/main/java/com/persagy/dmp/alarm/config/QueryAspect.java

@@ -57,8 +57,12 @@ public class QueryAspect {
 		for (Object arg : args) {
 			if (arg instanceof JacksonCriteria) {
 				JacksonCriteria criteria = (JacksonCriteria) arg;
-				criteria.add("groupCode", request.getParameter("groupCode"));
 				/* 查询接口中,参数为0代表查询所有;报警条目查询例外,0代表查询通用*/
+				// 查询参数中不包含groupCode,且param中groupCode不等于0,将groupCode放入查询条件
+				if (StringUtils.isEmpty(criteria.getString("groupCode")) &&
+						!"0".equals(request.getParameter("groupCode"))) {
+					criteria.add("groupCode", request.getParameter("groupCode"));
+				}
 				// 查询参数中不包含projectId,且param中projectId不等于0,将projectId放入查询条件
 				if (StringUtils.isEmpty(criteria.getString("projectId")) &&
 						!"0".equals(request.getParameter("projectId"))) {

+ 6 - 3
dmp-alarm/src/main/java/com/persagy/dmp/alarm/entity/AlarmRecord.java

@@ -5,12 +5,12 @@ import com.vladmihalcea.hibernate.type.json.JsonStringType;
 import lombok.Getter;
 import lombok.Setter;
 import com.persagy.dmp.alarm.model.AlarmRecordModel;
-import org.hibernate.annotations.GenericGenerator;
-import org.hibernate.annotations.Type;
-import org.hibernate.annotations.TypeDef;
+import org.hibernate.annotations.*;
 
+import javax.persistence.Entity;
 import javax.persistence.GeneratedValue;
 import javax.persistence.*;
+import javax.persistence.Table;
 import java.util.Date;
 
 @Setter
@@ -18,6 +18,8 @@ import java.util.Date;
 @Entity
 @Table(name = "alarm_record")
 @TypeDef(name = "json", typeClass = JsonStringType.class)
+@DynamicInsert
+@DynamicUpdate
 public class AlarmRecord {
 
 	@Id
@@ -41,6 +43,7 @@ public class AlarmRecord {
 	/** 处理方式 */
 	private Integer treatMode;
 	/** 处理状态 */
+	@Column(columnDefinition="int default 1")
 	private Integer treatState;
 	private String createUser;
 	@Type(type = "json")

+ 7 - 3
dmp-alarm/src/main/java/com/persagy/dmp/alarm/entity/AlarmTarget.java

@@ -5,12 +5,12 @@ import com.vladmihalcea.hibernate.type.json.JsonStringType;
 import lombok.Getter;
 import lombok.Setter;
 import com.persagy.dmp.alarm.model.AlarmTargetModel;
-import org.hibernate.annotations.GenericGenerator;
-import org.hibernate.annotations.Type;
-import org.hibernate.annotations.TypeDef;
+import org.hibernate.annotations.*;
 
+import javax.persistence.Entity;
 import javax.persistence.GeneratedValue;
 import javax.persistence.*;
+import javax.persistence.Table;
 import java.util.Date;
 
 @Setter
@@ -18,6 +18,8 @@ import java.util.Date;
 @Entity
 @TypeDef(name = "json", typeClass = JsonStringType.class)
 @Table(name = "alarm_target")
+@DynamicInsert
+@DynamicUpdate
 public class AlarmTarget {
 
 	@Id
@@ -30,8 +32,10 @@ public class AlarmTarget {
 	@Type(type = "json")
 	@Column(name = "`condition`")
 	private ObjectNode condition;
+	@Column(columnDefinition="int default 0")
 	private Integer concern;
 	private String level;
+	@Column(columnDefinition="int default 1")
 	private Integer open;
 	private String createUser;
 	private Date createTime;

+ 1 - 3
dmp-alarm/src/main/java/com/persagy/dmp/alarm/jms/JmsConfig.java

@@ -58,11 +58,9 @@ public class JmsConfig {
 		return BindingBuilder.bind(alarmQueue()).to(exchange()).with(rwdRoutingKey);
 	}
 
-
 	@RabbitListener(queues = "${persagy.dmp.alarm.queue}")    //监听器监听指定的Queue
-	public void processC(DmpMessage message) {
+	public void process(DmpMessage message) {
 		log.info("============================== Receive:" + JacksonMapper.toSimpleJson(message));
 		messageProcesser.listen(message);
 	}
-
 }

+ 1 - 1
dmp-alarm/src/main/java/com/persagy/dmp/alarm/jms/executor/AlarmTargetCreateExecutor.java

@@ -28,7 +28,7 @@ public class AlarmTargetCreateExecutor implements MessageExecutor {
 
         /* 验证消息是否符合要求 */
         CheckRequiredParam.check(message, "targetId", "projectId", "groupCode");
-        MapResponse response = alarmConfigService.batchUpdateWhenTargetUpdate(message.getTargetId(), message.getProjectId(), message.getGroupCode());
+        MapResponse response = alarmConfigService.batchUpdateWhenTargetUpdate(message.getTargetId(), message.getProjectId(), message.getGroupCode(), message.getAppId());
         if (BaseResponse.FAIL.equals(response.getResult())) {
             log.error("消费AlarmTargetCreate消息异常,{}", response.getMessage());
         }

+ 1 - 1
dmp-alarm/src/main/java/com/persagy/dmp/alarm/jms/executor/AlarmTargetUpdateExecutor.java

@@ -29,7 +29,7 @@ public class AlarmTargetUpdateExecutor implements MessageExecutor {
         /* 验证消息是否符合要求 */
         CheckRequiredParam.check(message, "targetId", "projectId", "groupCode");
 
-        MapResponse response = alarmConfigService.batchUpdateWhenTargetUpdate(message.getTargetId(), message.getProjectId(), message.getGroupCode());
+        MapResponse response = alarmConfigService.batchUpdateWhenTargetUpdate(message.getTargetId(), message.getProjectId(), message.getGroupCode(), message.getAppId());
         if (BaseResponse.FAIL.equals(response.getResult())) {
             log.error("消费AlarmTargetUpdate消息异常,{}", response.getMessage());
         }

+ 3 - 3
dmp-alarm/src/main/java/com/persagy/dmp/alarm/service/AlarmConfigService.java

@@ -186,7 +186,7 @@ public class AlarmConfigService extends AlarmBaseService {
     public MapResponse batchUpdateWhenItemUpdate(String itemCode, String projectId, String groupCode) {
         MapResponse response = new MapResponse();
         // 查询报警条目
-        AlarmItemModel itemModel = alarmItemService.getAlarmItemByItemCode(itemCode);
+        AlarmItemModel itemModel = alarmItemService.getAlarmItemByItemCode(itemCode, projectId, groupCode, null);
         if (itemModel == null) {
             response.setFail("自动生成报警定义失败,获取不到对应的报警条目!itemCode:" + itemCode);
             return response;
@@ -246,7 +246,7 @@ public class AlarmConfigService extends AlarmBaseService {
      * @version: V1.0
      */
     @Transactional
-    public MapResponse batchUpdateWhenTargetUpdate(String targetId, String projectId, String groupCode) {
+    public MapResponse batchUpdateWhenTargetUpdate(String targetId, String projectId, String groupCode, String appId) {
         MapResponse response = new MapResponse();
         AlarmTarget alarmTarget = alarmTargetService.get(targetId);
         if (alarmTarget == null) {
@@ -257,7 +257,7 @@ public class AlarmConfigService extends AlarmBaseService {
         String classCode = alarmTarget.getClassCode();
 
         /* 获取到报警匹配条件和报警条目对象 */
-        AlarmItemModel itemModel = alarmItemService.getAlarmItemByItemCode(itemCode);
+        AlarmItemModel itemModel = alarmItemService.getAlarmItemByItemCode(itemCode, projectId, groupCode, appId);
         if (itemModel == null) {
             response.setFail("自动生成报警定义失败,获取不到对应的报警条目!itemCode:" + itemCode);
             return response;

+ 11 - 9
dmp-alarm/src/main/java/com/persagy/dmp/alarm/service/AlarmItemService.java

@@ -15,6 +15,7 @@ import com.persagy.dmp.alarm.model.AlarmItemModel;
 import com.persagy.dmp.alarm.repository.AlarmItemRepository;
 import com.persagy.dmp.rwd.model.DmpMessage;
 import com.querydsl.core.types.dsl.BooleanExpression;
+import org.apache.commons.lang.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
@@ -143,14 +144,6 @@ public class AlarmItemService extends AlarmBaseService {
         response.add(msg);
         return response;
     }
-    //
-    //	@Transactional
-    //	public MapResponse delete(AlarmItemModel param) {
-    //		MapResponse response = new MapResponse();
-    //		// TODO
-    //		alarmItemRepository.deleteById(param.getId());
-    //		return response;
-    //	}
 
     /**
      * @description: 根据itemCodes获取itemCode, alarmItem的映射map
@@ -183,9 +176,18 @@ public class AlarmItemService extends AlarmBaseService {
         );
     }
 
-    public AlarmItemModel getAlarmItemByItemCode(String itemCode) {
+    public AlarmItemModel getAlarmItemByItemCode(String itemCode, String projectId, String groupCode, String appId) {
         JacksonCriteria criteria = JacksonCriteria.newInstance();
         criteria.add("itemCode", itemCode);
+        if (StringUtils.isNotEmpty(projectId)) {
+            criteria.add("projectId", projectId);
+        }
+        if (StringUtils.isNotEmpty(groupCode)) {
+            criteria.add("groupCode", groupCode);
+        }
+        if (StringUtils.isNotEmpty(appId)) {
+            criteria.add("appId", appId);
+        }
         List<AlarmItemModel> alarmItemModels = queryList(criteria);
         if (CollectionUtils.isEmpty(alarmItemModels)) {
             return null;

+ 189 - 182
dmp-alarm/src/main/java/com/persagy/dmp/alarm/service/AlarmRecordService.java

@@ -5,6 +5,7 @@ import com.fasterxml.jackson.databind.node.ObjectNode;
 import com.persagy.common.criteria.CriteriaUtils;
 import com.persagy.common.criteria.JacksonCriteria;
 import com.persagy.common.date.DateUtils;
+import com.persagy.common.json.JacksonMapper;
 import com.persagy.common.web.MapResponse;
 import com.persagy.common.web.PagedResponse;
 import com.persagy.dmp.alarm.entity.AlarmRecord;
@@ -30,42 +31,42 @@ import java.util.stream.Collectors;
 @Service
 public class AlarmRecordService extends AlarmBaseService {
 
-	@Autowired
-	private AlarmRecordRepository alarmRecordRepository;
-	@Autowired
-	private AlarmLogService alarmLogService;
-	@Autowired
-	private CriteriaUtils criteriaUtils;
+    @Autowired
+    private AlarmRecordRepository alarmRecordRepository;
+    @Autowired
+    private AlarmLogService alarmLogService;
+    @Autowired
+    private CriteriaUtils criteriaUtils;
 
-	private List<BooleanExpression> parse(ObjectNode criteria) {
-		// TODO
-		return null;
-	}
+    private List<BooleanExpression> parse(ObjectNode criteria) {
+        // TODO
+        return null;
+    }
 
-	public PagedResponse<AlarmRecordModel> query(JacksonCriteria criteria) {
-		PagedResponse<AlarmRecord> resp = criteriaUtils.query(QAlarmRecord.alarmRecord, this::parse, criteria);
-		PagedResponse<AlarmRecordModel> result = new PagedResponse<>();
-		result.setCount(resp.getCount());
-		List<AlarmRecord> dataList = resp.getData();
-		// 如果需要查询日志相关的信息,需使用withColumns参数
-		Set<String> withColumns = criteria.getWithColumns();
-		if (dataList != null && dataList.size() > 0) {
-			List<AlarmRecordModel> collect = dataList.stream().map(entity -> {
-				AlarmRecordModel model = entity.toModel();
-				if (withColumns.contains(EnumAlarmRecordWithColumns.ignoreTime.name())) {
-					Date ignoreAlarmTime = alarmLogService.getIgnoreAlarmTime(model.getId());
-					model.setIgnoreTime(ignoreAlarmTime);
-				}
-				if (withColumns.contains(EnumAlarmRecordWithColumns.treatEndTime.name())) {
-					Date treatEndTime = alarmLogService.getTreatEndTime(model.getId());
-					model.setTreatEndTime(treatEndTime);
-				}
-				return model;
-			}).collect(Collectors.toList());
-			result.setData(collect);
-		}
-		return result;
-	}
+    public PagedResponse<AlarmRecordModel> query(JacksonCriteria criteria) {
+        PagedResponse<AlarmRecord> resp = criteriaUtils.query(QAlarmRecord.alarmRecord, this::parse, criteria);
+        PagedResponse<AlarmRecordModel> result = new PagedResponse<>();
+        result.setCount(resp.getCount());
+        List<AlarmRecord> dataList = resp.getData();
+        // 如果需要查询日志相关的信息,需使用withColumns参数
+        Set<String> withColumns = criteria.getWithColumns();
+        if (dataList != null && dataList.size() > 0) {
+            List<AlarmRecordModel> collect = dataList.stream().map(entity -> {
+                AlarmRecordModel model = entity.toModel();
+                if (withColumns != null && withColumns.contains(EnumAlarmRecordWithColumns.ignoreTime.name())) {
+                    Date ignoreAlarmTime = alarmLogService.getIgnoreAlarmTime(model.getId());
+                    model.setIgnoreTime(ignoreAlarmTime);
+                }
+                if (withColumns != null && withColumns.contains(EnumAlarmRecordWithColumns.treatEndTime.name())) {
+                    Date treatEndTime = alarmLogService.getTreatEndTime(model.getId());
+                    model.setTreatEndTime(treatEndTime);
+                }
+                return model;
+            }).collect(Collectors.toList());
+            result.setData(collect);
+        }
+        return result;
+    }
 
     @Transactional
     public MapResponse create(AlarmRecordModel param) {
@@ -75,173 +76,179 @@ public class AlarmRecordService extends AlarmBaseService {
             return response;
         }
         // 必填项校验
-		String checkResult = CheckRequiredParam.check(param, "itemCode", "objId", "level");;
+        String checkResult = CheckRequiredParam.check(param, "itemCode", "objId", "level");
+        ;
         if (!StringUtils.isEmpty(checkResult)) {
-        	response.setFail(checkResult);
-        	return response;
-		}
+            response.setFail(checkResult);
+            return response;
+        }
 
         String id = UUID.randomUUID().toString();
         // 如果创建时,入参包含id,则使用入参中的id。但需要先校验id是否已存在
         if (!StringUtils.isEmpty(param.getId())) {
-			Optional<AlarmRecord> byIdResult = alarmRecordRepository.findById(param.getId());
-			if (byIdResult.isPresent()) {
-				response.setFail("已存在相同id的报警记录!创建失败!");
-			} else {
-				id = param.getId();
-			}
-		}
-		AlarmRecord entity = AlarmRecord.fromModel(param);
+            Optional<AlarmRecord> byIdResult = alarmRecordRepository.findById(param.getId());
+            if (byIdResult.isPresent()) {
+                response.setFail("已存在相同id的报警记录!创建失败!");
+                return response;
+            } else {
+                id = param.getId();
+            }
+        }
+        AlarmRecord entity = AlarmRecord.fromModel(param);
         entity.setId(id);
         entity.setCreateUser(alarmParam.userId);
-        entity.setCreateTime(new Date());
+        if (param.getCreateTime() != null) {
+            entity.setCreateTime(param.getCreateTime());
+        } else {
+            entity.setCreateTime(new Date());
+        }
         entity.setValid(1);
         entity.setProjectId(alarmParam.projectId);
         entity.setGroupCode(alarmParam.groupCode);
         alarmRecordRepository.save(entity);
         response.add("id", entity.getId());
-		// 推送消息至mq
-		DmpMessage msg = new DmpMessage();
-		msg.setMid(UUID.randomUUID().toString());
-		msg.setType(EnumAlarmMessageType.ALARM_RECORD_CREATE.getValue());
-		msg.setGroupCode(DmpParameterStorage.getGroupCode());
-		msg.setProjectId(DmpParameterStorage.getProjectId());
-		msg.setTargetId(entity.getId());
-		msg.add("obj", JSONObject.toJSONString(entity));
-		msg.setAppId(DmpParameterStorage.getAppId());
-		msg.setSendTime(DateUtils.format(new Date()));
-		response.add(msg);
+        // 推送消息至mq
+        DmpMessage msg = new DmpMessage();
+        msg.setMid(UUID.randomUUID().toString());
+        msg.setType(EnumAlarmMessageType.ALARM_RECORD_CREATE.getValue());
+        msg.setGroupCode(DmpParameterStorage.getGroupCode());
+        msg.setProjectId(DmpParameterStorage.getProjectId());
+        msg.setTargetId(entity.getId());
+        msg.add("obj", JacksonMapper.toSimpleJson(entity));
+        msg.setAppId(DmpParameterStorage.getAppId());
+        msg.setSendTime(DateUtils.format(new Date()));
+        response.add(msg);
         return response;
     }
 
-	public AlarmRecord get(String id) {
-		Optional<AlarmRecord> result = alarmRecordRepository.findById(id);
-		return result.orElse(null);
-	}
+    public AlarmRecord get(String id) {
+        Optional<AlarmRecord> result = alarmRecordRepository.findById(id);
+        return result.orElse(null);
+    }
 
 
-	/**
-	 * @description: 初始化日志对象
-	 * @param: param 报警记录参数
-	 * @return: com.persagy.dmp.alarm.model.AlarmLogModel
-	 * @exception:
-	 * @author: lixing
-	 * @company: Persagy Technology Co.,Ltd
-	 * @since: 2020/12/8 3:07 下午
-	 * @version: V1.0
-	 */
-	private AlarmLogModel initAlarmLogModel(AlarmRecordModel param) {
-		AlarmLogModel alarmLogModel = new AlarmLogModel();
-		alarmLogModel.setRecordId(param.getId());
-		alarmLogModel.setCreateTime(new Date());
-		alarmLogModel.setCreateUser(DmpParameterStorage.getUserId());
-		alarmLogModel.setProjectId(DmpParameterStorage.getProjectId());
-		alarmLogModel.setGroupCode(DmpParameterStorage.getGroupCode());
-		return alarmLogModel;
-	}
+    /**
+     * @description: 初始化日志对象
+     * @param: param 报警记录参数
+     * @return: com.persagy.dmp.alarm.model.AlarmLogModel
+     * @exception:
+     * @author: lixing
+     * @company: Persagy Technology Co.,Ltd
+     * @since: 2020/12/8 3:07 下午
+     * @version: V1.0
+     */
+    private AlarmLogModel initAlarmLogModel(AlarmRecordModel param) {
+        AlarmLogModel alarmLogModel = new AlarmLogModel();
+        alarmLogModel.setRecordId(param.getId());
+        alarmLogModel.setCreateTime(new Date());
+        alarmLogModel.setCreateUser(DmpParameterStorage.getUserId());
+        alarmLogModel.setProjectId(DmpParameterStorage.getProjectId());
+        alarmLogModel.setGroupCode(DmpParameterStorage.getGroupCode());
+        return alarmLogModel;
+    }
 
-	@Transactional
-	public MapResponse update(AlarmRecordModel param) {
-		MapResponse response = new MapResponse();
-		AlarmRecord alarmRecord = get(param.getId());
-		if (alarmRecord == null) {
-			response.setFail("无法获取到要更新的数据!");
-			return response;
-		}
-		AlarmParam alarmParam = prepareParam(response);
-		if (alarmParam == null) {
-			return response;
-		}
-		if (param.getName() != null && !param.getName().isEmpty()) {
-			alarmRecord.setName(param.getName());
-		}
-		if (param.getRemark() != null && !param.getRemark().isEmpty()) {
-			alarmRecord.setRemark(param.getRemark());
-		}
-		// 状态修改记录日志
-		if (param.getState() != null) {
-			if (!param.getState().equals(alarmRecord.getState())) {
-				AlarmLogModel alarmLogModel = initAlarmLogModel(param);
-				alarmLogModel.setType(EnumAlarmLogType.ALARMSTATE);
-				alarmLogModel.setNature(alarmRecord.getNature());
-				alarmLogModel.setBefore(alarmRecord.getState());
-				alarmLogModel.setAfter(param.getState());
-				alarmLogService.create(alarmLogModel);
-			}
-			alarmRecord.setState(param.getState());
-		}
-		if (param.getNature() != null) {
-			alarmRecord.setNature(param.getNature());
-		}
-		// 处理方式修改记录日志
-		if (param.getTreatMode() != null) {
-			if (!param.getTreatMode().equals(alarmRecord.getTreatMode())) {
-				AlarmLogModel alarmLogModel = initAlarmLogModel(param);
-				alarmLogModel.setType(EnumAlarmLogType.TREATMODE);
-				alarmLogModel.setNature(alarmRecord.getNature());
-				alarmLogModel.setBefore(alarmRecord.getTreatMode());
-				alarmLogModel.setAfter(param.getTreatMode());
-				alarmLogService.create(alarmLogModel);
-			}
-			alarmRecord.setTreatMode(param.getTreatMode());
-		}
-		// 处理状态更改记录日志
-		if (param.getTreatState() != null) {
-			if (!param.getTreatState().equals(alarmRecord.getTreatState())) {
-				AlarmLogModel alarmLogModel = initAlarmLogModel(param);
-				alarmLogModel.setType(EnumAlarmLogType.TREATSTATE);
-				alarmLogModel.setNature(alarmRecord.getNature());
-				alarmLogModel.setBefore(alarmRecord.getTreatState());
-				alarmLogModel.setAfter(param.getTreatState());
-				alarmLogService.create(alarmLogModel);
-			}
-			alarmRecord.setTreatState(param.getTreatState());
-		}
+    @Transactional
+    public MapResponse update(AlarmRecordModel param) {
+        MapResponse response = new MapResponse();
+        AlarmRecord alarmRecord = get(param.getId());
+        if (alarmRecord == null) {
+            response.setFail("无法获取到要更新的数据!");
+            return response;
+        }
+        AlarmParam alarmParam = prepareParam(response);
+        if (alarmParam == null) {
+            return response;
+        }
+        if (param.getName() != null && !param.getName().isEmpty()) {
+            alarmRecord.setName(param.getName());
+        }
+        if (param.getRemark() != null && !param.getRemark().isEmpty()) {
+            alarmRecord.setRemark(param.getRemark());
+        }
+        // 状态修改记录日志
+        if (param.getState() != null) {
+            if (!param.getState().equals(alarmRecord.getState())) {
+                AlarmLogModel alarmLogModel = initAlarmLogModel(param);
+                alarmLogModel.setType(EnumAlarmLogType.ALARMSTATE);
+                alarmLogModel.setNature(alarmRecord.getNature());
+                alarmLogModel.setBefore(alarmRecord.getState());
+                alarmLogModel.setAfter(param.getState());
+                alarmLogService.create(alarmLogModel);
+            }
+            alarmRecord.setState(param.getState());
+        }
+        if (param.getNature() != null) {
+            alarmRecord.setNature(param.getNature());
+        }
+        // 处理方式修改记录日志
+        if (param.getTreatMode() != null) {
+            if (!param.getTreatMode().equals(alarmRecord.getTreatMode())) {
+                AlarmLogModel alarmLogModel = initAlarmLogModel(param);
+                alarmLogModel.setType(EnumAlarmLogType.TREATMODE);
+                alarmLogModel.setNature(alarmRecord.getNature());
+                alarmLogModel.setBefore(alarmRecord.getTreatMode());
+                alarmLogModel.setAfter(param.getTreatMode());
+                alarmLogService.create(alarmLogModel);
+            }
+            alarmRecord.setTreatMode(param.getTreatMode());
+        }
+        // 处理状态更改记录日志
+        if (param.getTreatState() != null) {
+            if (!param.getTreatState().equals(alarmRecord.getTreatState())) {
+                AlarmLogModel alarmLogModel = initAlarmLogModel(param);
+                alarmLogModel.setType(EnumAlarmLogType.TREATSTATE);
+                alarmLogModel.setNature(alarmRecord.getNature());
+                alarmLogModel.setBefore(alarmRecord.getTreatState());
+                alarmLogModel.setAfter(param.getTreatState());
+                alarmLogService.create(alarmLogModel);
+            }
+            alarmRecord.setTreatState(param.getTreatState());
+        }
 
-		// 恢复值
-		if (param.getEndInfo() != null) {
-			alarmRecord.setEndInfo(param.getEndInfo());
-		}
-		// 恢复时间
-		if (param.getEndTime() != null) {
-			alarmRecord.setEndTime(param.getEndTime());
-		}
-		// 工单id
-		if (param.getOrderId() != null) {
-			alarmRecord.setOrderId(param.getOrderId());
-		}
-		// 工单状态
-		if (param.getOrderState() != null) {
-			alarmRecord.setOrderState(param.getOrderState());
-		}
-		// 补充说明
-		if (param.getSupplement() != null) {
-			alarmRecord.setSupplement(param.getSupplement());
-		}
-		alarmRecord.setUpdateUser(alarmParam.userId);
-		alarmRecord.setUpdateTime(new Date());
-		alarmRecordRepository.save(alarmRecord);
-		response.add("id", alarmRecord.getId());
-		// 推送消息至mq
-		DmpMessage msg = new DmpMessage();
-		msg.setMid(UUID.randomUUID().toString());
-		msg.setType(EnumAlarmMessageType.ALARM_RECORD_UPDATE.getValue());
-		msg.setGroupCode(DmpParameterStorage.getGroupCode());
-		msg.setProjectId(DmpParameterStorage.getProjectId());
-		msg.setTargetId(alarmRecord.getId());
-		msg.add("obj", JSONObject.toJSONString(alarmRecord));
-		msg.setAppId(DmpParameterStorage.getAppId());
-		msg.setSendTime(DateUtils.format(new Date()));
-		response.add(msg);
-		return response;
-	}
+        // 恢复值
+        if (param.getEndInfo() != null) {
+            alarmRecord.setEndInfo(param.getEndInfo());
+        }
+        // 恢复时间
+        if (param.getEndTime() != null) {
+            alarmRecord.setEndTime(param.getEndTime());
+        }
+        // 工单id
+        if (param.getOrderId() != null) {
+            alarmRecord.setOrderId(param.getOrderId());
+        }
+        // 工单状态
+        if (param.getOrderState() != null) {
+            alarmRecord.setOrderState(param.getOrderState());
+        }
+        // 补充说明
+        if (param.getSupplement() != null) {
+            alarmRecord.setSupplement(param.getSupplement());
+        }
+        alarmRecord.setUpdateUser(alarmParam.userId);
+        alarmRecord.setUpdateTime(new Date());
+        alarmRecordRepository.save(alarmRecord);
+        response.add("id", alarmRecord.getId());
+        // 推送消息至mq
+        DmpMessage msg = new DmpMessage();
+        msg.setMid(UUID.randomUUID().toString());
+        msg.setType(EnumAlarmMessageType.ALARM_RECORD_UPDATE.getValue());
+        msg.setGroupCode(DmpParameterStorage.getGroupCode());
+        msg.setProjectId(DmpParameterStorage.getProjectId());
+        msg.setTargetId(alarmRecord.getId());
+        msg.add("obj", JSONObject.toJSONString(alarmRecord));
+        msg.setAppId(DmpParameterStorage.getAppId());
+        msg.setSendTime(DateUtils.format(new Date()));
+        response.add(msg);
+        return response;
+    }
 
-	//	@Transactional
-	//	public MapResponse delete(AlarmRecordModel param) {
-	//		MapResponse response = new MapResponse();
-	//		// TODO
-	//		alarmRecordRepository.deleteById(param.getId());
-	//		return response;
-	//	}
+    //	@Transactional
+    //	public MapResponse delete(AlarmRecordModel param) {
+    //		MapResponse response = new MapResponse();
+    //		// TODO
+    //		alarmRecordRepository.deleteById(param.getId());
+    //		return response;
+    //	}
 }
 

+ 9 - 14
dmp-alarm/src/main/java/com/persagy/dmp/alarm/service/AlarmTargetService.java

@@ -53,7 +53,7 @@ public class AlarmTargetService extends AlarmBaseService {
                 AlarmTargetModel model = entity.toModel();
                 // 获取报警条目的触发条件
                 String itemCode = model.getItemCode();
-                model.setCondition(getCondition(model, itemCodeModelMap.get(model.getItemCode())));
+                model.setCondition(getCondition(model, itemCodeModelMap.get(itemCode)));
                 return model;
             }).collect(Collectors.toList());
             result.setData(collect);
@@ -75,18 +75,9 @@ public class AlarmTargetService extends AlarmBaseService {
         if (StringUtils.isEmpty(param.getClassCode())) {
             response.setFail("对象类型编码必填");
         }
-        // 判断是否是重复创建
-        JacksonCriteria criteria = JacksonCriteria.newInstance();
-        criteria.add("itemCode", param.getItemCode());
-        criteria.add("classCode", param.getClassCode());
-        PagedResponse<AlarmTargetModel> result = query(criteria);
-        if (result != null && result.getCount() > 0) {
-            response.setFail("已有同类的匹配条件,请勿重复添加!");
-            return response;
-        }
 
         // 获取设备条目对象
-        AlarmItemModel alarmItem = alarmItemService.getAlarmItemByItemCode(param.getItemCode());
+        AlarmItemModel alarmItem = alarmItemService.getAlarmItemByItemCode(param.getItemCode(), alarmParam.projectId, alarmParam.groupCode, alarmParam.appId);
         if (alarmItem == null) {
             response.setFail("无法获取到对应的报警条目,创建失败!");
             return response;
@@ -267,9 +258,13 @@ public class AlarmTargetService extends AlarmBaseService {
      * @version: V1.0
      */
     public ObjectNode getCondition(AlarmTargetModel alarmTargetModel, AlarmItemModel alarmItemModel) {
-        ObjectNode targetCondition = alarmTargetModel.getCondition();
-        ObjectNode itemCondition = alarmItemModel.getCondition();
-        return targetCondition == null ? itemCondition : targetCondition;
+        ObjectNode result = null;
+        if (alarmTargetModel != null && alarmTargetModel.getCondition() != null) {
+            result = alarmTargetModel.getCondition();
+        } else if (alarmItemModel != null) {
+            result = alarmItemModel.getCondition();
+        }
+        return result;
     }
 
     /**

+ 0 - 2
dmp-alarm/src/main/resources/bootstrap.yml

@@ -4,9 +4,7 @@ spring:
   profiles:
     active:
       - dev
-#      - aliyun-test
   cloud:
     config:
       profile: dev
-#      uri: http://integrated-config:9932
       uri: http://localhost:9932