feat:功能优化,设备报警信息、微信缓存用户,操作记录信息,代码提交。

This commit is contained in:
tianyongbao
2025-10-24 20:44:36 +08:00
parent d135c85ec0
commit a9187da813
35 changed files with 2391 additions and 6 deletions

View File

@@ -0,0 +1,83 @@
package com.intc.fishery.domain;
import com.baomidou.mybatisplus.annotation.*;
import com.intc.common.tenant.core.TenantEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.io.Serial;
/**
* 设备告警信息对象 mgr_device_warn_combine
*
* @author intc
* @date 2025-10-23
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("mgr_device_warn_combine")
public class DeviceWarnCombine extends TenantEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键id
*/
@TableId(value = "id")
private Long id;
/**
* 设备编号
*/
private String deviceSerialNum;
/**
* 设备类型
*/
private Integer deviceType;
/**
* 参数类型
*/
private Integer thresholdType;
/**
* 进展状态
*/
private Integer processStatus;
/**
* 故障类型
*/
private Integer warnType;
/**
* 告警总数量
*/
private Integer totalCount;
/**
* 备注
*/
private String remarkContent;
/**
* 处理人
*/
private String handlerName;
/**
* 处理时间
*/
private Date processTime;
/**
* 备注
*/
private String remark;
}

View File

@@ -0,0 +1,83 @@
package com.intc.fishery.domain;
import com.baomidou.mybatisplus.annotation.*;
import com.intc.common.tenant.core.TenantEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.io.Serial;
/**
* 设备报警明细对象 mgr_device_warn_one
*
* @author intc
* @date 2025-10-23
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("mgr_device_warn_one")
public class DeviceWarnOne extends TenantEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键id
*/
@TableId(value = "id")
private Long id;
/**
* 报警主表id
*/
private Long warnCombineId;
/**
* 用户id
*/
private Long userId;
/**
* 告警最大值
*/
private Double limitUpper;
/**
* 告警最小值
*/
private Double limitLower;
/**
* 告警当前值
*/
private Double curValue;
/**
* 进展状态
*/
private Integer processStatus;
/**
* 故障类型
*/
private Integer warnType;
/**
* 处理人
*/
private String handlerName;
/**
* 处理时间
*/
private Date processTime;
/**
* 备注
*/
private String remark;
}

View File

@@ -0,0 +1,61 @@
package com.intc.fishery.domain;
import com.baomidou.mybatisplus.annotation.*;
import com.intc.common.tenant.core.TenantEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serial;
/**
* 用户操作记录对象 aqu_message_op_record
*
* @author intc
* @date 2025-10-23
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("aqu_message_op_record")
public class MessageOpRecord extends TenantEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键id
*/
@TableId(value = "id")
private Long id;
/**
* 用户id
*/
private Long userId;
/**
* 操作用户id
*/
private Long opUserId;
/**
* 操作标题
*/
private String title;
/**
* 操作内容
*/
private String message;
/**
* 操作方式
*/
private Integer opType;
/**
* 备注
*/
private String remark;
}

View File

@@ -0,0 +1,46 @@
package com.intc.fishery.domain;
import com.baomidou.mybatisplus.annotation.*;
import com.intc.common.tenant.core.TenantEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serial;
/**
* 公众号用户缓存对象 aqu_tecent_user_cache
*
* @author intc
* @date 2025-10-23
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("aqu_tecent_user_cache")
public class TecentUserCache extends TenantEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键id
*/
@TableId(value = "id")
private Long id;
/**
* openId
*/
private String openId;
/**
* unionId
*/
private String unionId;
/**
* 备注
*/
private String remark;
}

View File

