package cn.hanghui.outapi.platform.tenant.entity.dto;

import cn.hanghui.outapi.platform.tenant.entity.enums.*;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;

@Data
public class DeviceDefaultParam {

    @ApiModelProperty(value = "是否启用支付宝人脸能力 默认：true")
    public static Boolean defaultUseAlipayFace = Boolean.TRUE;

    @ApiModelProperty(value = "刷脸成功结果页时长 1-10 默认值2")
    public static Integer defaultSuccessPageTime = 2;

    @ApiModelProperty(value = "刷脸失败结果页时长 1-10 默认值5")
    public static Integer defaultFailPageTime = 5;

    @ApiModelProperty(value = "是否启用身份证功能 默认：true")
    public static Boolean defaultUseIdcard = Boolean.TRUE;

    @ApiModelProperty(value = "是否人证比对 默认：false")
    public static Boolean defaultUsePersonCard = Boolean.FALSE;

    @ApiModelProperty(value = "是否启用二维码功能 默认：true")
    public static Boolean defaultUseQrcode = Boolean.TRUE;

    @ApiModelProperty(value = "是否启用联动平台 默认：true")
    public static Boolean defaultUseLinkage = Boolean.TRUE;

    @ApiModelProperty(value = "刷脸模式: 点击/自动 click/auto  默认 auto")
    public static String defaultFaceMode = "auto";

    @ApiModelProperty(value = "点击刷脸按钮文本  默认 点击开始刷脸核验")
    public static String defaultClickButtonText = "点击开始刷脸核验";

    @ApiModelProperty(value = "是否抓拍人脸 默认：false")
    public static Boolean defaultIsCaptureFace = false;

    @ApiModelProperty(value = "need1V1是否使用支付宝刷证提示页 默认：true")
    public static Boolean defaultIsNeed1V1 = true;

    @ApiModelProperty(value = "开门信号: 继电器/RS232 default/RS232 默认：default")
    public static String defaultUseSerialPort = "default";

    @ApiModelProperty(value = "补光灯: 自动 auto 默认:auto")
    public static String defaultLightMode = "auto";

    @ApiModelProperty(value = "语音音量 0-100 默认值80")
    public static Integer defaultVolume = 80;

    @ApiModelProperty(value = "成功语音 默认: 请通行")
    public static String defaultSucVoice = "请通行";

    @ApiModelProperty(value = "成功文字 默认: 请通行")
    public static String defaultSucText = "请通行";

    @ApiModelProperty(value = "刷脸失败语音 默认: 请刷证或刷码")
    public static String defaultFailVoice = "请刷证或刷码";

    @ApiModelProperty(value = "刷脸失败文字 默认: 请刷证或刷码")
    public static String defaultFailText = "请刷证或刷码";

    @ApiModelProperty(value = "隐藏底部导航栏 默认: false")
    public static Boolean defaultHideNavigationBar = false;

    @ApiModelProperty(value = "禁止下拉通知栏 默认: false")
    public static Boolean defaultForbidPullDown = false;

    @ApiModelProperty(value = "联动平台地址")
    public static String defaultLinkageAds = null;

    @ApiModelProperty(value = "首页图片")
    public static String defaultHomePageUrl = null;

    @ApiModelProperty(value = "过渡图片")
    public static String defaultTransitionPageUrl = null;

    @ApiModelProperty(value = "设备在线状态心跳地址 30秒上报一次")
    public static String defaultHeartTrackingUrl = "https://hhomc.hz-hanghui.com:8096/middle-management/api/v1/device/heart/tracking";

    @ApiModelProperty(value = "进出记录推送地址")
    public static String defaultTransitPushUrl = "https://tx.hz-hanghui.com:8088/yx-fyzd/EventRecords";

    @ApiModelProperty(value = "是否显示顶部栏")
    public static Boolean defaultShowTopBar;

    @ApiModelProperty(value = "顶部栏左边显示内容")
    public static String defaultLeftTopBarText;

    @ApiModelProperty(value = "顶部栏右边显示内容")
    public static String defaultRightTopBarText;

    @ApiModelProperty(value = "通行方式: 通用(normal) 进站刷脸全量通行(inStation)  出站刷脸全量通行(outStation)")
    public static String defaultPassWay = "normal";

    /**
     * ============================20231110添加===========================
     */
    @ApiModelProperty(value = "是否开启年龄限制")
    public static Boolean defaultIsOpenAgeLimit;

    @ApiModelProperty(value = "禁止进入文本")
    public static String defaultAgeForbidText;

    @ApiModelProperty(value = "设备管理员密码")
    public static String defaultMpassword;
    /**
     * ============================20231128添加===========================
     */
    @ApiModelProperty(value = "是否开启护照机")
    public static Boolean isOpenPassport = false;

