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

import cn.hanghui.outapi.platform.common.entity.po.Base;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.time.LocalDate;
import java.util.Date;

/**
 * @author shisl
 * @package cn.hanghui.outapi.platform.tenant.entity.po
 * @class ProvisionalIdentityProofDevice
 * @date 2024/5/9 下午2:59
 * @description
 */
@Data
@TableName(value = "provisional_identity_proof_device", autoResultMap = true)
public class ProvisionalIdentityProofDevice extends Base {

    //基本信息配置
    @ApiModelProperty(value = "设备编号")
    @TableField("sn")
    private String sn;

    @ApiModelProperty(value = "购买方公司id")
    @TableField("purchaser_id")
    private Long purchaserId;

    @ApiModelProperty(value = "应用类型id")
    @TableField("application_type_id")
    private Long applicationTypeId;

    @ApiModelProperty(value = "设备型号(硬件)id")
    @TableField("device_model_hardware_id")
    private Long deviceModelHardwareId;

    @ApiModelProperty(value = "设备型号(环境)id")
    @TableField("device_model_environment_id")
    private Long deviceModelEnvironmentId;

    @ApiModelProperty(value = "系统类型 1-蚂蚁OS 2-非蚂蚁OS")
    @TableField("system_type_code")
    private Integer systemTypeCode;

    @ApiModelProperty(value = "临证须知主键ID")
    @TableField("provisional_proof_notice_id")
    private Long provisionalProofNoticeId;

    //采集信息配置
    @ApiModelProperty(value = "启用支付宝刷脸功能 false-不启用 true-启用(默认)")
    @TableField("use_alipay_face")
    private Boolean useAlipayFace;

    @ApiModelProperty(value = "是否启用无证登记 默认：false")
    @TableField("no_idcard_register")
    private Boolean noIdcardRegister;

    @ApiModelProperty(value = "无证是否输入手机号 默认：true")
    @TableField("no_idcard_input_phone")
    private Boolean noIdcardInputPhone;

    //三方接口接入配置
    @ApiModelProperty(value = "（new）启用三要素获取特殊码接口 默认：否")
    private Boolean specialCodeSwitch;
    @ApiModelProperty(value = "（new）三要素获取特殊码接口地址")
    private String specialCodeUrl;
    @ApiModelProperty(value = "（new）三要素获取特殊码接口数据是否加解密 默认true")
    private Boolean specialCodeEncryptSwitch;
    @ApiModelProperty(value = "（new）三要素获取特殊码接口数据是否加解密appKey")
    private String specialCodeEncryptAppKey;
    @ApiModelProperty(value = "（new）三要素获取特殊码接口数据是否加解密appSecrete")
    private String specialCodeEncryptAppSecret;
    @ApiModelProperty(value = "（new）三要素获取特殊码接口数据是否加解密PrivateKey")
    private String specialCodeEncryptPrivateKey;
    @ApiModelProperty(value = "（new）三要素获取特殊码接口超时时间：5s")
    private Integer specialCodeTimeout;
    @ApiModelProperty(value = "（new）三要素获取特殊码接口超时提示语 默认-三要素获取特殊码接口请求超时")
    private String specialCodeTimeoutTips;
    @ApiModelProperty(value = "（new）三要素获取特殊码接口失败提示语 默认-三要素获取特殊码接口请求失败")
    private String specialCodeFailedTips;

    //查询地址配置
    @ApiModelProperty(value = "获取办证记录地址")
    @TableField("identity_proof_record_url")
    private String identityProofRecordUrl;

    //推送地址配置
    @ApiModelProperty(value = "办证记录推送地址")
    @TableField("identity_proof_record_push_url")
    private String identityProofRecordPushUrl;

    //功能配置
    @ApiModelProperty(value = "是否打印临时证明")
    @TableField("print_identity_proof")
    private Boolean printIdentityProof;

    @ApiModelProperty(value = "是否启用风险人核查 默认：false")
    @TableField("risk_check")
    private Boolean riskCheck;

    @ApiModelProperty(value = "是否开启小程序授权 默认：false")
    @TableField("mini_auth")
    private Boolean miniAuth;

    //超时时长配置
    @ApiModelProperty(value = "二维码授权超时时长 20（秒）")
    @TableField("auth_qrcode_timeout")
    private Integer authQrcodeTimeout;

    @ApiModelProperty(value = "输入身份证超时时间 30（秒）")
    @TableField("input_idcard_timeout")
    private Integer inputIdcardTimeout;

    @ApiModelProperty(value = "输入手机号超时时间 15（秒）")
    @TableField("input_phone_timeout")
    private Integer inputPhoneTimeout;

    @ApiModelProperty(value = "成功结果页超时时间（普通版） 10（秒）")
    @TableField("common_success_result_page_timeout")
    private Integer commonSuccessResultPageTimeout;

