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

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 * @author shisl
 * @package cn.hanghui.outapi.platform.tenant.entity.dto
 * @class IotDeviceConfigPageDto
 * @date 2023/12/5 下午1:36
 * @description
 */
@Data
public class IotDeviceAppletUpdateConfigDto {

    @ApiModelProperty(value = "认证token")
    @NotBlank(message = "请传入认证的token")
    private String token;
    @ApiModelProperty("设备编号")
    @NotBlank(message = "请传入设备编号")
    private String sn;


    @ApiModelProperty(value = "启用支付宝刷脸功能 false-不启用 true-启用(默认)")
    private Boolean useAlipayFace;
    @ApiModelProperty(value = "启用身份证功能 false-不启用 true-启用(默认)")
    private Boolean useIdcard;
    @Deprecated
    @ApiModelProperty(value = "身份证阅读器模式 1-在线身份证(默认) 2-离线身份证")
    private Integer idNumberReaderType;
    @ApiModelProperty(value = "启用二维码功能 false-不启用 true-启用(默认)")
    private Boolean useQrcode;
    @ApiModelProperty(value = "设备状态推送地址")
    private String heartTrackingUrl;
    @ApiModelProperty(value = "设备管理员密码")
    private String mpassword;
    @ApiModelProperty(value = "隐藏底部导航栏 false-不启用(默认) true-启用")
    private Boolean hideNavigationBar;
    @ApiModelProperty(value = "禁止下拉通知栏 false-不启用(默认) true-启用")
    private Boolean forbidPullDown;
    @ApiModelProperty(value = "应用是否自启动 false-不启用(默认) true-启用")
    private Boolean autoLaunch;
    @ApiModelProperty(value = "是否自动进入小程序 false-不启用(默认) true-启用")
    private Boolean automaticEnterApplet;
    @ApiModelProperty(value = "启动页地址")
    private String startPageUrl;
    @ApiModelProperty(value = "首页图片地址")
    private String homePageUrl;
    @ApiModelProperty(value = "预览角度")
    @Min(value = 0,message = "预览角度最小为0")
    @Max(value = 270,message = "预览角度最大为270")
    private Integer displayAngle;
    @ApiModelProperty(value = "送算法的图像角度")
    @Min(value = 0,message = "送算法的图像角度最小为0")
    @Max(value = 270,message = "送算法的图像角度最大为270")
    private Integer algorithmAngle;
    @ApiModelProperty(value = "用于ir摄像头算法角度")
    @Min(value = 0,message = "用于ir摄像头算法角度最小为0")
    @Max(value = 270,message = "用于ir摄像头算法角度最大为270")
    private Integer supAlgorithmAngle;
    @ApiModelProperty(value = "预览图像是否需要镜像 false-不启用(默认) true-启用")
    @NotNull(message = "请选择预览图像是否需要镜像")
    private Boolean isDisplayMirror;
    @ApiModelProperty(value = "送算法图像是否镜像 false-不启用(默认) true-启用")
    private Boolean isMirror;

    @ApiModelProperty(value = "在线日志推送地址")
    private String logPushUrl;
    /**
     * @see cn.hanghui.outapi.platform.tenant.entity.enums.CameraTypeEnum
     */
    @ApiModelProperty(value = "摄像头类型 IR-双目  3D-3D结构光 ")
    private String cameraType;
    /**
     * @see cn.hanghui.outapi.platform.tenant.entity.enums.CameraBrandEnum
     */
    @ApiModelProperty(value = "品牌 Normal-通用   Mario-马里奥")
    private String cameraBrand;

    @ApiModelProperty(value = "是否应用侧获取三要素 false-否 true-是")
    private Boolean isAppGetUserInfo;

    @ApiModelProperty(value = "身份证阅读器品牌 IdCardReaderBrandEnum")
    private Integer idCardReaderBrand;

    @ApiModelProperty(value = "语音音量 0-100 默认值80")
    private Integer volume;

    @ApiModelProperty(value = "小程序入口页面地址")
    private String appletEnterPageUrl;

}
