【验收】8 本地设备切换记录日志

This commit is contained in:
2025-11-16 21:00:29 +08:00
parent 38ade0c2ed
commit 25e03ab028
7 changed files with 643 additions and 5 deletions

View File

@ -0,0 +1,134 @@
package com.xzzn.ems.domain;
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_device_change_log
*
* @author xzzn
* @date 2025-11-15
*/
public class EmsDeviceChangeLog extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** $column.columnComment */
private Long id;
/** 日志IDUUID */
@Excel(name = "日志ID", readConverterExp = "U=UID")
private String logId;
/** 日志时间(精确到秒) */
@Excel(name = "日志时间", readConverterExp = "精=确到秒")
private Date logTime;
/** 站点id */
@Excel(name = "站点id")
private String siteId;
/** 设备id */
@Excel(name = "设备id")
private String deviceId;
/** 变更前状态0-离线、1-待机、2-运行、3-故障、4-停机 */
@Excel(name = "变更前状态0-离线、1-待机、2-运行、3-故障、4-停机")
private String beforeStatus;
/** 变更后状态0-离线、1-待机、2-运行、3-故障、4-停机 */
@Excel(name = "变更后状态0-离线、1-待机、2-运行、3-故障、4-停机")
private String afterStatus;
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 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 setBeforeStatus(String beforeStatus)
{
this.beforeStatus = beforeStatus;
}
public String getBeforeStatus()
{
return beforeStatus;
}
public void setAfterStatus(String afterStatus)
{
this.afterStatus = afterStatus;
}
public String getAfterStatus()
{
return afterStatus;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("logId", getLogId())
.append("logTime", getLogTime())
.append("siteId", getSiteId())
.append("deviceId", getDeviceId())
.append("beforeStatus", getBeforeStatus())
.append("afterStatus", getAfterStatus())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.append("remark", getRemark())
.toString();
}
}

View File

@ -0,0 +1,65 @@
package com.xzzn.ems.mapper;
import java.util.List;
import com.xzzn.ems.domain.EmsDeviceChangeLog;
import com.xzzn.ems.domain.EmsFaultIssueLog;
/**
* 设备状态变更记录Mapper接口
*
* @author xzzn
* @date 2025-11-15
*/
public interface EmsDeviceChangeLogMapper
{
/**
* 查询设备状态变更记录
*
* @param id 设备状态变更记录主键
* @return 设备状态变更记录
*/
public EmsDeviceChangeLog selectEmsDeviceChangeLogById(Long id);
/**
* 查询设备状态变更记录列表
*
* @param emsDeviceChangeLog 设备状态变更记录
* @return 设备状态变更记录集合
*/
public List<EmsDeviceChangeLog> selectEmsDeviceChangeLogList(EmsDeviceChangeLog emsDeviceChangeLog);
/**
* 新增设备状态变更记录
*
* @param emsDeviceChangeLog 设备状态变更记录
* @return 结果
*/
public int insertEmsDeviceChangeLog(EmsDeviceChangeLog emsDeviceChangeLog);
/**
* 修改设备状态变更记录
*
* @param emsDeviceChangeLog 设备状态变更记录
* @return 结果
*/
public int updateEmsDeviceChangeLog(EmsDeviceChangeLog emsDeviceChangeLog);
/**
* 删除设备状态变更记录
*
* @param id 设备状态变更记录主键
* @return 结果
*/
public int deleteEmsDeviceChangeLogById(Long id);
/**
* 批量删除设备状态变更记录
*
* @param ids 需要删除的数据主键集合
* @return 结果
*/
public int deleteEmsDeviceChangeLogByIds(Long[] ids);
// 根据logId获取日志
public EmsDeviceChangeLog selectDeviceChangeLogByLogId(String logId);
}

View File

