package com.kym.entity;

import com.alibaba.fastjson2.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Getter;
import lombok.Setter;

/**
 * <p>
 * 洗车设备参数配置表
 * </p>
 *
 * @author skyline
 * @since 2025-01-19
 */
@Getter
@Setter
@TableName("t_device_config")
public class DeviceConfig extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 维护模式 0：未设置，1：已设置(屏幕显示设备维护界面)
     */
    private Integer maintenanceMode;
    /**
     * 屏幕左下方文本
     */
    @JSONField(name = "user_message1")
    private String userMessage1;

    /**
     * 屏幕右下方文本
     */
    @JSONField(name = "user_message2")
    private String userMessage2;

    /**
     * 场地费单价（分/分钟）
     */
    private Integer priceSpace;
    /**
     * 清水单价（分/分钟）
     */
    private Integer priceWater;

    /**
     * 泡沫单价（分/分钟）
     */
    private Integer priceFoam;

    /**
     * 吸尘单价（分/分钟）
     */
    private Integer priceCleaner;

    /**
     * 洗手单价（分/分钟）
     */
    private Integer priceTap;

    /**
     * 扩展项目单价（分/分钟）
     */
    private Integer priceUserExt;

    /**
     * 镀膜单价（分/分钟）
     */
    private Integer priceCoat;

    /**
     * 吹气单价(分/分钟)
     */
    private Integer priceBlow;

    /**
     * 空闲超时关，1200表示20分钟不操作机器自动结束订单，用户操作一次就重新开始倒计时一下
     */
    private Integer idleTimeout;


    /**
     * 操作超时关机，3600表示每次开机后有60分钟的操作时间，60分钟到了会强制结束订单
     */
    private Integer operationTimeout;

    /**
     * 快速开机⾦额，按机箱内部的维护按键直接开机(设置为0可以关闭这个功能)
     */
    private Integer quickOpenMoney;

    /**
     * 工作模式 0：全天暂停营业 1:全天营业 2:根据时间段开始营业
     */
    private Integer workMode;

    /**
     * 时间段1："08:00 - 12:00" 上午8点到中午12点营业
     */
    @JSONField(name = "work_time_period1")
    private String workTimePeriod1;

    /**
     * 时间段2："14:00 - 21:00" 下午2点到晚上9点营业
     */
    @JSONField(name = "work_time_period2")
    private String workTimePeriod2;

    /**
     * 灯光工作模式 0：全天暂停营业 1:全天营业 2:根据时间段开始营业
     */
    private Integer lightMode;

    /**
     * 时间段1："18:00 - 22:00" 下午6点到晚上10点打开照明
     */
    @JSONField(name = "light_time_period1")
    private String lightTimePeriod1;

    /**
     * 时间段2："18:00 - 08:00" 下午6点到早上8点打开照明
     */
    @JSONField(name = "light_time_period2")
    private String lightTimePeriod2;

    /**
     * 提示音音量（0-100）
     */
    private Integer soundVolume;

    /**
     * 屏幕类型(0:不⽀持视频播放的屏幕，1:⽀持视频播放的屏幕,两种屏型号不同，填写错误会导致没有语⾳。)
     */
    private Integer screenType;

    /**
     * 视频源(0:内置视频，1:TF卡内的视频，2:U盘内的视频)
     */
    private Integer videoSource;

    /**
     * 视频播放延时(单位秒)，设备空闲多久开始循环播放⼴告视频
     */
    private Integer videoPlayDelay;

    /**
     * 工作指示灯(室内照明)关闭延时，30表示洗车结束关机后延时30秒关闭工作指示灯，0表示立刻关闭指示灯
     */
    private Integer workLightDelay;

    /**
     * 洗⻋结束后，费⽤明细⻚⾯显⽰多久(单位秒)
     */
    private Integer billDelay;

    /**
     * 水龙头自动关闭延时，30表示打开水龙头后30秒自动关闭水龙头，0表示不允许自动关闭水龙头
     */
    private Integer tapOnDelay;

    /**
     * 空闲超时提示音倒计时，60表示当空闲超时倒计时不足60秒的时候发出提示音，提示用户按任意功能键阻止设备关闭
     */
    private Integer noticeThresholdIdle;

    /**
     * 操作超时提示音倒计时，300表示当剩余操作时间不足5分钟的时候发出提示音，提示用户合理安排剩余时间
     */
    private Integer noticeThresholdOperation;

    /**
     * 启动延时，电机每次启动最少要开多少毫秒
     */
    private Integer motorOnDelay;

    /**
     * 关闭延时，电机每次关闭最少要关闭多少毫秒
     */
    private Integer motorOffDelay;

    /**
     * 关闭灵敏度，多久收不到流量信号就关闭电机
     */
    private Integer motorOnInterval;

    /**
     * 自动启动，有流量的时候是否自动启动水泵，推荐关闭
     */
    private Boolean motorFlowOn;

    /**
     * 自动关闭，没有流量的时候是否自动关闭水泵，推荐开启
     */
    private Boolean motorFlowOff;

    private String name;
    private String remark;


}
