package com.talentcard.server.request; import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.Max; import jakarta.validation.constraints.Min; import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.Size; @Schema(name = "后台票包兑换码批量生成请求", description = "后台按数量自动生成兑换码并写入票包码池") public record TicketPackageCodeGenerateRequest( @Schema(description = "导入批次号;不传后端自动生成", example = "BATCH202608040001") @Size(max = 64, message = "导入批次号长度不能超过64") String batchNo, @Schema(description = "兑换码前缀;不传默认 EX", example = "EX") @Size(max = 32, message = "兑换码前缀长度不能超过32") String codePrefix, @Schema(description = "生成数量", example = "100", requiredMode = Schema.RequiredMode.REQUIRED) @NotNull(message = "生成数量不能为空") @Min(value = 1, message = "生成数量不能小于1") @Max(value = 5000, message = "单次最多生成5000个兑换码") Integer codeCount, @Schema(description = "备注", example = "8月第一批自动生成码") @Size(max = 500, message = "备注长度不能超过500") String remark ) { }