package cn.iocoder.yudao.module.finance.controller.admin.subject.vo; import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; import cn.iocoder.yudao.framework.common.validation.InEnum; import cn.iocoder.yudao.module.finance.enums.FinBalanceDirectionEnum; import cn.iocoder.yudao.module.finance.enums.FinSubjectTypeEnum; import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.NotEmpty; import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.Size; import lombok.Data; @Schema(description = "管理后台 - 会计科目新增/修改 Request VO") @Data public class FinAccountSubjectSaveReqVO { @Schema(description = "科目编号", example = "1024") private Long id; @Schema(description = "父科目编号", example = "1024") private Long parentId; @Schema(description = "科目编码", requiredMode = Schema.RequiredMode.REQUIRED, example = "1001") @NotEmpty(message = "科目编码不能为空") @Size(max = 64, message = "科目编码长度不能超过 64 个字符") private String subjectCode; @Schema(description = "科目名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "库存现金") @NotEmpty(message = "科目名称不能为空") @Size(max = 128, message = "科目名称长度不能超过 128 个字符") private String subjectName; @Schema(description = "科目类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") @NotNull(message = "科目类型不能为空") @InEnum(value = FinSubjectTypeEnum.class, message = "科目类型必须是 {value}") private Integer subjectType; @Schema(description = "余额方向", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") @NotNull(message = "余额方向不能为空") @InEnum(value = FinBalanceDirectionEnum.class, message = "余额方向必须是 {value}") private Integer balanceDirection; @Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "0") @NotNull(message = "状态不能为空") @InEnum(value = CommonStatusEnum.class, message = "状态必须是 {value}") private Integer status; @Schema(description = "备注", example = "备注") @Size(max = 500, message = "备注长度不能超过 500 个字符") private String remark; }