package com.kym.service.awoara.entity;

import com.alibaba.fastjson2.annotation.JSONField;
import lombok.Data;
import lombok.experimental.Accessors;

/**
 * 参数配置项
 */
@Data
@Accessors(chain = true)
public class Config {
    /**
     * 维护模式
     * 0 未设置
     * 1 已设置(屏幕显⽰设备维护界⾯)
     */
    private Integer maintenance_mode;
    /**
     * ⽤户⾃定义信息，屏幕左下⾓文本，可以显⽰公司名称、维护电话、客服电话等
     */
    @JSONField(name = "user_message.1")
    private String user_message_1;
    @JSONField(name = "user_message.2")
    private String user_message_2;
    /**
     * 是否安装了⽔流量传感器
     */
    private String sensor_water;
    /**
     * ⻋位或场地单价(单位：分/分钟)。
     */
    private int price_space;
    /**
     * 清⽔单价(单位：分/分钟)。
     */
    private int price_water;
    /**
     * 泡沫单价(单位：分/分钟)。
     */
    private int price_foam;
    /**
     * ⽔龙头单价(单位：分/分钟)。
     */
    private int price_tap;
    /**
     * 吸尘器单价(单位：分/分钟)
     */
    private int price_cleaner;
    /**
     * ⽤户扩展功能单价(消毒、吹⼲等，单位：分/分钟)。
     */
    private int price_user_ext;
    /**
     * 镀膜的单价(单位：分/分钟)。
     */
    private int price_coat;
    /**
     * 吹⽓的单价(单位：分/分钟)。
     */
    private int price_blow;
    /**
     * 空闲超时，多久不操作设备(⽤户开关功能重新开始倒计时),那么就认为⽤户已离开，直接关闭设备(单位：秒)
     */
    private int idle_timeout;
    /**
     * 操作超时，订单开始之后多久强制关闭，也就是⽤户必须要再多⻓时间内洗完⻋(单位：秒)
     */
    private int operation_timeout;
    /**
     * 快速开机⾦额，按机箱内部的维护按键直接开机(设置为0可以关闭这个功能)
     */
    private int quick_open_money;
    /**
     * 营业时间段控制模块的⼯作模式
     * 0 全天24⼩时暂停营业
     * 1 全天24⼩时营业
     * 2 由时间段控制营业时间,不在营业时间段⽆法开机，屏幕显⽰营业时间信息
     * 例如: 上午营业 "work_time_period.1" = "08:00 - 12:00"和下午营业"work_time_period.2 = "13:30 - 20:00"
     */
    private Integer work_mode;
    /**
     * 营业时间段1,24⼩时制，程序会处理跨凌晨的情况
     */
    @JSONField(name = "work_time_period.1")
    private String work_time_period_1;
    @JSONField(name = "work_time_period.2")
    private String work_time_period_2;
    /**
     * 照明时间段控制模块的⼯作模式
     * 0 全天24⼩时关闭照明
     * 1 全天24⼩时开启照明
     * 2 由时间段控制开灯时间
     */
    private Integer light_mode;
    /**
     * 照明时间段1,参考营业时间段配置
     */
    @JSONField(name = "ight_time_period.1")
    private String light_time_period_1;
    @JSONField(name = "ight_time_period.2")
    private String light_time_period_2;
    /**
     * 声音音量(0~100)
     */
    private int sound_volume;
    /**
     * 屏幕类型(0:不⽀持视频播放的屏幕，1:⽀持视频播放的屏幕,两种屏型号不同，填写错误会导致没有语⾳。)
     */
    private int screen_type;
    /**
     * 视频源(0:内置视频，1:TF卡内的视频，2:U盘内的视频)
     */
    private Integer video_source;
    /**
     * 视频播放延时(单位秒)。设备空闲多久开始循环播放⼴告视频。
     */
    private int video_play_delay;
    /**
     * 订单结束时延时过久关闭⼯作指⽰灯(单位秒)。
     */
    private int work_light_delay;
    /**
     * 洗⻋结束后，费⽤明细⻚⾯显⽰多久(单位秒)。
     */
    private int bill_delay;
    /**
     * 如果有参数出现错误，这⾥给出提⽰信息。
     */
    private String errors;
    /**
     * 空闲关机倒计时剩余时间⼩于这个数字，发出提⽰⾳(正在倒计时关机，请按任意功能键阻⽌关机)
     */
    private int notice_throshold_idle;
    /**
     * 操作时间倒计时剩余时间⼩于这个数字，发出提⽰⾳(您的洗⻋时间剩余不多了，请合理使⽤)
     */
    private int notice_throshold_operation;
    /**
     * 0:流量不能启动电机()；1：有⽔流量的时候启动⾃动启动电机（兼容老客户，新客户请忽略该参数，请不要发送这个参数给板⼦。）。
     */
//    private Integer motor_mode;
    /**
     * 电机启动最少要⼯作多⻓时间(单位毫秒，请勿随意修改)
     */
    private int motor_on_delay;
    /**
     * 电机关闭后要强制保持关闭状态多⻓时间(单位毫秒，请勿随意修改)
     */
    private int motor_off_delay;
    /**
     * 电机关机灵敏度(有流量计有效，单位毫秒，请勿随意修改)
     */
    private int motor_on_interval;
    /**
     * 电机是否根据流量启动(有流量⾃动开启电机，请勿随意修改)
     */
    private int motor_flow_on;
    /**
     * 电机是否根据流量关闭(⽆流量⾃动关闭电机，请勿随意修改)
     */
    private int motor_flow_off;
    /**
     * ⽔龙头开启延时(单位秒，⽔龙头开启多少秒后⾃动关闭，0表⽰不⾃动关闭。)
     */
    private int tap_on_delay;
    /**
     * 投币信号的币值，也就是⼀个币是多少钱单位分(如⼈⺠币1元设置为100，港币5元，设置为500)。
     */
    private int coin_money;
    /**
     * 投币的数量，对于同时接收超过⼀种币值的投币器，投币数量是⽆效的，这个数值等于投币器发出的脉冲数量。
     */
    private int coin_num;
    /**
     * 卡密码，只有相同密码的卡可以通⽤(注意：这个密码要和使⽤卡管理⼯具初始化卡的时候写入的密码⼀致，写入后不能再次修改，
     * 否则由于和机器上密码不⼀致就不能使⽤了 ，机器总是提⽰卡读取错误！)
     */
    private String card_key;
    /**
     * 每次开机的最⼤消费限额(单位分，建议和创建订单的参数prepay_money保持⼀致)
     */
    private int prepay_money;
    /**
     * 为0表⽰关闭，为1表⽰使⽤镀膜功能(注意：这个功能和投币器功能不能同时使⽤。)
     */
    private int coat_mode;
    /**
     * 为0表⽰关闭，为1表⽰使⽤吹⽓功能(注意：这个功能和闸机控制功能不能同时使⽤。)
     */
    private int blow_mode;
}
