package com.talentcard.server.request; import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.Positive; import jakarta.validation.constraints.Size; @Schema(name = "生成权益核销码请求", description = "生成电影票/酒店权益5分钟核销码请求") public record BenefitVerificationCodeRequest( @Schema(description = "权益类型:MOVIE_TICKET电影票、HOTEL酒店", example = "MOVIE_TICKET", requiredMode = Schema.RequiredMode.REQUIRED) @NotBlank(message = "权益类型不能为空") @Size(max = 32, message = "权益类型长度不能超过32") String benefitType, @Schema(description = "人才用户ID;cardId未传时必填,系统自动选择有效人才卡", example = "2") @Positive(message = "人才用户ID必须大于0") Long talentId, @Schema(description = "人才卡ID;支持主卡或已审核通过的亲属附属卡", example = "2") @Positive(message = "人才卡ID必须大于0") Long cardId, @Schema(description = "商户ID", example = "22", requiredMode = Schema.RequiredMode.REQUIRED) @NotNull(message = "商户ID不能为空") @Positive(message = "商户ID必须大于0") Long merchantId ) { }