@ -0,0 +1,64 @@
package com.xzzn.ems.service;
import java.util.List;
import com.xzzn.ems.domain.EmsDeviceChangeLog;
/**
* 设备状态变更记录Service接口
*
* @author xzzn
* @date 2025-11-15
*/
public interface IEmsDeviceChangeLogService
{
/**
* 查询设备状态变更记录
*
* @param id 设备状态变更记录主键
* @return 设备状态变更记录
*/
public EmsDeviceChangeLog selectEmsDeviceChangeLogById(Long id);
/**
* 查询设备状态变更记录列表
*
* @param emsDeviceChangeLog 设备状态变更记录
* @return 设备状态变更记录集合
*/
public List<EmsDeviceChangeLog> selectEmsDeviceChangeLogList(EmsDeviceChangeLog emsDeviceChangeLog);
/**
* 新增设备状态变更记录
*
* @param emsDeviceChangeLog 设备状态变更记录
* @return 结果
*/
public int insertEmsDeviceChangeLog(EmsDeviceChangeLog emsDeviceChangeLog);
/**
* 修改设备状态变更记录
*
* @param emsDeviceChangeLog 设备状态变更记录
* @return 结果
*/
public int updateEmsDeviceChangeLog(EmsDeviceChangeLog emsDeviceChangeLog);
/**
* 批量删除设备状态变更记录
*
* @param ids 需要删除的设备状态变更记录主键集合
* @return 结果
*/
public int deleteEmsDeviceChangeLogByIds(Long[] ids);
/**
* 删除设备状态变更记录信息
*
* @param id 设备状态变更记录主键
* @return 结果
*/
public int deleteEmsDeviceChangeLogById(Long id);
// 处理本地端同步设备状态变更数据
public void dealSyncData(String content, String operateType);
}

View File

@ -0,0 +1,128 @@
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.EmsFaultIssueLog;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.xzzn.ems.mapper.EmsDeviceChangeLogMapper;
import com.xzzn.ems.domain.EmsDeviceChangeLog;
import com.xzzn.ems.service.IEmsDeviceChangeLogService;
/**
* 设备状态变更记录Service业务层处理
*
* @author xzzn
* @date 2025-11-15
*/
@Service
public class EmsDeviceChangeLogServiceImpl implements IEmsDeviceChangeLogService
{
@Autowired
private EmsDeviceChangeLogMapper emsDeviceChangeLogMapper;
/**
* 查询设备状态变更记录
*
* @param id 设备状态变更记录主键
* @return 设备状态变更记录
*/
@Override
public EmsDeviceChangeLog selectEmsDeviceChangeLogById(Long id)
{
return emsDeviceChangeLogMapper.selectEmsDeviceChangeLogById(id);
}
/**
* 查询设备状态变更记录列表
*
* @param emsDeviceChangeLog 设备状态变更记录
* @return 设备状态变更记录
*/
@Override
public List<EmsDeviceChangeLog> selectEmsDeviceChangeLogList(EmsDeviceChangeLog emsDeviceChangeLog)
{
return emsDeviceChangeLogMapper.selectEmsDeviceChangeLogList(emsDeviceChangeLog);
}
/**
* 新增设备状态变更记录
*
* @param emsDeviceChangeLog 设备状态变更记录
* @return 结果
*/
@Override
public int insertEmsDeviceChangeLog(EmsDeviceChangeLog emsDeviceChangeLog)
{
emsDeviceChangeLog.setCreateTime(DateUtils.getNowDate());
return emsDeviceChangeLogMapper.insertEmsDeviceChangeLog(emsDeviceChangeLog);
}
/**
* 修改设备状态变更记录
*
* @param emsDeviceChangeLog 设备状态变更记录
* @return 结果
*/
@Override
public int updateEmsDeviceChangeLog(EmsDeviceChangeLog emsDeviceChangeLog)
{
emsDeviceChangeLog.setUpdateTime(DateUtils.getNowDate());
return emsDeviceChangeLogMapper.updateEmsDeviceChangeLog(emsDeviceChangeLog);
}
/**
* 批量删除设备状态变更记录
*
* @param ids 需要删除的设备状态变更记录主键
* @return 结果
*/
@Override
public int deleteEmsDeviceChangeLogByIds(Long[] ids)
{
return emsDeviceChangeLogMapper.deleteEmsDeviceChangeLogByIds(ids);
}
/**
* 删除设备状态变更记录信息
*
* @param id 设备状态变更记录主键
* @return 结果
*/
@Override
public int deleteEmsDeviceChangeLogById(Long id)
{
return emsDeviceChangeLogMapper.deleteEmsDeviceChangeLogById(id);
}
@Override
public void dealSyncData(String content, String operateType) {
if (StringUtils.isEmpty(content)) {
return;
}
EmsDeviceChangeLog changeLog = JSON.parseObject(content, EmsDeviceChangeLog.class);
String logId = changeLog.getLogId();
if (checkLogIsExist(logId)) {
return;
}
switch(operateType) {
case "INSERT":
insertEmsDeviceChangeLog(changeLog);
break;
default:
break;
}
}
private boolean checkLogIsExist(String logId) {
EmsDeviceChangeLog changeLog = emsDeviceChangeLogMapper.selectDeviceChangeLogByLogId(logId);
if (changeLog != null) {
return true;
}
return false;
}
}