@@ -0,0 +1,87 @@
package com.intc.fishery.domain.bo;
import com.intc.common.core.validate.AddGroup;
import com.intc.common.core.validate.EditGroup;
import com.intc.fishery.domain.DeviceWarnCombine;
import com.intc.common.mybatis.core.domain.BaseEntity;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
/**
* 设备告警信息业务对象 mgr_device_warn_combine
*
* @author intc
* @date 2025-10-23
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = DeviceWarnCombine.class, reverseConvertGenerate = false)
public class DeviceWarnCombineBo extends BaseEntity {
/**
* 主键id
*/
@NotNull(message = "主键id不能为空", groups = { EditGroup.class })
private Long id;
/**
* 设备编号
*/
@NotBlank(message = "设备编号不能为空", groups = { AddGroup.class, EditGroup.class })
private String deviceSerialNum;
/**
* 设备类型
*/
@NotNull(message = "设备类型不能为空", groups = { AddGroup.class, EditGroup.class })
private Integer deviceType;
/**
* 参数类型
*/
@NotNull(message = "参数类型不能为空", groups = { AddGroup.class, EditGroup.class })
private Integer thresholdType;
/**
* 进展状态
*/
@NotNull(message = "进展状态不能为空", groups = { AddGroup.class, EditGroup.class })
private Integer processStatus;
/**
* 故障类型
*/
@NotNull(message = "故障类型不能为空", groups = { AddGroup.class, EditGroup.class })
private Integer warnType;
/**
* 告警总数量
*/
@NotNull(message = "告警总数量不能为空", groups = { AddGroup.class, EditGroup.class })
private Integer totalCount;
/**
* 备注
*/
private String remarkContent;
/**
* 处理人
*/
private String handlerName;
/**
* 处理时间
*/
private Date processTime;
/**
* 备注
*/
private String remark;
}

View File

@@ -0,0 +1,52 @@
package com.intc.fishery.domain.bo;
import java.util.Date;
import com.intc.common.mybatis.core.domain.BaseEntity;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 设备报警明细批量更新业务对象
*
* @author intc
* @date 2025-10-23
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class DeviceWarnOneBatchUpdateBo extends BaseEntity {
/**
* 报警主表id(必填,用于批量更新条件)
*/
@NotNull(message = "报警主表id不能为空")
private Long warnCombineId;
/**
* 进展状态
*/
private Integer processStatus;
/**
* 故障类型
*/
private Integer warnType;
/**
* 处理人
*/
private String handlerName;
/**
* 处理时间
*/
private Date processTime;
/**
* 备注
*/
private String remark;
}

View File

@@ -0,0 +1,89 @@
package com.intc.fishery.domain.bo;
import java.util.Date;
import com.intc.common.core.validate.AddGroup;
import com.intc.common.core.validate.EditGroup;
import com.intc.common.mybatis.core.domain.BaseEntity;
import com.intc.fishery.domain.DeviceWarnOne;
import io.github.linpeilie.annotations.AutoMapper;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 设备报警明细业务对象 mgr_device_warn_one
*
* @author intc
* @date 2025-10-23
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = DeviceWarnOne.class, reverseConvertGenerate = false)
public class DeviceWarnOneBo extends BaseEntity {
/**
* 主键id
*/
@NotNull(message = "主键id不能为空", groups = { EditGroup.class })
private Long id;
/**
* 报警主表id
*/
@NotNull(message = "报警主表id不能为空", groups = { AddGroup.class, EditGroup.class })
private Long warnCombineId;
/**
* 用户id
*/
@NotNull(message = "用户id不能为空", groups = { AddGroup.class, EditGroup.class })
private Long userId;
/**
* 告警最大值
*/
@NotNull(message = "告警最大值不能为空", groups = { AddGroup.class, EditGroup.class })
private Double limitUpper;
/**
* 告警最小值
*/
@NotNull(message = "告警最小值不能为空", groups = { AddGroup.class, EditGroup.class })
private Double limitLower;
/**
* 告警当前值
*/
@NotNull(message = "告警当前值不能为空", groups = { AddGroup.class, EditGroup.class })
private Double curValue;
/**
* 进展状态
*/
@NotNull(message = "进展状态不能为空", groups = { AddGroup.class, EditGroup.class })
private Integer processStatus;
/**
* 故障类型
*/
@NotNull(message = "故障类型不能为空", groups = { AddGroup.class, EditGroup.class })
private Integer warnType;
/**
* 处理人
*/
private String handlerName;
/**
* 处理时间
*/
private Date processTime;
/**
* 备注
*/
private String remark;
}

View File

