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.NotEmpty;
import java.time.LocalDateTime;

/**
 * web-client
 *
 * @Author zhaokai
 * @Date 2025-10-30 09:53:53
 */
@EqualsAndHashCode(callSuper = true)
@Data
@NoArgsConstructor
@AllArgsConstructor
public class CorpFormAddCmd extends Command {
    @ApiModelProperty(value = "主键id", name = "id", required = true)
    @NotEmpty(message = "主键id不能为空")
    private Long id;
    @ApiModelProperty(value = "信息主键", name = "corpFormId", required = true)
    @NotEmpty(message = "信息主键不能为空")
    private String corpFormId;
    @ApiModelProperty(value = "外键id", name = "infoId", required = true)
    @NotEmpty(message = "外键id不能为空")
    private Long infoId;
    @ApiModelProperty(value = "类型,参考枚举corpformtype", name = "type", required = true)
    @NotEmpty(message = "类型,参考枚举corpformtype不能为空")
    private Integer type;
    @ApiModelProperty(value = "类型名称", name = "typeName", required = true)
    @NotEmpty(message = "类型名称不能为空")
    private String typeName;
    @ApiModelProperty(value = "数据字典编码", name = "itemCode", required = true)
    @NotEmpty(message = "数据字典编码不能为空")
    private String itemCode;
    @ApiModelProperty(value = "数据字典名称", name = "itemName", required = true)
    @NotEmpty(message = "数据字典名称不能为空")
    private String itemName;
    @ApiModelProperty(value = "排序", name = "itemOrder", required = true)
    @NotEmpty(message = "排序不能为空")
    private Integer itemOrder;
    @ApiModelProperty(value = "乐观锁", name = "version", required = true)
    @NotEmpty(message = "乐观锁不能为空")
    private Integer version;
    @ApiModelProperty(value = "创建人", name = "createId", required = true)
    @NotEmpty(message = "创建人不能为空")
    private Long createId;
    @ApiModelProperty(value = "创建人姓名", name = "createName", required = true)
    @NotEmpty(message = "创建人姓名不能为空")
    private String createName;
    @ApiModelProperty(value = "创建时间", name = "createTime", required = true)
    @NotEmpty(message = "创建时间不能为空")
    private LocalDateTime createTime;
    @ApiModelProperty(value = "更新人", name = "updateId", required = true)
    @NotEmpty(message = "更新人不能为空")
    private Long updateId;
    @ApiModelProperty(value = "修改人名称", name = "updateName", required = true)
    @NotEmpty(message = "修改人名称不能为空")
    private String updateName;
    @ApiModelProperty(value = "更新时间", name = "updateTime", required = true)
    @NotEmpty(message = "更新时间不能为空")
    private LocalDateTime updateTime;
    @ApiModelProperty(value = "描述", name = "remarks", required = true)
    @NotEmpty(message = "描述不能为空")
    private String remarks;
    @ApiModelProperty(value = "是否删除", name = "deleteEnum", required = true)
    @NotEmpty(message = "是否删除不能为空")
    private String deleteEnum;
    @ApiModelProperty(value = "租户ID", name = "tenantId", required = true)
    @NotEmpty(message = "租户ID不能为空")
    private Long tenantId;
    @ApiModelProperty(value = "机构ID", name = "orgId", required = true)
    @NotEmpty(message = "机构ID不能为空")
    private Long orgId;
    @ApiModelProperty(value = "环境", name = "env", required = true)
    @NotEmpty(message = "环境不能为空")
    private String env;
}

