package cn.iocoder.yudao.module.system.attendance;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import javax.validation.constraints.NotNull;

/**
 * 功能描述
 *
 * @author: yj
 * @date: 2024年05月27日 11:02
 */

@Schema(description="下发人员信息到设备")
@Data
public class SendUserToDeviceMessage {

    @Schema(description = "指令名称", requiredMode = Schema.RequiredMode.REQUIRED ,example = "addUser")
    @NotNull(message = "指定名称不能为空")
    public String cmd = AttendanceConstants.OperateUserCMD.ADD_USER_CMD;

    @Schema(description = "用户id，注意 user_id 请不要使用 DL 开头", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
    @NotNull(message = "user_id不能为空")
    public String user_id ;

    @Schema(description = "用户姓名", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三")
    @NotNull(message = "用户姓名不能为空")
    public String name;

//    @Schema(description = "身份证号码，在刷身份证时会匹配这个号码是否存在", example = "362301111111111111")
//    public String user_id_card ;

    @Schema(description = "彩色照片，可以为两种格式。\n" +
            "1.http 链接，例如 https://up.enterdesk.com/edpic/70/0e/33/700e3312f74e378fbcc2fb3819421e73.jpg\n" +
            "2.直接传图片 点击查看【2.服务规范】中的照片编码规则 。设备【验证模式】为【人脸或卡】时可以不传照片，非【人脸或卡】模式这个字段为必传", requiredMode = Schema.RequiredMode.REQUIRED, example = "http://xxx.xx.jpg")
    @NotNull(message = "照片不能为空")
    public String face_template ;

    @Schema(description = "手机号", requiredMode = Schema.RequiredMode.REQUIRED, example = "18888888888")
    @NotNull(message = "手机号不能为空")
    public String  phone;

    @Schema(description = "人员有效期（人员在这个时间点后，无法通行）格式：yyyy-MM-dd 或者 yyyy-MM-dd HH:mm，为 “” 则为永久", requiredMode = Schema.RequiredMode.REQUIRED, example = "")
    public final String id_valid= "";
}
