1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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 TicketPackageClaimRequest(
        @Schema(description = "持卡人ID", example = "2", requiredMode = Schema.RequiredMode.REQUIRED)
        @NotNull(message = "持卡人ID不能为空")
        Long talentId,
 
        @Schema(description = "人才卡ID;不传时取该持卡人的有效卡", example = "8")
        Long cardId,
 
        @Schema(description = "当前领取影城/商家ID;多商家票包用于记录实际领取商家", example = "12")
        Long merchantId,
 
        @Schema(description = "幂等领取凭证;也可通过请求头X-Idempotency-Key传入", example = "ticket-package-claim-20260804-001")
        @Size(max = 128, message = "领取凭证长度不能超过128")
        String idempotencyKey
) {
}