Browse Source

告警发生时,也要插入一条记录到处理历史

master
review512jwy@163.com 2 weeks ago
parent
commit
51c0be3888
  1. 55
      src/main/java/com/techsor/datacenter/sender/dao/DashboardAlertDao.java
  2. 2
      src/main/java/com/techsor/datacenter/sender/dao/DeviceDao.java
  3. 2
      src/main/java/com/techsor/datacenter/sender/entitiy/DeviceEntity.java
  4. 1
      src/main/java/com/techsor/datacenter/sender/service/CsdjService.java
  5. 1
      src/main/java/com/techsor/datacenter/sender/service/F10Service.java
  6. 4
      src/main/java/com/techsor/datacenter/sender/service/impl/DataProcessServiceImpl.java

55
src/main/java/com/techsor/datacenter/sender/dao/DashboardAlertDao.java

@ -184,22 +184,22 @@ public class DashboardAlertDao {
return false;
}
public void insertAlertHistory(DynamodbEntity entity) {
if (tryMergeAlert(entity.getDeviceId())) {
return;
}
String sql = "INSERT INTO alert_history (" +
"device_id, receive_ts, retain_alert, block_flag " +
") VALUES (?, ?, ?, ?)";
jdbcTemplate.update(sql,
entity.getDeviceId(),
entity.getReceive_ts(),
entity.getRetainAlert(),
entity.getAlertBlock()
);
}
// public void insertAlertHistory(DynamodbEntity entity) {
// if (tryMergeAlert(entity.getDeviceId())) {
// return;
// }
//
// String sql = "INSERT INTO alert_history (" +
// "device_id, receive_ts, retain_alert, block_flag " +
// ") VALUES (?, ?, ?, ?)";
//
// jdbcTemplate.update(sql,
// entity.getDeviceId(),
// entity.getReceive_ts(),
// entity.getRetainAlert(),
// entity.getAlertBlock()
// );
// }
public Long insertAlertHistory(DynamodbEntity entity, int sourceType) {
@ -208,8 +208,8 @@ public class DashboardAlertDao {
}
String sql = "INSERT INTO alert_history (" +
"device_id, receive_ts, source_type, block_flag " +
") VALUES (?, ?, ?, ?)";
"device_id, receive_ts, retain_alert, source_type, block_flag " +
") VALUES (?, ?, ?, ?, ?)";
KeyHolder keyHolder = new GeneratedKeyHolder();
@ -217,13 +217,26 @@ public class DashboardAlertDao {
PreparedStatement ps = connection.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);
ps.setString(1, entity.getDeviceId());
ps.setLong(2, entity.getReceive_ts());
ps.setInt(3, sourceType);
ps.setLong(4, entity.getAlertBlock());
ps.setLong(3, entity.getRetainAlert());
ps.setInt(4, sourceType);
ps.setLong(5, entity.getAlertBlock());
return ps;
}, keyHolder);
// 获取主键ID
return keyHolder.getKey() != null ? keyHolder.getKey().longValue() : null;
Long alertHistoryId = keyHolder.getKey() != null ? keyHolder.getKey().longValue() : null;
// 20260702需求,告警发生的时候,这里也要记录一条告警发报记录
String insertHandleSql = "INSERT INTO alert_handle_history (" +
"alert_history_id, device_id, handle_at" +
") VALUES (?, ?, ?)";
jdbcTemplate.update(insertHandleSql,
alertHistoryId,
entity.getDeviceId(),
System.currentTimeMillis()
);
return alertHistoryId;
}
public void updateLatestAlertToAutoRecovered(DynamodbEntity entity) {

2
src/main/java/com/techsor/datacenter/sender/dao/DeviceDao.java

@ -161,6 +161,7 @@ public class DeviceDao {
+ " dinfo.type_id,\r\n"
+ " bspace.space_id,\r\n"
+ " bbuilding.building_id,\r\n"
+ " bbuilding.retain_alert retainAlert,\r\n"
+ " dinfo.device_name,\r\n"
+ " dinfo.project_id,\r\n"
+ " bfloor.floor_id,\r\n"
@ -191,6 +192,7 @@ public class DeviceDao {
item.setAssetId(rs.getLong("asset_id"));
item.setBigClassId(rs.getLong("class_big_id"));
item.setCategoryId(rs.getLong("categoryId"));
item.setRetainAlert(rs.getInt("retainAlert"));
return item;
});
return dataList;

2
src/main/java/com/techsor/datacenter/sender/entitiy/DeviceEntity.java

@ -74,4 +74,6 @@ public class DeviceEntity implements Serializable {
private Long categoryId;
private Integer retainAlert;
}

1
src/main/java/com/techsor/datacenter/sender/service/CsdjService.java

@ -139,6 +139,7 @@ public class CsdjService {
DynamodbEntity entity = new DynamodbEntity();
entity.setDeviceId(terminalId);
entity.setRetainAlert(deviceEntity.getRetainAlert());
if (isAlarm) {
dataProcessService.setAlertBlock(deviceInfoVO);

1
src/main/java/com/techsor/datacenter/sender/service/F10Service.java

@ -213,6 +213,7 @@ public class F10Service {
if (!isExpired){
DynamodbEntity entity = new DynamodbEntity();
entity.setDeviceId(f10JournalLog.getDeviceId());
entity.setRetainAlert(deviceEntity.get(0).getRetainAlert());
if ("1".equals(f10JournalLog.getInstructionFlag())){
dataProcessService.setAlertBlock(deviceInfoVO);

4
src/main/java/com/techsor/datacenter/sender/service/impl/DataProcessServiceImpl.java

@ -984,12 +984,12 @@ public class DataProcessServiceImpl implements IDataProcessService {
String status = baseTransDataEntity.getStatus();
if (null == redisOldStatusObj) {
if ("alert".equals(status)) {
dashboardAlertDao.insertAlertHistory(baseTransDataEntity);
dashboardAlertDao.insertAlertHistory(baseTransDataEntity, 1);
}
} else {
String redisOldStatus = (String) redisOldStatusObj;
if ("alert".equals(status) && !"alert".equals(redisOldStatus)) {
dashboardAlertDao.insertAlertHistory(baseTransDataEntity);
dashboardAlertDao.insertAlertHistory(baseTransDataEntity, 1);
} else if (!"alert".equals(status) && "alert".equals(redisOldStatus)) {
if (0 == baseTransDataEntity.getRetainAlert()) {
dashboardAlertDao.updateLatestAlertToAutoRecovered(baseTransDataEntity);

Loading…
Cancel
Save