package com.sckw.system.model;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.experimental.Accessors;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;

/**
 * 无人地磅
 */
@Data
@Accessors(chain = true)
@TableName("kws_weighbridge")
public class KwsWeighbridge implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    @TableId(type = IdType.ASSIGN_ID)
    private Long id;

    @TableField("ent_id")
    private Long entId;

    @TableField("weighbridge_name")
    private String weighbridgeName;

    @TableField("unique_code")
    private String uniqueCode;

    /**
     * 在线状态: 0-离线, 1-在线
     */
    @TableField("online_status")
    private Integer onlineStatus;

    @TableField("printer_id")
    private Long printerId;

    @TableField("description")
    private String description;

    /**
     * 差异化配置，先用 JSON 字符串承载
     */
    @TableField("diff_config")
    private String diffConfig;

    @TableField("last_restart_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date lastRestartTime;

    /**
     * 启停状态: 0-启用, 1-停用
     */
    @TableField("status")
    private Integer status;

    @TableField("create_by")
    private Long createBy;

    @TableField("create_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;

    @TableField("update_by")
    private Long updateBy;

    @TableField("update_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updateTime;

    @TableField("del_flag")
    private Integer delFlag;

    @TableField("remark")
    private String remark;
}