@@ -0,0 +1,63 @@
package com.intc.fishery.domain.bo;
import com.intc.common.core.validate.AddGroup;
import com.intc.common.core.validate.EditGroup;
import com.intc.fishery.domain.MessageOpRecord;
import com.intc.common.mybatis.core.domain.BaseEntity;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
/**
* 用户操作记录业务对象 aqu_message_op_record
*
* @author intc
* @date 2025-10-23
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = MessageOpRecord.class, reverseConvertGenerate = false)
public class MessageOpRecordBo extends BaseEntity {
/**
* 主键id
*/
@NotNull(message = "主键id不能为空", groups = { EditGroup.class })
private Long id;
/**
* 用户id
*/
@NotNull(message = "用户id不能为空", groups = { AddGroup.class, EditGroup.class })
private Long userId;
/**
* 操作用户id
*/
private Long opUserId;
/**
* 操作标题
*/
@NotBlank(message = "操作标题不能为空", groups = { AddGroup.class, EditGroup.class })
private String title;
/**
* 操作内容
*/
@NotBlank(message = "操作内容不能为空", groups = { AddGroup.class, EditGroup.class })
private String message;
/**
* 操作方式
*/
@NotNull(message = "操作方式不能为空", groups = { AddGroup.class, EditGroup.class })
private Integer opType;
/**
* 备注
*/
private String remark;
}

View File

@@ -0,0 +1,46 @@
package com.intc.fishery.domain.bo;
import com.intc.common.core.validate.AddGroup;
import com.intc.common.core.validate.EditGroup;
import com.intc.fishery.domain.TecentUserCache;
import com.intc.common.mybatis.core.domain.BaseEntity;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
/**
* 公众号用户缓存业务对象 aqu_tecent_user_cache
*
* @author intc
* @date 2025-10-23
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = TecentUserCache.class, reverseConvertGenerate = false)
public class TecentUserCacheBo extends BaseEntity {
/**
* 主键id
*/
@NotNull(message = "主键id不能为空", groups = { EditGroup.class })
private Long id;
/**
* openId
*/
@NotBlank(message = "openId不能为空", groups = { AddGroup.class, EditGroup.class })
private String openId;
/**
* unionId
*/
@NotBlank(message = "unionId不能为空", groups = { AddGroup.class, EditGroup.class })
private String unionId;
/**
* 备注
*/
private String remark;
}

View File

@@ -0,0 +1,99 @@
package com.intc.fishery.domain.vo;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.intc.fishery.domain.DeviceWarnCombine;
import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
import cn.idev.excel.annotation.ExcelProperty;
import com.intc.common.excel.annotation.ExcelDictFormat;
import com.intc.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
/**
* 设备告警信息视图对象 mgr_device_warn_combine
*
* @author intc
* @date 2025-10-23
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = DeviceWarnCombine.class)
public class DeviceWarnCombineVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键id
*/
@ExcelProperty(value = "主键id")
private Long id;
/**
* 设备编号
*/
@ExcelProperty(value = "设备编号")
private String deviceSerialNum;
/**
* 设备类型
*/
@ExcelProperty(value = "设备类型", converter = ExcelDictConvert.class)
@ExcelDictFormat(dictType = "aqu_device_type")
private Integer deviceType;
/**
* 参数类型
*/
@ExcelProperty(value = "参数类型", converter = ExcelDictConvert.class)
@ExcelDictFormat(dictType = "threshold_type")
private Integer thresholdType;
/**
* 进展状态
*/
@ExcelProperty(value = "进展状态", converter = ExcelDictConvert.class)
@ExcelDictFormat(dictType = "process_status")
private Integer processStatus;
/**
* 故障类型
*/
@ExcelProperty(value = "故障类型", converter = ExcelDictConvert.class)
@ExcelDictFormat(dictType = "risk_type")
private Integer warnType;
/**
* 告警总数量
*/
@ExcelProperty(value = "告警总数量")
private Integer totalCount;
/**
* 处理人
*/
@ExcelProperty(value = "处理人")
private String handlerName;
/**
* 处理时间
*/
@ExcelProperty(value = "处理时间")
private Date processTime;
/**
* 创建时间
*/
@ExcelProperty(value = "创建时间")
private Date createTime;
private Date updateTime;
}

View File

