package com.shlb.timescaledbutils.entity; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler; import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import lombok.experimental.Accessors; import java.util.Date; import java.util.Map; /** * 点位时序数据实体类 * 对应 TimescaleDB 中的 point_time_data 超表 */ @Data @Accessors(chain = true) @TableName(value = "point_time_data", autoResultMap = true) public class PointData { /** * 时间戳 (TimescaleDB 的核心分区键) */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date time; /** * 点位 Key */ private String pointKey; /** * 点位值 */ private String pointValue; /** * 可选的标签/元数据 (JSONB) */ @TableField(typeHandler = FastjsonTypeHandler.class) private Map tags; /** * 班次 (1位数字) */ private Integer shift; /** * 设备号 (3位数字) */ private Integer equNo; }