    @ApiModelProperty(value = "是否推送门磁信号")
    public static Boolean isPushGM = false;

    @ApiModelProperty(value = "门磁信号推送地址")
    public static String GMAddress = "";

    @ApiModelProperty(value = "门磁信号推送频率")
    public static Integer GMFrequency = 1000;

    @ApiModelProperty(value = "应用是否自启动")
    public static Boolean autoLaunch = false;
    /**
     * ============================20231128添加===========================
     */
    @ApiModelProperty(value = "是否开启进场识别")
    public static Boolean useEntryDetector = false;


    /**
     * ============================20240103添加===========================
     */

    @ApiModelProperty(value = "日志推送地址")
    public static String defaultLogPushUrl = "https://hhomc.hz-hanghui.com:8096/middle-management/api/v1/app/log/add";
    /**
     * @see cn.hanghui.outapi.platform.tenant.entity.enums.CameraTypeEnum
     */
    @ApiModelProperty(value = "摄像头类型 IR-双目  3D-3D结构光 ")
    public static String cameraType = CameraTypeEnum.IR.getCode();
    /**
     * @see cn.hanghui.outapi.platform.tenant.entity.enums.CameraBrandEnum
     */
    @ApiModelProperty(value = "品牌 Normal-通用   Mario-马里奥")
    public static String cameraBrand = CameraBrandEnum.NORMAL.getCode();
    /**
     * ============================20240105添加===========================
     */
    @ApiModelProperty(value = "进场刷脸模式")
    public static String entryFaceMode = EntryFaceModeEnum.NORMAL.getCode();
    /**
     * ============================20240228添加===========================
     */
    @ApiModelProperty(value = "用户信息输出模式")
    public static String defaultUserOutputMode = UserOutputModeEnum.NO_OUTPUT.getCode();

    @ApiModelProperty(value = "身份证阅读器品牌 IdCardReaderBrandEnum")
    public static Integer defaultIdCardReaderBrand = IdCardReaderBrandEnum.NFC.getCode();
    /**
     * ============================20240327添加===========================
     */
    /**
     * @see cn.hanghui.outapi.platform.tenant.entity.enums.LinkageCheckModeEnum
     */
    @ApiModelProperty(value = "联动平台校验模式 1-通用 2-预检查模式")
    public static Integer defaultLinkageCheckMode = LinkageCheckModeEnum.COMMON.getCode();
    /**
     * @see cn.hanghui.outapi.platform.tenant.entity.enums.ResultPageTemplateEnum
     */
    @ApiModelProperty(value = "结果页模版 1-通用版 2-悬浮版")
    public static Integer defaultResultPageTemplate = ResultPageTemplateEnum.COMMON.getCode();
    /**
     * ============================20240423添加===========================
     */
    @ApiModelProperty(value = "开闭时间间隔（s）")
    public static Integer defaultOpenCloseInterval = 1;
    @ApiModelProperty(value = "信号间间隔（s）")
    public static Integer defaultSignalInterval = 1;
    @ApiModelProperty(value = "门磁超时时间（s）")
    public static Integer defaultGateTimeOut = 60;
    /**
     * ============================20240503添加===========================
     */
    @ApiModelProperty(value = "是否解析身份证照片 0-关闭 1-开启 默认-1")
    public static Integer defaultAnalysisPhoto = 1;
    @ApiModelProperty(value = "是否解析身份证指纹 0-关闭 1-开启 默认-0")
    public static Integer defaultAnalysisFingerprint = 0;
    /**
     * ============================20240506添加===========================
     */
    @ApiModelProperty(value = "同一人刷证间隔时间 取值范围0-20 默认-3")
    public static Integer defaultIdCardInterval = 3;
    /**
     * ============================20240603添加===========================
     */
    @ApiModelProperty(value = "是否开启纯采集匿名入库 false-关闭 true-开启 默认false")
    public static Boolean defaultAnonymousStorage = false;
    @ApiModelProperty(value = "刷脸失败是否静默显示 false-关闭 true-开启 默认false")
    public static Boolean defaultCompareSilentDisplay = false;
    @ApiModelProperty(value = "刷脸失败静默时长 默认2")
    public static Integer defaultCompareSilentDisplayTime = 2;

    @ApiModelProperty(value = "zoloConfig摄像头配置")
    public static ZoloConfigDto initZoloConfig() {
        ZoloConfigDto dto = new ZoloConfigDto();
        dto.setAlgorithmAngle(270);
        dto.setDisplayAngle(90);
        dto.setIsDisplayMirror(Boolean.TRUE);
        dto.setIsMirror(Boolean.TRUE);
        dto.setSupAlgorithmAngle(270);
        return dto;
    }


}
