package com.zcloud.basic.info.dto;

import com.alibaba.cola.dto.Command;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

import javax.validation.constraints.*;

import java.util.Date;

/**
 * web-client
 *
 * @Author SondonYong
 * @Date 2025-12-05 14:00:37
 */
@EqualsAndHashCode(callSuper = true)
@Data
@NoArgsConstructor
@AllArgsConstructor
public class RzUserRecordUpdateCmd extends Command {
    @ApiModelProperty(value = "主键", name = "id", required = true)
    @NotNull(message = "主键不能为空")
    private Long id;
    @ApiModelProperty(value = "业务主键id", name = "rzUserRecordId", required = true)
    @NotEmpty(message = "业务主键id不能为空")
    private String rzUserRecordId;
    @ApiModelProperty(value = "用户id", name = "userId", required = true)
    @NotNull(message = "用户id不能为空")
    private Long userId;
    @ApiModelProperty(value = "姓名", name = "employeeName", required = true)
    @NotEmpty(message = "姓名不能为空")
    private String employeeName;
    @ApiModelProperty(value = "性别", name = "employeeGender", required = true)
    @NotEmpty(message = "性别不能为空")
    private String employeeGender;
    @ApiModelProperty(value = "年龄", name = "employeeAge", required = true)
    @NotEmpty(message = "年龄不能为空")
    private String employeeAge;
    @ApiModelProperty(value = "入职时间", name = "entryTime", required = true)
    @NotNull(message = "入职时间不能为空")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date entryTime;
    @ApiModelProperty(value = "人员状态", name = "employeeStatus", required = true)
    @NotEmpty(message = "人员状态不能为空")
    private String employeeStatus;
    @ApiModelProperty(value = "工作级别", name = "jobLevel", required = true)
    @NotEmpty(message = "工作级别不能为空")
    private String jobLevel;
    @ApiModelProperty(value = "部门名称", name = "deptName", required = true)
    @NotEmpty(message = "部门名称不能为空")
    private String deptName;
    @ApiModelProperty(value = "部门编码", name = "deptCode", required = true)
    @NotEmpty(message = "部门编码不能为空")
    private String deptCode;
    @ApiModelProperty(value = "手机号", name = "phoneNumber", required = true)
    @NotEmpty(message = "手机号不能为空")
    private String phoneNumber;
    @ApiModelProperty(value = "身份证号", name = "idCardNumber", required = true)
    @NotEmpty(message = "身份证号不能为空")
    private String idCardNumber;
    @ApiModelProperty(value = "图片编码", name = "employeeImagesCode", required = true)
    @NotEmpty(message = "图片编码不能为空")
    private String employeeImagesCode;
    @ApiModelProperty(value = "图片base64编码", name = "employeeImages", required = true)
    @NotEmpty(message = "图片base64编码不能为空")
    private String employeeImages;
    @ApiModelProperty(value = "企业编码", name = "corporationCode", required = true)
    @NotEmpty(message = "企业编码不能为空")
    private String corporationCode;
    @ApiModelProperty(value = "企业名称", name = "corporationName", required = true)
    @NotEmpty(message = "企业名称不能为空")
    private String corporationName;
}

