【验收】6-保护方案告警同步云端&& 【验收】7-下发操作日志同步云端
This commit is contained in:
@ -0,0 +1,150 @@
|
||||
package com.xzzn.ems.domain;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
import com.xzzn.common.core.domain.BaseEntity;
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
import org.apache.commons.lang3.builder.ToStringStyle;
|
||||
import com.xzzn.common.annotation.Excel;
|
||||
|
||||
/**
|
||||
* 告警保护方案下发日志对象 ems_fault_issue_log
|
||||
*
|
||||
* @author xzzn
|
||||
* @date 2025-11-15
|
||||
*/
|
||||
public class EmsFaultIssueLog extends BaseEntity
|
||||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/** 主键 */
|
||||
private Long id;
|
||||
|
||||
/** 日志ID(UUID) */
|
||||
@Excel(name = "日志ID", readConverterExp = "U=UID")
|
||||
private String logId;
|
||||
|
||||
/** 日志时间(精确到秒) */
|
||||
@Excel(name = "日志时间", readConverterExp = "精=确到秒")
|
||||
private Date logTime;
|
||||
|
||||
/** 日志等级(同方案等级1/2/3等) */
|
||||
@Excel(name = "日志等级", readConverterExp = "同=方案等级1/2/3等")
|
||||
private Integer logLevel;
|
||||
|
||||
/** 站点名称/编号 */
|
||||
@Excel(name = "站点名称/编号")
|
||||
private String siteId;
|
||||
|
||||
/** 设备ID */
|
||||
@Excel(name = "设备ID")
|
||||
private String deviceId;
|
||||
|
||||
/** 操作点位 */
|
||||
@Excel(name = "操作点位")
|
||||
private String point;
|
||||
|
||||
/** 设置数据 */
|
||||
@Excel(name = "设置数据")
|
||||
private BigDecimal value;
|
||||
|
||||
public void setId(Long id)
|
||||
{
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public Long getId()
|
||||
{
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setLogId(String logId)
|
||||
{
|
||||
this.logId = logId;
|
||||
}
|
||||
|
||||
public String getLogId()
|
||||
{
|
||||
return logId;
|
||||
}
|
||||
|
||||
public void setLogTime(Date logTime)
|
||||
{
|
||||
this.logTime = logTime;
|
||||
}
|
||||
|
||||
public Date getLogTime()
|
||||
{
|
||||
return logTime;
|
||||
}
|
||||
|
||||
public void setLogLevel(Integer logLevel)
|
||||
{
|
||||
this.logLevel = logLevel;
|
||||
}
|
||||
|
||||
public Integer getLogLevel()
|
||||
{
|
||||
return logLevel;
|
||||
}
|
||||
|
||||
public void setSiteId(String siteId)
|
||||
{
|
||||
this.siteId = siteId;
|
||||
}
|
||||
|
||||
public String getSiteId()
|
||||
{
|
||||
return siteId;
|
||||
}
|
||||
|
||||
public void setDeviceId(String deviceId)
|
||||
{
|
||||
this.deviceId = deviceId;
|
||||
}
|
||||
|
||||
public String getDeviceId()
|
||||
{
|
||||
return deviceId;
|
||||
}
|
||||
|
||||
public void setPoint(String point)
|
||||
{
|
||||
this.point = point;
|
||||
}
|
||||
|
||||
public String getPoint()
|
||||
{
|
||||
return point;
|
||||
}
|
||||
|
||||
public void setValue(BigDecimal value)
|
||||
{
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
public BigDecimal getValue()
|
||||
{
|
||||
return value;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
|
||||
.append("id", getId())
|
||||
.append("logId", getLogId())
|
||||
.append("logTime", getLogTime())
|
||||
.append("logLevel", getLogLevel())
|
||||
.append("site", getSiteId())
|
||||
.append("deviceId", getDeviceId())
|
||||
.append("point", getPoint())
|
||||
.append("value", getValue())
|
||||
.append("createBy", getCreateBy())
|
||||
.append("createTime", getCreateTime())
|
||||
.append("updateBy", getUpdateBy())
|
||||
.append("updateTime", getUpdateTime())
|
||||
.append("remark", getRemark())
|
||||
.toString();
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,64 @@
|
||||
package com.xzzn.ems.mapper;
|
||||
|
||||
import java.util.List;
|
||||
import com.xzzn.ems.domain.EmsFaultIssueLog;
|
||||
|
||||
/**
|
||||
* 告警保护方案下发日志Mapper接口
|
||||
*
|
||||
* @author xzzn
|
||||
* @date 2025-11-15
|
||||
*/
|
||||
public interface EmsFaultIssueLogMapper
|
||||
{
|
||||
/**
|
||||
* 查询告警保护方案下发日志
|
||||
*
|
||||
* @param id 告警保护方案下发日志主键
|
||||
* @return 告警保护方案下发日志
|
||||
*/
|
||||
public EmsFaultIssueLog selectEmsFaultIssueLogById(Long id);
|
||||
|
||||
/**
|
||||
* 查询告警保护方案下发日志列表
|
||||
*
|
||||
* @param emsFaultIssueLog 告警保护方案下发日志
|
||||
* @return 告警保护方案下发日志集合
|
||||
*/
|
||||
public List<EmsFaultIssueLog> selectEmsFaultIssueLogList(EmsFaultIssueLog emsFaultIssueLog);
|
||||
|
||||
/**
|
||||
* 新增告警保护方案下发日志
|
||||
*
|
||||
* @param emsFaultIssueLog 告警保护方案下发日志
|
||||
* @return 结果
|
||||
*/
|
||||
public int insertEmsFaultIssueLog(EmsFaultIssueLog emsFaultIssueLog);
|
||||
|
||||
/**
|
||||
* 修改告警保护方案下发日志
|
||||
*
|
||||
* @param emsFaultIssueLog 告警保护方案下发日志
|
||||
* @return 结果
|
||||
*/
|
||||
public int updateEmsFaultIssueLog(EmsFaultIssueLog emsFaultIssueLog);
|
||||
|
||||
/**
|
||||
* 删除告警保护方案下发日志
|
||||
*
|
||||
* @param id 告警保护方案下发日志主键
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteEmsFaultIssueLogById(Long id);
|
||||
|
||||
/**
|
||||
* 批量删除告警保护方案下发日志
|
||||
*
|
||||
* @param ids 需要删除的数据主键集合
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteEmsFaultIssueLogByIds(Long[] ids);
|
||||
|
||||
// 根据logId获取日志
|
||||
public EmsFaultIssueLog selectEmsFaultIssueLogByLogId(String logId);
|
||||
}
|
||||
@ -95,4 +95,7 @@ public interface IEmsAlarmRecordsService
|
||||
|
||||
// 根据site_id和deviceId更新对应的redis
|
||||
public void updateRedisAlarmRecords(String siteId, String deviceId);
|
||||
|
||||
// 处理本地端同步的保护策略告警信息
|
||||
public void dealSyncData(String content, String operateType);
|
||||
}
|
||||
|
||||
@ -0,0 +1,64 @@
|
||||
package com.xzzn.ems.service;
|
||||
|
||||
import java.util.List;
|
||||
import com.xzzn.ems.domain.EmsFaultIssueLog;
|
||||
|
||||
/**
|
||||
* 告警保护方案下发日志Service接口
|
||||
*
|
||||
* @author xzzn
|
||||
* @date 2025-11-15
|
||||
*/
|
||||
public interface IEmsFaultIssueLogService
|
||||
{
|
||||
/**
|
||||
* 查询告警保护方案下发日志
|
||||
*
|
||||
* @param id 告警保护方案下发日志主键
|
||||
* @return 告警保护方案下发日志
|
||||
*/
|
||||
public EmsFaultIssueLog selectEmsFaultIssueLogById(Long id);
|
||||
|
||||
/**
|
||||
* 查询告警保护方案下发日志列表
|
||||
*
|
||||
* @param emsFaultIssueLog 告警保护方案下发日志
|
||||
* @return 告警保护方案下发日志集合
|
||||
*/
|
||||
public List<EmsFaultIssueLog> selectEmsFaultIssueLogList(EmsFaultIssueLog emsFaultIssueLog);
|
||||
|
||||
/**
|
||||
* 新增告警保护方案下发日志
|
||||
*
|
||||
* @param emsFaultIssueLog 告警保护方案下发日志
|
||||
* @return 结果
|
||||
*/
|
||||
public int insertEmsFaultIssueLog(EmsFaultIssueLog emsFaultIssueLog);
|
||||
|
||||
/**
|
||||
* 修改告警保护方案下发日志
|
||||
*
|
||||
* @param emsFaultIssueLog 告警保护方案下发日志
|
||||
* @return 结果
|
||||
*/
|
||||
public int updateEmsFaultIssueLog(EmsFaultIssueLog emsFaultIssueLog);
|
||||
|
||||
/**
|
||||
* 批量删除告警保护方案下发日志
|
||||
*
|
||||
* @param ids 需要删除的告警保护方案下发日志主键集合
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteEmsFaultIssueLogByIds(Long[] ids);
|
||||
|
||||
/**
|
||||
* 删除告警保护方案下发日志信息
|
||||
*
|
||||
* @param id 告警保护方案下发日志主键
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteEmsFaultIssueLogById(Long id);
|
||||
|
||||
// 处理本地端同步的告警保护下发日志信息
|
||||
public void dealSyncData(String content, String operateType);
|
||||
}
|
||||
@ -4,6 +4,7 @@ import java.util.*;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import com.alibaba.fastjson2.JSON;
|
||||
import com.xzzn.common.constant.RedisKeyConstants;
|
||||
import com.xzzn.common.core.domain.entity.SysUser;
|
||||
import com.xzzn.common.core.redis.RedisCache;
|
||||
@ -18,7 +19,6 @@ import com.xzzn.ems.domain.vo.AlarmRecordListRequestVo;
|
||||
import com.xzzn.ems.domain.vo.AlarmRecordListResponseVo;
|
||||
import com.xzzn.ems.mapper.EmsAlarmMatchDataMapper;
|
||||
import com.xzzn.ems.mapper.EmsTicketMapper;
|
||||
import com.xzzn.ems.service.IEmsTicketService;
|
||||
import com.xzzn.system.mapper.SysUserMapper;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
@ -292,5 +292,21 @@ public class EmsAlarmRecordsServiceImpl implements IEmsAlarmRecordsService
|
||||
redisCache.setAllCacheMapValue(redisKey, newAlarms);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void dealSyncData(String content, String operateType) {
|
||||
if (StringUtils.isEmpty(content)) {
|
||||
return;
|
||||
}
|
||||
|
||||
EmsAlarmRecords alarmRecords = JSON.parseObject(content, EmsAlarmRecords.class);
|
||||
switch(operateType) {
|
||||
case "INSERT":
|
||||
insertEmsAlarmRecords(alarmRecords);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -0,0 +1,129 @@
|
||||
package com.xzzn.ems.service.impl;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.alibaba.fastjson2.JSON;
|
||||
import com.xzzn.common.utils.DateUtils;
|
||||
import com.xzzn.common.utils.StringUtils;
|
||||
import com.xzzn.ems.domain.EmsAlarmRecords;
|
||||
import com.xzzn.ems.service.IFXXAlarmDataProcessService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import com.xzzn.ems.mapper.EmsFaultIssueLogMapper;
|
||||
import com.xzzn.ems.domain.EmsFaultIssueLog;
|
||||
import com.xzzn.ems.service.IEmsFaultIssueLogService;
|
||||
|
||||
/**
|
||||
* 告警保护方案下发日志Service业务层处理
|
||||
*
|
||||
* @author xzzn
|
||||
* @date 2025-11-15
|
||||
*/
|
||||
@Service
|
||||
public class EmsFaultIssueLogServiceImpl implements IEmsFaultIssueLogService
|
||||
{
|
||||
@Autowired
|
||||
private EmsFaultIssueLogMapper emsFaultIssueLogMapper;
|
||||
|
||||
/**
|
||||
* 查询告警保护方案下发日志
|
||||
*
|
||||
* @param id 告警保护方案下发日志主键
|
||||
* @return 告警保护方案下发日志
|
||||
*/
|
||||
@Override
|
||||
public EmsFaultIssueLog selectEmsFaultIssueLogById(Long id)
|
||||
{
|
||||
return emsFaultIssueLogMapper.selectEmsFaultIssueLogById(id);
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增告警保护方案下发日志
|
||||
*
|
||||
* @param emsFaultIssueLog 告警保护方案下发日志
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int insertEmsFaultIssueLog(EmsFaultIssueLog emsFaultIssueLog)
|
||||
{
|
||||
emsFaultIssueLog.setCreateTime(DateUtils.getNowDate());
|
||||
return emsFaultIssueLogMapper.insertEmsFaultIssueLog(emsFaultIssueLog);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询告警保护方案下发日志列表
|
||||
*
|
||||
* @param emsFaultIssueLog 告警保护方案下发日志
|
||||
* @return 告警保护方案下发日志
|
||||
*/
|
||||
@Override
|
||||
public List<EmsFaultIssueLog> selectEmsFaultIssueLogList(EmsFaultIssueLog emsFaultIssueLog)
|
||||
{
|
||||
return emsFaultIssueLogMapper.selectEmsFaultIssueLogList(emsFaultIssueLog);
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改告警保护方案下发日志
|
||||
*
|
||||
* @param emsFaultIssueLog 告警保护方案下发日志
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int updateEmsFaultIssueLog(EmsFaultIssueLog emsFaultIssueLog)
|
||||
{
|
||||
emsFaultIssueLog.setUpdateTime(DateUtils.getNowDate());
|
||||
return emsFaultIssueLogMapper.updateEmsFaultIssueLog(emsFaultIssueLog);
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除告警保护方案下发日志
|
||||
*
|
||||
* @param ids 需要删除的告警保护方案下发日志主键
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int deleteEmsFaultIssueLogByIds(Long[] ids)
|
||||
{
|
||||
return emsFaultIssueLogMapper.deleteEmsFaultIssueLogByIds(ids);
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除告警保护方案下发日志信息
|
||||
*
|
||||
* @param id 告警保护方案下发日志主键
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int deleteEmsFaultIssueLogById(Long id)
|
||||
{
|
||||
return emsFaultIssueLogMapper.deleteEmsFaultIssueLogById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void dealSyncData(String content, String operateType) {
|
||||
if (StringUtils.isEmpty(content)) {
|
||||
return;
|
||||
}
|
||||
|
||||
EmsFaultIssueLog issueLog = JSON.parseObject(content, EmsFaultIssueLog.class);
|
||||
String logId = issueLog.getLogId();
|
||||
if (checkLogIsExist(logId)) {
|
||||
return;
|
||||
}
|
||||
switch(operateType) {
|
||||
case "INSERT":
|
||||
insertEmsFaultIssueLog(issueLog);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
private boolean checkLogIsExist(String logId) {
|
||||
EmsFaultIssueLog issueLog = emsFaultIssueLogMapper.selectEmsFaultIssueLogByLogId(logId);
|
||||
if (issueLog != null) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user