package com.sptg.device.api.dto;

import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.plugins.Page;
import com.sptg.device.api.entity.Device;
import lombok.Getter;
import lombok.Setter;

import java.util.List;

/**
 * title: DeviceDto
 * package: com.sptg.device.api.dto
 * description: 设备数据传输对象
 */
@Getter
@Setter
public class DeviceDto extends Device {

    /**
     * 分页条件
     */
    @TableField(exist = false)
    private Page<Device> page;

    /**
     * 排序条件
     */
    @TableField(exist = false)
    private String sortField;

    /**
     * 排序顺序
     */
    @TableField(exist = false)
    private String sortOrder;

    /**
     * 选中的机构Id
     */
    @TableField(exist = false)
    private Long selectedId;

    /**
     * 机构Id
     */
    @TableField(exist = false)
    private Long orgId;

    /**
     * 同步方式：{ 0：全部（包括人脸，密码，卡号），1：人脸广告，2： 轮播广告，3：公告，4：住户人脸，5： 门禁卡片，6：访客授权 }
     */
    @TableField(exist = false)
    private Integer syncMethod;

    /**
     * id列表
     */
    @TableField(exist = false)
    private List<Long> idList;

    /**
     * 搜索条件
     */
    @TableField(exist = false)
    private String searchText;

    /**
     * 是否是流量卡绑定页面
     */
    @TableField(exist = false)
    private Boolean isFlowCardDevice = false;

    /**
     * 小版本
     */
    @TableField(exist = false)
    private String smallVersion;

    /**
     * 大版本
     */
    @TableField(exist = false)
    private String bigVersion;

    /**
     * 版本号，用于查询时排除此版本号数据
     */
    @TableField(exist = false)
    private String version;

    /**
     * 小区id list
     */
    @TableField(exist = false)
    private List<Long> residentialIds;

    /**
     * 设备禁用类型
     * 1、禁用全部功能
     * 2、禁用刷脸开门功能
     * 3、禁用刷卡开门功能
     * 4、禁用密码开门功能
     * 5、禁用远程开门功能
     * 6、禁用设备按键功能
     * 7、禁用广告播放功能（但保留默认广告）
     */
    @TableField(exist = false)
    private Integer disableType;

}
