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;

    /**
     * 车位免费时间（秒），1800=免费30分钟
     */
    private Integer spaceTimeoutSeconds;

    /**
     * 车位超时收费方式，0=只收超时后费用，1=收取全部占用时间费用
     */
    private Integer spaceTimeoutMode;

    /**
     * 最低消费（分），累计消费为0时不收取
     */
    private Integer amountMinLimit;

    /**
     * 最高消费/预付金额（分），防止用户忘记关机导致消费过高
     */
    private Integer prepayMoney;

    /**
     * 一段时间不操作设备启用收费
     */
    private Integer priceCountdown;

    /**
     * 空闲超时策略配置，0=超时后结束订单，1=超时后倒计时扣费
     */
    private Integer idleTimeoutStrategy;

    /**
     * 时区设置（分钟），范围±720，北京时间=480
     */
    private Integer timezone;

    /**
     * 用户输入信息页是否需要（自动洗车机版本适用）
     */
    private Integer userInputMode;

    /**
     * 登录超时时间
     */
    private Integer loginTimeout;

    /**
     * 清水泡沫联动，0=关，1=开（打开泡沫继电器同时自动打开清水电磁阀）
     */
    private Integer foamLinkMode;

    /**
     * 根据流量收费，0=关，1=开（只有有流量时才收清水或泡沫费用）
     */
    private Integer motorFeeFlow;

    /**
     * 镀膜功能开关，0=关，1=开
     */
    private Integer coatMode;

    /**
     * 吹气功能开关，0=关，1=开
     */
    private Integer blowMode;

    /**
     * 是否安装了水流量传感器，0=未安装，1=已安装
     */
    private Integer sensorWater;

    /**
     * 照明继电器复用，0=照明继电器，1=远程控制继电器
     */
    private Integer lightAltMode;

    // ==================== 语音 TTS 配置 ====================

    /** 按键开机提示音 */
    private String ttsOpenByButton;
    /** 网络开机提示音 */
    private String ttsOpenByNetwork;
    /** 刷卡开机提示音 */
    private String ttsOpenByCard;
    /** 投币开机提示音 */
    private String ttsOpenByCoin;

    /** 按键关机提示音 */
    private String ttsCloseByButton;
    /** 刷卡关机提示音 */
    private String ttsCloseByCard;
    /** 网络关机提示音 */
    private String ttsCloseByNetwork;
    /** 空闲超时关机提示音 */
    private String ttsCloseByIdleTimeout;
    /** 操作超时关机提示音 */
    private String ttsCloseByOperationTimeout;
    /** 余额不足关机提示音 */
    private String ttsCloseByNoBalance;
    /** 系统错误关机提示音 */
    private String ttsCloseBySysError;

    /** 打开清水提示音 */
    private String ttsWaterOn;
    /** 关闭清水提示音 */
    private String ttsWaterOff;
    /** 打开泡沫提示音 */
    private String ttsFoamOn;
    /** 关闭泡沫提示音 */
    private String ttsFoamOff;
    /** 打开吸尘器提示音 */
    private String ttsCleanerOn;
    /** 关闭吸尘器提示音 */
    private String ttsCleanerOff;
    /** 打开水龙头提示音 */
    private String ttsTapOn;
    /** 关闭水龙头提示音 */
    private String ttsTapOff;
    /** 打开消毒提示音 */
    private String ttsUserExtOn;
    /** 关闭消毒提示音 */
    private String ttsUserExtOff;

    /** 用户登录提示音 */
    private String ttsAlertUserLogin;
    /** 登录超时提示音 */
    private String ttsAlertUserLoginTimeout;
    /** 未输入账号提示音 */
    private String ttsAlertAccountRequired;
    /** 未输入密码提示音 */
    private String ttsAlertPasswordRequired;
    /** 账号长度错误提示音 */
    private String ttsAlertAccountLenError;
    /** 密码长度错误提示音 */
    private String ttsAlertPasswordLenError;

    /** 系统启动提示音 */
    private String ttsAlertSysBoot;
    /** 空闲模式提示音 */
    private String ttsAlertIdleMode;
    /** 非营业时间段提示音 */
    private String ttsAlertSleepMode;
    /** 配置查看模式提示音 */
    private String ttsAlertConfigMode;
    /** 维护模式提示音 */
    private String ttsAlertMaintenanceMode;
    /** 无水提示音 */
    private String ttsAlertNoWater;
    /** 无泡沫提示音 */
    private String ttsAlertNoFoam;
    /** 电机热保护提示音 */
    private String ttsAlertMotorError;
    /** 空闲超时关机前提示音 */
    private String ttsAlertIdleRemainTime;
    /** 操作超时关机前提示音 */
    private String ttsAlertOperationRemainTime;
    /** 用户投币后提示音 */
    private String ttsAlertInsertCoin;

    private String name;
    private String remark;


}
