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; return false;
} }
public void insertAlertHistory(DynamodbEntity entity) { // public void insertAlertHistory(DynamodbEntity entity) {
if (tryMergeAlert(entity.getDeviceId())) { // if (tryMergeAlert(entity.getDeviceId())) {
return; // return;
} // }
//
String sql = "INSERT INTO alert_history (" + // String sql = "INSERT INTO alert_history (" +
"device_id, receive_ts, retain_alert, block_flag " + // "device_id, receive_ts, retain_alert, block_flag " +
") VALUES (?, ?, ?, ?)"; // ") VALUES (?, ?, ?, ?)";
//
jdbcTemplate.update(sql, // jdbcTemplate.update(sql,
entity.getDeviceId(), // entity.getDeviceId(),
entity.getReceive_ts(), // entity.getReceive_ts(),
entity.getRetainAlert(), // entity.getRetainAlert(),
entity.getAlertBlock() // entity.getAlertBlock()
); // );
} // }
public Long insertAlertHistory(DynamodbEntity entity, int sourceType) { public Long insertAlertHistory(DynamodbEntity entity, int sourceType) {
@ -208,8 +208,8 @@ public class DashboardAlertDao {
} }
String sql = "INSERT INTO alert_history (" + String sql = "INSERT INTO alert_history (" +
"device_id, receive_ts, source_type, block_flag " + "device_id, receive_ts, retain_alert, source_type, block_flag " +
") VALUES (?, ?, ?, ?)"; ") VALUES (?, ?, ?, ?, ?)";
KeyHolder keyHolder = new GeneratedKeyHolder(); KeyHolder keyHolder = new GeneratedKeyHolder();
@ -217,13 +217,26 @@ public class DashboardAlertDao {
PreparedStatement ps = connection.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS); PreparedStatement ps = connection.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);
ps.setString(1, entity.getDeviceId()); ps.setString(1, entity.getDeviceId());
ps.setLong(2, entity.getReceive_ts()); ps.setLong(2, entity.getReceive_ts());
ps.setInt(3, sourceType); ps.setLong(3, entity.getRetainAlert());
ps.setLong(4, entity.getAlertBlock()); ps.setInt(4, sourceType);
ps.setLong(5, entity.getAlertBlock());
return ps; return ps;
}, keyHolder); }, keyHolder);
// 获取主键ID // 获取主键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) { 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" + " dinfo.type_id,\r\n"
+ " bspace.space_id,\r\n" + " bspace.space_id,\r\n"
+ " bbuilding.building_id,\r\n" + " bbuilding.building_id,\r\n"
+ " bbuilding.retain_alert retainAlert,\r\n"
+ " dinfo.device_name,\r\n" + " dinfo.device_name,\r\n"
+ " dinfo.project_id,\r\n" + " dinfo.project_id,\r\n"
+ " bfloor.floor_id,\r\n" + " bfloor.floor_id,\r\n"
@ -191,6 +192,7 @@ public class DeviceDao {
item.setAssetId(rs.getLong("asset_id")); item.setAssetId(rs.getLong("asset_id"));
item.setBigClassId(rs.getLong("class_big_id")); item.setBigClassId(rs.getLong("class_big_id"));
item.setCategoryId(rs.getLong("categoryId")); item.setCategoryId(rs.getLong("categoryId"));
item.setRetainAlert(rs.getInt("retainAlert"));
return item; return item;
}); });
return dataList; return dataList;

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

@ -73,5 +73,7 @@ public class DeviceEntity implements Serializable {
private Long bigClassId; private Long bigClassId;
private Long categoryId; 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(); DynamodbEntity entity = new DynamodbEntity();
entity.setDeviceId(terminalId); entity.setDeviceId(terminalId);
entity.setRetainAlert(deviceEntity.getRetainAlert());
if (isAlarm) { if (isAlarm) {
dataProcessService.setAlertBlock(deviceInfoVO); dataProcessService.setAlertBlock(deviceInfoVO);

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

@ -213,6 +213,7 @@ public class F10Service {
if (!isExpired){ if (!isExpired){
DynamodbEntity entity = new DynamodbEntity(); DynamodbEntity entity = new DynamodbEntity();
entity.setDeviceId(f10JournalLog.getDeviceId()); entity.setDeviceId(f10JournalLog.getDeviceId());
entity.setRetainAlert(deviceEntity.get(0).getRetainAlert());
if ("1".equals(f10JournalLog.getInstructionFlag())){ if ("1".equals(f10JournalLog.getInstructionFlag())){
dataProcessService.setAlertBlock(deviceInfoVO); 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(); String status = baseTransDataEntity.getStatus();
if (null == redisOldStatusObj) { if (null == redisOldStatusObj) {
if ("alert".equals(status)) { if ("alert".equals(status)) {
dashboardAlertDao.insertAlertHistory(baseTransDataEntity); dashboardAlertDao.insertAlertHistory(baseTransDataEntity, 1);
} }
} else { } else {
String redisOldStatus = (String) redisOldStatusObj; String redisOldStatus = (String) redisOldStatusObj;
if ("alert".equals(status) && !"alert".equals(redisOldStatus)) { if ("alert".equals(status) && !"alert".equals(redisOldStatus)) {
dashboardAlertDao.insertAlertHistory(baseTransDataEntity); dashboardAlertDao.insertAlertHistory(baseTransDataEntity, 1);
} else if (!"alert".equals(status) && "alert".equals(redisOldStatus)) { } else if (!"alert".equals(status) && "alert".equals(redisOldStatus)) {
if (0 == baseTransDataEntity.getRetainAlert()) { if (0 == baseTransDataEntity.getRetainAlert()) {
dashboardAlertDao.updateLatestAlertToAutoRecovered(baseTransDataEntity); dashboardAlertDao.updateLatestAlertToAutoRecovered(baseTransDataEntity);

Loading…
Cancel
Save