package com.talentcard.server.request; import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.Size; @Schema(name = "后台票包兑换码发放锁定请求", description = "后台手动锁定一个可用兑换码并绑定领取人,用于线下发放前的占位预留") public record TicketPackageCodeLockRequest( @Schema(description = "领取人(持卡人)ID", example = "2", requiredMode = Schema.RequiredMode.REQUIRED) @NotNull(message = "领取人ID不能为空") Long talentId, @Schema(description = "人才卡ID;不传时自动取持卡人当前有效人才卡", example = "12") Long cardId, @Schema(description = "备注", example = "线下活动发放预留") @Size(max = 500, message = "备注长度不能超过500") String remark ) { }