    @ApiModelProperty(value = "成功结果页超时时间（打印版） 5（秒）")
    @TableField("print_success_result_page_timeout")
    private Integer printSuccessResultPageTimeout;

    @ApiModelProperty(value = "失败结果页超时时间（获取三要素失败） 10（秒）")
    @TableField("userinfo_failed_result_page_timeout")
    private Integer userinfoFailedResultPageTimeout;

    @ApiModelProperty(value = "失败结果页超时时间（命中风险人员） 10（秒）")
    @TableField("risk_failed_result_page_timeout")
    private Integer riskFailedResultPageTimeout;

    @ApiModelProperty(value = "失败结果页超时时间（其他） 5（秒）")
    @TableField("common_failed_result_page_timeout")
    private Integer commonFailedResultPageTimeout;

    @ApiModelProperty(value = "刷脸超时时间（秒）")
    @TableField("face_timeout")
    private Integer faceTimeout;
    @ApiModelProperty(value = "1v1比对超时时间（秒）")
    @TableField("one_to_one_timeout")
    private Integer oneToOneTimeout;
    @ApiModelProperty(value = "联网查询超时时间（秒）")
    @TableField("connect_search_timeout")
    private Integer connectSearchTimeout;

    //语音配置
    @ApiModelProperty(value = "支付宝刷脸人脸比对成功提示语音 默认: 比对成功")
    @TableField("face_success_voice")
    private String faceSuccessVoice;

    @ApiModelProperty(value = "支付宝刷脸人脸比对成功提示语音 默认: 比对失败，请再试一次或尝试其他方式办理")
    @TableField("face_fail_voice")
    private String faceFailVoice;

    @ApiModelProperty(value = "办理成功语音提示 默认:办理成功")
    @TableField("identity_proof_success_voice")
    private String identityProofSuccessVoice;

    @ApiModelProperty(value = "打印证明提示音 默认:正在打印临时身份证明")
    @TableField("print_identity_proof_voice")
    private String printIdentityProofVoice;

    @ApiModelProperty(value = "输入身份证提示音语 默认: 请输入身份证")
    @TableField("input_idcard_voice")
    private String inputIdcardVoice;

    @ApiModelProperty(value = "输入手机号提示音语 默认: 请输入手机号")
    @TableField("input_phone_voice")
    private String inputPhoneVoice;

    @ApiModelProperty(value = "联网信息查询提示音语 默认: 正在联网信息查询，请耐心等待")
    @TableField("connect_search_voice")
    private String connectSearchVoice;

    //辖区配置
    @ApiModelProperty(value = "单位标识")
    @TableField("use_company_code")
    private String useCompanyCode;

    @ApiModelProperty(value = "使用单位")
    @TableField("use_company_name")
    private String useCompanyName;

    @ApiModelProperty(value = "地区省市区")
    @TableField("address")
    private String address;

    @ApiModelProperty(value = "派出所")
    @TableField("pcs_name")
    private String pcsName;

    @ApiModelProperty(value = "派出所代码")
    @TableField("pcs_code")
    private String pcsCode;

    //系统配置
    @ApiModelProperty(value = "设备管理员密码")
    @TableField("mpassword")
    private String mpassword;

    @ApiModelProperty(value = "语音音量0-100 默认：80")
    @TableField("voice_volume")
    private Integer voiceVolume;

    //其他
    @ApiModelProperty(value = "授权状态  0：未授权 1：已授权")
    @TableField("status")
    private Boolean status;

    @ApiModelProperty(value = "刷脸失败跳转手输 false-关闭 true-开启 默认false")
    @TableField("face_fail_hand_input")
    private Boolean faceFailHandInput;

    @ApiModelProperty(value = "首页标题")
    @TableField("home_page_title")
    private String homePageTitle;
    @ApiModelProperty(value = "刷脸按钮文本")
    @TableField("face_button_text")
    private String faceButtonText;
    @ApiModelProperty(value = "手输按钮文本")
    @TableField("input_button_text")
    private String inputButtonText;
    @ApiModelProperty(value = "结果页-打印文本")
    @TableField("result_page_print_text")
    private String resultPagePrintText;
    @ApiModelProperty(value = "结果页-非打印文本")
    @TableField("result_page_no_print_text")
    private String resultPageNoPrintText;

    @ApiModelProperty(value = "凭证有效期")
    private Integer validTime;
    /**
     * 20240815产品说不是必填项 以后有商务法务问题开发概不负责
     */
    @ApiModelProperty(value = "签发单位")
    private String issuingAuthority;

    @ApiModelProperty(value = "到期日期")
    private LocalDate expirationDate;

    @ApiModelProperty(value = "是否加盖公章 false-关闭 true-开启 默认false")
    private Boolean officialSealSwitch;

    @ApiModelProperty(value = "公章图片")
    private String officialSealUrl;

}
