wenminjie
2026-08-04 93414e8ee25852aca467213402585d0e65c08a4a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
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.Pattern;
import jakarta.validation.constraints.Size;
 
@Schema(name = "小程序车牌提交请求", description = "小程序提交停车权益车牌号")
public record ParkingPlateSubmitRequest(
        @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 = "1", requiredMode = Schema.RequiredMode.REQUIRED)
        @NotNull(message = "停车商家ID不能为空")
        Long merchantId,
 
        @Schema(description = "停车场ID;商家有多个停车场时必填", example = "1")
        Long parkingLotId,
 
        @Schema(description = "原车牌提交记录ID;传入时按修改提交处理", example = "1")
        Long registrationId,
 
        @Schema(description = "车牌号,支持普通车牌和新能源车牌", example = "川K4P888A", requiredMode = Schema.RequiredMode.REQUIRED)
        @NotBlank(message = "车牌号不能为空")
        @Pattern(regexp = "^[\\u4E00-\\u9FFF][A-Z][A-Z0-9]{5,6}$", message = "请输入正确的车牌号")
        String plateNumber,
 
        @Schema(description = "幂等提交凭证;也可通过请求头X-Idempotency-Key传入", example = "parking-plate-20260804-001")
        @Size(max = 128, message = "提交凭证长度不能超过128")
        String idempotencyKey
) {
}