package com.zcloud.basic.info.dto;

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

import javax.validation.constraints.*;

/**
 * web-client
 *
 * @Author SondonYong
 * @Date 2025-12-02 17:15:57
 */
@EqualsAndHashCode(callSuper = true)
@Data
@NoArgsConstructor
@AllArgsConstructor
public class RzUserUpdateCmd extends Command {
    @ApiModelProperty(value = "主键", name = "id", required = true)
    @NotNull(message = "主键不能为空")
    private Long id;
    @ApiModelProperty(value = "业务主键id", name = "rzUserId", required = true)
    @NotEmpty(message = "业务主键id不能为空")
    private String rzUserId;
    @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)
    @NotNull(message = "年龄不能为空")
    private Integer employeeAge;
    @ApiModelProperty(value = "入职时间", name = "entryTime", required = true)
    @NotEmpty(message = "入职时间不能为空")
    private String entryTime;
    @ApiModelProperty(value = "状态（未入职、实习生、实习结束、在职、离职、退休、劳务派遣、劳务派遣结束）", name = " employeeStatus", required = true)
    @NotEmpty(message = "状态（未入职、实习生、实习结束、在职、离职、退休、劳务派遣、劳务派遣结束）不能为空")
    private String employeeStatus;
    @ApiModelProperty(value = "职务", name = "jobName", required = true)
    @NotEmpty(message = "职务不能为空")
    private String jobName;
    @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 = "positionName", required = true)
    @NotEmpty(message = "岗位不能为空")
    private String positionName;
    @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 格式，图片格式：jpg）", name = " employeeImages", required = true)
    @NotEmpty(message = "员工照片（base64 格式，图片格式：jpg）不能为空")
    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;
    @ApiModelProperty(value = "是否确认", name = "isConfirm", required = true)
    @NotEmpty(message = "是否确认不能为空")
    private String isConfirm;
    @ApiModelProperty(value = "确认状态(0：未确认，1：自动确认，2：用户手动确认)", name = "confirmStatus", required = true)
    @NotEmpty(message = "确认状态(0：未确认，1：自动确认，2：用户手动确认)不能为空")
    private String confirmStatus;
}

