【验收】3 修改
This commit is contained in:
@ -8,6 +8,8 @@ import com.xzzn.ems.mapper.EmsFaultProtectionPlanMapper;
|
|||||||
import com.xzzn.ems.mapper.EmsMqttTopicConfigMapper;
|
import com.xzzn.ems.mapper.EmsMqttTopicConfigMapper;
|
||||||
import com.xzzn.ems.mapper.MqttSyncLogMapper;
|
import com.xzzn.ems.mapper.MqttSyncLogMapper;
|
||||||
import com.xzzn.framework.web.service.MqttPublisher;
|
import com.xzzn.framework.web.service.MqttPublisher;
|
||||||
|
import org.apache.juli.logging.Log;
|
||||||
|
import org.apache.juli.logging.LogFactory;
|
||||||
import org.aspectj.lang.JoinPoint;
|
import org.aspectj.lang.JoinPoint;
|
||||||
import org.aspectj.lang.annotation.AfterReturning;
|
import org.aspectj.lang.annotation.AfterReturning;
|
||||||
import org.aspectj.lang.annotation.Aspect;
|
import org.aspectj.lang.annotation.Aspect;
|
||||||
@ -23,16 +25,18 @@ import java.util.Map;
|
|||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 设备保护告警同步
|
* 设备保护告警方案同步
|
||||||
|
* 云端 - 本地
|
||||||
*/
|
*/
|
||||||
@Aspect
|
@Aspect
|
||||||
@Component
|
@Component
|
||||||
public class FaultProtPlanAspect {
|
public class FaultProtPlanAspect {
|
||||||
|
private static final Log logger = LogFactory.getLog(FaultProtPlanAspect.class);
|
||||||
@Autowired
|
@Autowired
|
||||||
private MqttPublisher mqttPublisher;
|
private MqttPublisher mqttPublisher;
|
||||||
|
|
||||||
private static final ObjectMapper objectMapper = new ObjectMapper();
|
private static final ObjectMapper objectMapper = new ObjectMapper();
|
||||||
private static final String STRATEGY_TOPIC = "FAULT_PROTECTION_PLAN_UP";
|
private static final String MQTT_TOPIC = "FAULT_PROTECTION_PLAN_UP";
|
||||||
private static final String TABLE_NAME = "ems_fault_protection_plan";
|
private static final String TABLE_NAME = "ems_fault_protection_plan";
|
||||||
@Autowired
|
@Autowired
|
||||||
private EmsMqttTopicConfigMapper emsMqttTopicConfigMapper;
|
private EmsMqttTopicConfigMapper emsMqttTopicConfigMapper;
|
||||||
@ -60,24 +64,31 @@ public class FaultProtPlanAspect {
|
|||||||
// 定义切点:拦截策略相关表的Mapper方法
|
// 定义切点:拦截策略相关表的Mapper方法
|
||||||
@Pointcut("(execution(* com.xzzn.ems.mapper.EmsFaultProtectionPlanMapper.insertEmsFaultProtectionPlan(..)) && args(insertEntity)) ")
|
@Pointcut("(execution(* com.xzzn.ems.mapper.EmsFaultProtectionPlanMapper.insertEmsFaultProtectionPlan(..)) && args(insertEntity)) ")
|
||||||
public void insertPointCut(EmsFaultProtectionPlan insertEntity) {
|
public void insertPointCut(EmsFaultProtectionPlan insertEntity) {
|
||||||
System.out.println("【新增设备保护告警】FaultProtPlanAspect 实例化");
|
logger.info("【新增设备保护告警】FaultProtPlanAspect 实例化");
|
||||||
}
|
}
|
||||||
@Pointcut("(execution(* com.xzzn.ems.mapper.EmsFaultProtectionPlanMapper.updateEmsFaultProtectionPlan(..)) && args(updateEntity)) ")
|
@Pointcut("(execution(* com.xzzn.ems.mapper.EmsFaultProtectionPlanMapper.updateEmsFaultProtectionPlan(..)) && args(updateEntity)) ")
|
||||||
public void updatePointCut(EmsFaultProtectionPlan updateEntity) {
|
public void updatePointCut(EmsFaultProtectionPlan updateEntity) {
|
||||||
System.out.println("【更新设备保护告警】FaultProtPlanAspect 实例化");
|
logger.info("【更新设备保护告警】FaultProtPlanAspect 实例化");
|
||||||
}
|
}
|
||||||
@Pointcut("(execution(* com.xzzn.ems.mapper.EmsFaultProtectionPlanMapper.deleteEmsFaultProtectionPlanByIds(..)) && args(ids)) ")
|
@Pointcut("(execution(* com.xzzn.ems.mapper.EmsFaultProtectionPlanMapper.deleteEmsFaultProtectionPlanByIds(..)) && args(ids)) ")
|
||||||
public void deletePointCut(Long[] ids) {
|
public void deletePointCut(Long[] ids) {
|
||||||
System.out.println("【删除设备保护告警】FaultProtPlanAspect 实例化");
|
logger.info("【删除设备保护告警】FaultProtPlanAspect 实例化");
|
||||||
}
|
}
|
||||||
|
|
||||||
// 方法执行成功后发布同步消息
|
// 方法执行成功后发布同步消息
|
||||||
@AfterReturning(pointcut = "insertPointCut(insertEntity)", returning = "result")
|
@AfterReturning(pointcut = "insertPointCut(insertEntity)", returning = "result")
|
||||||
public void afterInsert(JoinPoint joinPoint, EmsFaultProtectionPlan insertEntity, Integer result) {
|
public void afterInsert(JoinPoint joinPoint, EmsFaultProtectionPlan insertEntity, Integer result) {
|
||||||
System.out.println("【新增设备保护告警切面进入成功】");
|
logger.info("【新增设备保护告警切面进入成功】");
|
||||||
if (result == 0) {
|
if (result == 0 || insertEntity == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 校验是否配置监听topic-监听则不发布
|
||||||
|
String topic = emsMqttTopicConfigMapper.checkTopicIsExist(MQTT_TOPIC);
|
||||||
|
if (!StringUtils.isEmpty(topic)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// 解析方法名,获取操作类型(INSERT/UPDATE/DELETE)和表名
|
// 解析方法名,获取操作类型(INSERT/UPDATE/DELETE)和表名
|
||||||
String methodName = joinPoint.getSignature().getName();
|
String methodName = joinPoint.getSignature().getName();
|
||||||
String operateType = getOperateType(methodName);
|
String operateType = getOperateType(methodName);
|
||||||
@ -92,10 +103,7 @@ public class FaultProtPlanAspect {
|
|||||||
message.setContent(content);
|
message.setContent(content);
|
||||||
|
|
||||||
// 发布到MQTT主题
|
// 发布到MQTT主题
|
||||||
String topic = emsMqttTopicConfigMapper.checkTopicIsExist(STRATEGY_TOPIC);
|
mqttPublisher.publish(MQTT_TOPIC, objectMapper.writeValueAsString(message), 1);
|
||||||
if (StringUtils.isEmpty(topic)) {
|
|
||||||
mqttPublisher.publish(STRATEGY_TOPIC, objectMapper.writeValueAsString(message), 1);
|
|
||||||
}
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
message.setStatus("FAIL");
|
message.setStatus("FAIL");
|
||||||
message.setErrorMsg(e.getMessage());
|
message.setErrorMsg(e.getMessage());
|
||||||
@ -105,10 +113,16 @@ public class FaultProtPlanAspect {
|
|||||||
}
|
}
|
||||||
@AfterReturning(pointcut = "updatePointCut(updateEntity)", returning = "result")
|
@AfterReturning(pointcut = "updatePointCut(updateEntity)", returning = "result")
|
||||||
public void afterUpdate(JoinPoint joinPoint, EmsFaultProtectionPlan updateEntity, Integer result) {
|
public void afterUpdate(JoinPoint joinPoint, EmsFaultProtectionPlan updateEntity, Integer result) {
|
||||||
System.out.println("【更新设备保护告警切面进入成功】");
|
logger.info("【更新设备保护告警切面进入成功】");
|
||||||
if (result == 0) {
|
if (result == 0 || updateEntity == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
// 校验是否配置监听topic-监听则不发布
|
||||||
|
/*String topic = emsMqttTopicConfigMapper.checkTopicIsExist(MQTT_TOPIC);
|
||||||
|
if (!StringUtils.isEmpty(topic)) {
|
||||||
|
return;
|
||||||
|
}*/
|
||||||
|
|
||||||
// 解析方法名,获取操作类型(INSERT/UPDATE/DELETE)和表名
|
// 解析方法名,获取操作类型(INSERT/UPDATE/DELETE)和表名
|
||||||
String methodName = joinPoint.getSignature().getName();
|
String methodName = joinPoint.getSignature().getName();
|
||||||
String operateType = getOperateType(methodName);
|
String operateType = getOperateType(methodName);
|
||||||
@ -122,11 +136,8 @@ public class FaultProtPlanAspect {
|
|||||||
String content = convertEntityToJson(updateEntity);
|
String content = convertEntityToJson(updateEntity);
|
||||||
message.setContent(content);
|
message.setContent(content);
|
||||||
|
|
||||||
// 发布到MQTT主题 - 判断区分本地还是云上
|
// 发布到MQTT主题
|
||||||
String topic = emsMqttTopicConfigMapper.checkTopicIsExist(STRATEGY_TOPIC);
|
mqttPublisher.publish(MQTT_TOPIC, objectMapper.writeValueAsString(message), 1);
|
||||||
if (StringUtils.isEmpty(topic)) {
|
|
||||||
mqttPublisher.publish(STRATEGY_TOPIC, objectMapper.writeValueAsString(message), 1);
|
|
||||||
}
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
message.setStatus("FAIL");
|
message.setStatus("FAIL");
|
||||||
message.setErrorMsg(e.getMessage());
|
message.setErrorMsg(e.getMessage());
|
||||||
@ -136,10 +147,16 @@ public class FaultProtPlanAspect {
|
|||||||
}
|
}
|
||||||
@AfterReturning(pointcut = "deletePointCut(id)", returning = "result")
|
@AfterReturning(pointcut = "deletePointCut(id)", returning = "result")
|
||||||
public void afterDelete(JoinPoint joinPoint, Long[] id, Integer result) {
|
public void afterDelete(JoinPoint joinPoint, Long[] id, Integer result) {
|
||||||
System.out.println("【删除设备保护告警切面进入成功】");
|
logger.info("【删除设备保护告警切面进入成功】");
|
||||||
if (result == 0) {
|
if (result == 0 || id == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
// 校验是否配置监听topic-监听则不发布
|
||||||
|
String topic = emsMqttTopicConfigMapper.checkTopicIsExist(MQTT_TOPIC);
|
||||||
|
if (!StringUtils.isEmpty(topic)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// 解析方法名,获取操作类型(INSERT/UPDATE/DELETE)和表名
|
// 解析方法名,获取操作类型(INSERT/UPDATE/DELETE)和表名
|
||||||
String methodName = joinPoint.getSignature().getName();
|
String methodName = joinPoint.getSignature().getName();
|
||||||
String operateType = getOperateType(methodName);
|
String operateType = getOperateType(methodName);
|
||||||
@ -159,10 +176,7 @@ public class FaultProtPlanAspect {
|
|||||||
message.setContent(content);
|
message.setContent(content);
|
||||||
|
|
||||||
// 发布到MQTT主题
|
// 发布到MQTT主题
|
||||||
String topic = emsMqttTopicConfigMapper.checkTopicIsExist(STRATEGY_TOPIC);
|
mqttPublisher.publish(MQTT_TOPIC, objectMapper.writeValueAsString(message), 1);
|
||||||
if (StringUtils.isEmpty(topic)) {
|
|
||||||
mqttPublisher.publish(STRATEGY_TOPIC, objectMapper.writeValueAsString(message), 1);
|
|
||||||
}
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
message.setStatus("FAIL");
|
message.setStatus("FAIL");
|
||||||
message.setErrorMsg(e.getMessage());
|
message.setErrorMsg(e.getMessage());
|
||||||
@ -178,8 +192,9 @@ public class FaultProtPlanAspect {
|
|||||||
message.setOperateType(operateType);
|
message.setOperateType(operateType);
|
||||||
message.setTableName(TABLE_NAME);
|
message.setTableName(TABLE_NAME);
|
||||||
message.setCreateTime(new Date());
|
message.setCreateTime(new Date());
|
||||||
message.setTopic(STRATEGY_TOPIC);
|
message.setTopic(MQTT_TOPIC);
|
||||||
message.setStatus("SUCCESS");
|
message.setStatus("SUCCESS");
|
||||||
|
message.setSyncObject("CLOUD");
|
||||||
message.setTarget(siteId);
|
message.setTarget(siteId);
|
||||||
return message;
|
return message;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user