@@ -0,0 +1,120 @@
package com.intc.fishery.domain.vo;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.intc.common.excel.annotation.ExcelDictFormat;
import com.intc.common.excel.convert.ExcelDictConvert;
import com.intc.common.json.handler.DoubleSerializer;
import com.intc.fishery.domain.DeviceWarnOne;
import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
import cn.idev.excel.annotation.ExcelProperty;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
/**
* 设备报警明细视图对象 mgr_device_warn_one
*
* @author intc
* @date 2025-10-23
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = DeviceWarnOne.class)
public class DeviceWarnOneVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键id
*/
@ExcelProperty(value = "主键id")
private Long id;
/**
* 报警主表id
*/
@ExcelProperty(value = "报警主表id")
private Long warnCombineId;
/**
* 用户id
*/
@ExcelProperty(value = "用户id")
private Long userId;
/**
* 告警最大值
*/
@ExcelProperty(value = "告警最大值")
private Double limitUpper;
/**
* 告警最小值
*/
@ExcelProperty(value = "告警最小值")
private Double limitLower;
/**
* 告警当前值
*/
@ExcelProperty(value = "告警当前值")
@JsonSerialize(using = DoubleSerializer.class)
private Double curValue;
/**
* 进展状态
*/
@ExcelProperty(value = "进展状态", converter = ExcelDictConvert.class)
@ExcelDictFormat(dictType = "process_status")
private Integer processStatus;
/**
* 故障类型
*/
@ExcelProperty(value = "故障类型", converter = ExcelDictConvert.class)
@ExcelDictFormat(dictType = "risk_type")
private Integer warnType;
/**
* 处理人
*/
@ExcelProperty(value = "处理人")
private String handlerName;
/**
* 处理时间
*/
@ExcelProperty(value = "处理时间")
private Date processTime;
/**
* 设备编号
*/
@ExcelProperty(value = "设备编号")
private String deviceSerialNum;
/**
* 设备类型
*/
@ExcelProperty(value = "设备类型", converter = ExcelDictConvert.class)
@ExcelDictFormat(dictType = "aqu_device_type")
private Integer deviceType;
/**
* 参数类型
*/
@ExcelProperty(value = "参数类型", converter = ExcelDictConvert.class)
@ExcelDictFormat(dictType = "threshold_type")
private Integer thresholdType;
private Date createTime;
private Date updateTime;
}

View File

@@ -0,0 +1,101 @@
package com.intc.fishery.domain.vo;
import com.intc.fishery.domain.MessageOpRecord;
import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
import cn.idev.excel.annotation.ExcelProperty;
import com.intc.common.excel.annotation.ExcelDictFormat;
import com.intc.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
/**
* 用户操作记录视图对象 aqu_message_op_record
*
* @author intc
* @date 2025-10-23
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = MessageOpRecord.class)
public class MessageOpRecordVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键id
*/
@ExcelProperty(value = "主键id")
private Long id;
/**
* 用户id
*/
@ExcelProperty(value = "用户id")
private Long userId;
/**
* 操作用户id
*/
@ExcelProperty(value = "操作用户id")
private Long opUserId;
/**
* 操作标题
*/
@ExcelProperty(value = "操作标题")
private String title;
/**
* 操作内容
*/
@ExcelProperty(value = "操作内容")
private String message;
/**
* 操作方式
*/
@ExcelProperty(value = "操作方式", converter = ExcelDictConvert.class)
@ExcelDictFormat(dictType = "op_type")
private Integer opType;
/**
* 备注
*/
@ExcelProperty(value = "备注")
private String remark;
/**
* 用户名(关联查询)
*/
@ExcelProperty(value = "用户名")
private String userName;
/**
* 用户手机号(关联查询)
*/
@ExcelProperty(value = "用户手机号")
private String userPhonenumber;
/**
* 操作用户名(关联查询)
*/
@ExcelProperty(value = "操作用户名")
private String opUserName;
/**
* 操作用户手机号(关联查询)
*/
@ExcelProperty(value = "操作用户手机号")
private String opUserPhonenumber;
private Date createTime;
private Date updateTime;
}

View File

@@ -0,0 +1,58 @@
package com.intc.fishery.domain.vo;
import com.intc.fishery.domain.TecentUserCache;
import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
import cn.idev.excel.annotation.ExcelProperty;
import com.intc.common.excel.annotation.ExcelDictFormat;
import com.intc.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
/**
* 公众号用户缓存视图对象 aqu_tecent_user_cache
*
* @author intc
* @date 2025-10-23
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = TecentUserCache.class)
public class TecentUserCacheVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键id
*/
@ExcelProperty(value = "主键id")
private Long id;
/**
* openId
*/
@ExcelProperty(value = "openId")
private String openId;
/**
* unionId
*/
@ExcelProperty(value = "unionId")
private String unionId;
/**
* 备注
*/
@ExcelProperty(value = "备注")
private String remark;
private Date createTime;
private Date updateTime;
}