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

import cn.hanghui.outapi.platform.tenant.entity.config.auth.DeviceConfigBean;
import cn.hanghui.outapi.platform.tenant.entity.enums.fkj.FkjCollectConfigEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.List;

/**
 * @author shisl
 * @package cn.hanghui.outapi.platform.tenant.entity.dto.account
 * @class AccountDto
 * @date 2024/7/1 下午4:20
 * @description
 */
@Data
public class AccountDto implements Serializable {

    private Long id;

    @ApiModelProperty(value = "账号名称")
    private String name;

    @ApiModelProperty(value = "账号密码")
    private String password;

    @ApiModelProperty(value = "AccountTypeEnum 账号类型 0:超级管理员 1:普通管理员 2:授权账号")
    private Integer accountType;

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

    /**-------------HhArome相关配置---------------**/
    @ApiModelProperty(value = "HhArome权限开关 默认false:关闭 true:开启")
    private Boolean hhAromeSwitch;
    @ApiModelProperty(value = "设备基本配置 DeviceConfigBean")
    private List<DeviceConfigBean> deviceConfig;
    /**
     * @see cn.hanghui.outapi.platform.tenant.entity.enums.SystemConfigEnum
     */
    @ApiModelProperty(value = "系统配置SystemConfigEnum 获取枚举列表")
    private List<String> systemConfig;
    /**
     * @see cn.hanghui.outapi.platform.tenant.entity.enums.UseConfigEnum
     */
    @ApiModelProperty(value = "使用配置UseConfigEnum 获取枚举列表")
    private List<String> useConfig;

    /**
     * @see cn.hanghui.outapi.platform.tenant.entity.enums.PushConfigEnum
     */
    @ApiModelProperty(value = "推送地址配置 PushConfigEnum 获取枚举列表")
    private List<String> pushConfig;

    /**-------------HHFace相关配置---------------**/
    @ApiModelProperty(value = "hhface权限开关 默认false:关闭 true:开启")
    private Boolean hhFaceSwitch;

    /**
     * @see cn.hanghui.outapi.platform.tenant.entity.enums.HhFaceUseConfigEnum
     */
    @ApiModelProperty(value = "hhface使用配置HhFaceUseConfigEnum 获取枚举列表")
    private List<String> hhfaceUseConfig;

    /**
     * @see cn.hanghui.outapi.platform.tenant.entity.enums.HhFaceFaceConfigEnum
     */
    @ApiModelProperty(value = "hhface支付宝刷脸启动核点配置 HhFaceUseConfigEnum 获取枚举列表")
    private List<String> hhfaceFaceConfig;
    @ApiModelProperty(value = "商户平台id集合")
    private List<Long> hhfaceFaceConfigTenantIds;
    @ApiModelProperty(value = "用户库id集合")
    private List<Long> hhfaceFaceConfigUserLibIds;

    /**
     * @see cn.hanghui.outapi.platform.tenant.entity.enums.HhFaceCollectConfigEnum
     */
    @ApiModelProperty(value = "hhface采集配置 HhFaceCollectConfigEnum 获取枚举列表")
    private List<String> hhfaceCollectConfig;

    /**
     * @see cn.hanghui.outapi.platform.tenant.entity.enums.HhFaceThirdConfigEnum
     */
    @ApiModelProperty(value = "hhface三方接口接入配置 HhFaceThirdConfigEnum 获取枚举列表")
    private List<String> hhfaceThirdConfig;

    /**
     * @see cn.hanghui.outapi.platform.tenant.entity.enums.HhFaceResultConfigEnum
     */
    @ApiModelProperty(value = "hhface结果页配置 HhFaceResultConfigEnum")
    private List<String> hhfaceResultConfig;

    /**
     * @see cn.hanghui.outapi.platform.tenant.entity.enums.HhFaceHardwareConfigEnum
     */
    @ApiModelProperty(value = "hhface硬件模组配置")
    private List<String> hhfaceHardwareConfig;

    /**
     * @see cn.hanghui.outapi.platform.tenant.entity.enums.HhFacePushConfigEnum
     */
    @ApiModelProperty(value = "hhface推送配置")
    private List<String> hhfacePushConfig;

    /**
     * @see cn.hanghui.outapi.platform.tenant.entity.enums.HhFaceFuncConfigEnum
     */
    @ApiModelProperty(value = "hhface功能配置")
    private List<String> hhfaceFuncConfig;

    /**
     * @see cn.hanghui.outapi.platform.tenant.entity.enums.HhFaceSystemConfigEnum
     */
    @ApiModelProperty(value = "hhface系统配置")
    private List<String> hhfaceSystemConfig;


    /**-------------访客机权限配置---------------**/

    @ApiModelProperty(value = "访客机权限开关 默认false:关闭 true:开启")
    private Boolean fkjSwitch;

    /**
     * @see cn.hanghui.outapi.platform.tenant.entity.enums.fkj.FkjUseConfigEnum
     */
    @ApiModelProperty(value = "访客机使用配置 FkjUseConfigEnum 获取枚举列表")
    private List<String> fkjUseConfig;
    /**
     * @see cn.hanghui.outapi.platform.tenant.entity.enums.fkj.FkjCollectConfigEnum
     */
    @ApiModelProperty(value = "访客机采集配置 FkjCollectConfigEnum 获取枚举列表")
    private List<String> fkjCollectConfig;
    /**
     * @see cn.hanghui.outapi.platform.tenant.entity.enums.fkj.FkjQuseyAddressConfigEnum
     */
    @ApiModelProperty(value = "访客机查询地址配置 FkjQuseyAddressConfigEnum 获取枚举列表")
    private List<String> fkjQueryAddressConfig;
    /**
     * @see cn.hanghui.outapi.platform.tenant.entity.enums.fkj.FkjPushConfigEnum
     */
    @ApiModelProperty(value = "访客机推送配置 FkjPushConfigEnum 获取枚举列表")
    private List<String> fkjPushConfig;
    /**
     * @see cn.hanghui.outapi.platform.tenant.entity.enums.fkj.FkjFuncConfigEnum
     */
    @ApiModelProperty(value = "访客机功能配置 FkjFuncConfigEnum 获取枚举列表")
    private List<String> fkjFuncConfig;
    /**
     * @see cn.hanghui.outapi.platform.tenant.entity.enums.fkj.FkjTimeoutDurationConfigEnum
     */
    @ApiModelProperty(value = "访客机超时时长配置 FkjTimeoutDurationConfigEnum 获取枚举列表")
    private List<String> fkjTimeoutDurationConfig;
    /**
     * @see cn.hanghui.outapi.platform.tenant.entity.enums.fkj.FkjVoiceConfigEnum
     */
    @ApiModelProperty(value = "访客机语音配置 FkjVoiceConfigEnum 获取枚举列表")
    private List<String> fkjVoiceConfig;
    /**
     * @see cn.hanghui.outapi.platform.tenant.entity.enums.fkj.FkjSystemConfigEnum
     */
    @ApiModelProperty(value = "访客机系统配置 FkjSystemConfigEnum 获取枚举列表")
    private List<String> fkjSystemConfig;


}
