package com.bonus.canteen.core.device.domain;

import com.bonus.common.core.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.ToString;
import com.bonus.common.core.web.domain.BaseEntity;

/**
 * 设备资料对象 device_info
 * 
 * @author xsheng
 * @date 2025-04-03
 */


@Data
@ToString
public class DeviceInfo extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /** 设备id  */
    private Long deviceId;

    /** 商家id */
    private Long tenantId;

    /** 人员范围 */
    @Excel(name = "人员范围")
    @ApiModelProperty(value = "人员范围")
    private Long effId;

    /** 设备在线状态1在线2离线 */
    @Excel(name = "设备在线状态1在线2离线")
    @ApiModelProperty(value = "设备在线状态1在线2离线")
    private Long onlineState;

    /** 版本号 */
    @Excel(name = "版本号")
    @ApiModelProperty(value = "版本号")
    private Long versionCode;

    /** 版本名称 */
    @Excel(name = "版本名称")
    @ApiModelProperty(value = "版本名称")
    private String versionName;

    /** 消费模式(扣费模式)  1-手动 2-定额 3-类别 */
    @Excel(name = "消费模式(扣费模式)  1-手动 2-定额 3-类别")
    @ApiModelProperty(value = "消费模式(扣费模式)  1-手动 2-定额 3-类别")
    private Long consumMode;

    /** 通讯模式 */
    @Excel(name = "通讯模式")
    @ApiModelProperty(value = "通讯模式")
    private Long commMode;

    /** 设备ip  */
    @Excel(name = "设备ip ")
    @ApiModelProperty(value = "设备ip ")
    private String deviceIp;

    /** 子网掩码  */
    @Excel(name = "子网掩码 ")
    @ApiModelProperty(value = "子网掩码 ")
    private String deviceMask;

    /** 设备mac  */
    @Excel(name = "设备mac ")
    @ApiModelProperty(value = "设备mac ")
    private String deviceMac;

    /** 网关  */
    @Excel(name = "网关 ")
    @ApiModelProperty(value = "网关 ")
    private String deviceGateway;

    /** 首选dns  */
    @Excel(name = "首选dns ")
    @ApiModelProperty(value = "首选dns ")
    private String firstDns;

    /** 备选dns  */
    @Excel(name = "备选dns ")
    @ApiModelProperty(value = "备选dns ")
    private String nextDns;

    /** 设备sn码 */
    @Excel(name = "设备sn码")
    @ApiModelProperty(value = "设备sn码")
    private String deviceSn;

    /** 设备名称  */
    @Excel(name = "设备名称 ")
    @ApiModelProperty(value = "设备名称 ")
    private String deviceName;

    /** 设备编号  */
    @Excel(name = "设备编号 ")
    @ApiModelProperty(value = "设备编号 ")
    private String deviceNum;

    /** 设备型号  */
    @Excel(name = "设备型号 ")
    @ApiModelProperty(value = "设备型号 ")
    private String deviceModel;

    /** 设备类型  */
    @Excel(name = "设备类型 ")
    @ApiModelProperty(value = "设备类型 ")
    private Long deviceType;

    /** 设备密码 */
    @Excel(name = "设备密码")
    @ApiModelProperty(value = "设备密码")
    private String devicePwd;

    /** 设备安装地址 */
    @Excel(name = "设备安装地址")
    @ApiModelProperty(value = "设备安装地址")
    private String deviceAddr;

    /** 设备key */
    @Excel(name = "设备key")
    @ApiModelProperty(value = "设备key")
    private String deviceKey;

    /** 父类设备id */
    @Excel(name = "父类设备id")
    @ApiModelProperty(value = "父类设备id")
    private Long deviceParentId;

    /** 父设备类型 */
    @Excel(name = "父设备类型")
    @ApiModelProperty(value = "父设备类型")
    private String deviceParentType;

    /** 服务器ip/域名 */
    @Excel(name = "服务器ip/域名")
    @ApiModelProperty(value = "服务器ip/域名")
    private String deviceServiceIp;

    /** 服务器端口 */
    @Excel(name = "服务器端口")
    @ApiModelProperty(value = "服务器端口")
    private String deviceServicePort;

    /** 是否限额 */
    @Excel(name = "是否限额")
    @ApiModelProperty(value = "是否限额")
    private Long ifQuotaLimit;

    /** 是否打折 */
    @Excel(name = "是否打折")
    @ApiModelProperty(value = "是否打折")
    private Long ifDiscount;

    /** 是否限次 */
    @Excel(name = "是否限次")
    @ApiModelProperty(value = "是否限次")
    private Long ifTimeLimit;

    /** 是否启用叫号 */
    @Excel(name = "是否启用叫号")
    @ApiModelProperty(value = "是否启用叫号")
    private Long ifUseCallNum;

    /** 设备是否启用 1-是 2-否 */
    @Excel(name = "设备是否启用 1-是 2-否")
    @ApiModelProperty(value = "设备是否启用 1-是 2-否")
    private Long ifEnable;

    /** 图片地址（当mch_type为40 时，该字段表示背景图） */
    @Excel(name = "图片地址", readConverterExp = "当=mch_type为40,时=，该字段表示背景图")
    private String imgUrl;

    /** 账户余额不足多少提醒 */
    @Excel(name = "账户余额不足多少提醒")
    @ApiModelProperty(value = "账户余额不足多少提醒")
    private Long amountNotify;

    /** 餐盘绑定有效时间 */
    @Excel(name = "餐盘绑定有效时间")
    @ApiModelProperty(value = "餐盘绑定有效时间")
    private Long bindingValidTime;

    /** 订单自动结算时间 */
    @Excel(name = "订单自动结算时间")
    @ApiModelProperty(value = "订单自动结算时间")
    private Long ordAutomaticPay;

    /** 是否允许离线消费 */
    @Excel(name = "是否允许离线消费")
    @ApiModelProperty(value = "是否允许离线消费")
    private Long ifOffLinePay;

    /** 报警时长 */
    @Excel(name = "报警时长")
    @ApiModelProperty(value = "报警时长")
    private Long alarmTime;

    /** 勺子重量 */
    @Excel(name = "勺子重量")
    @ApiModelProperty(value = "勺子重量")
    private Long spoonWeight;

    /** 计量主机余量报警值 */
    @Excel(name = "计量主机余量报警值")
    @ApiModelProperty(value = "计量主机余量报警值")
    private Long weightRemAlarm;

    /** 心跳包时间(电子菜排) */
    @Excel(name = "心跳包时间(电子菜排)")
    @ApiModelProperty(value = "心跳包时间(电子菜排)")
    private Long heartBeatTime;

    /** 轮播播放时间(电子菜排) */
    @Excel(name = "轮播播放时间(电子菜排)")
    @ApiModelProperty(value = "轮播播放时间(电子菜排)")
    private Long carouselTime;

    /** 字幕标语(电子菜排) */
    @Excel(name = "字幕标语(电子菜排)")
    @ApiModelProperty(value = "字幕标语(电子菜排)")
    private String titleSlogan;

    /** 字体大小(电子菜排) */
    @Excel(name = "字体大小(电子菜排)")
    @ApiModelProperty(value = "字体大小(电子菜排)")
    private Long fontSize;

    /** 信息发布屏图片 */
    @Excel(name = "信息发布屏图片")
    @ApiModelProperty(value = "信息发布屏图片")
    private String imageMap;

    /** 信息发布屏样式 */
    @Excel(name = "信息发布屏样式")
    @ApiModelProperty(value = "信息发布屏样式")
    private Long guiStyle;

    /** 字体颜色 */
    @Excel(name = "字体颜色")
    @ApiModelProperty(value = "字体颜色")
    private String fontColor;

    /** 行数 */
    @Excel(name = "行数")
    @ApiModelProperty(value = "行数")
    private Long lineNum;

    /** 刷脸设备单次扣款金额 */
    @Excel(name = "刷脸设备单次扣款金额")
    @ApiModelProperty(value = "刷脸设备单次扣款金额")
    private Long oncePayAmount;

    /** 设备数据传输状态，1-传输完毕， 0-传输中 */
    @Excel(name = "设备数据传输状态，1-传输完毕， 0-传输中")
    @ApiModelProperty(value = "设备数据传输状态，1-传输完毕， 0-传输中")
    private Long dataStatus;

    /** 单笔订单开门数量 */
    @Excel(name = "单笔订单开门数量")
    @ApiModelProperty(value = "单笔订单开门数量")
    private Long ordOpenLimit;

    /**  单个柜门存单上限 */
    @Excel(name = " 单个柜门存单上限")
    @ApiModelProperty(value = " 单个柜门存单上限")
    private Long detailNumLimit;

    /** 第三方终端sn */
    @Excel(name = "第三方终端sn")
    @ApiModelProperty(value = "第三方终端sn")
    private String terminalSn;

    /** 第三方终端秘钥 */
    @Excel(name = "第三方终端秘钥")
    @ApiModelProperty(value = "第三方终端秘钥")
    private String terminalKey;

    /** 打印机状态 1、离线。
     * 2、在线，工作状态正常。
     * 3、在线，工作状态不正常。 */
    @Excel(name = "打印机状态 1、离线。2、在线，工作状态正常。 3、在线，工作状态不正常。")
    @ApiModelProperty(value = "打印机状态 1、离线。 2、在线，工作状态正常。 3、在线，工作状态不正常。")
    private Long priStatus;

    /** 打印机key */
    @Excel(name = "打印机key")
    @ApiModelProperty(value = "打印机key")
    private String priKey;

    /** 闸机默认消费金额 */
    @Excel(name = "闸机默认消费金额")
    @ApiModelProperty(value = "闸机默认消费金额")
    private Long gateDefaultAmount;

    /** 设备状态1正常 2异常 */
    @Excel(name = "设备状态1正常 2异常")
    @ApiModelProperty(value = "设备状态1正常 2异常")
    private Long deviceState;

    /** 通信协议：1、http 2、mqtt */
    @Excel(name = "通信协议：1、http 2、mqtt")
    @ApiModelProperty(value = "通信协议：1、http 2、mqtt")
    private Long deviceAgreement;

    /** 乐观锁  */
    @Excel(name = "乐观锁 ")
    @ApiModelProperty(value = "乐观锁 ")
    private Long revision;


}
