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 ParkingCardLevelRightRequest( @Schema(description = "是否启用该卡等级权益", example = "true", requiredMode = Schema.RequiredMode.REQUIRED) @NotNull(message = "是否启用不能为空") Boolean enabled, @Schema(description = "标签", example = "免费停车2小时") @Size(max = 128, message = "标签长度不能超过128") String label, @Schema(description = "权益详情描述", example = "持该等级人才卡可享指定停车场停车优惠") @Size(max = 2000, message = "权益详情描述长度不能超过2000") String benefitDetail, @Schema(description = "权益类型:FREE免费、PAID付费", example = "FREE") @Size(max = 32, message = "权益类型长度不能超过32") String chargeType, @Schema(description = "停车场选择模式:ALL停车场全部可选、ONE停车场仅选其一", example = "ALL") @Size(max = 32, message = "停车场选择模式长度不能超过32") String selectionMode, @Schema(description = "是否到店消费", example = "false") Boolean storeConsumeEnabled, @Schema(description = "折扣描述", example = "8.8") @Size(max = 64, message = "折扣描述长度不能超过64") String discountText, @Schema(description = "是否政府补贴", example = "true") Boolean governmentSubsidy, @Schema(description = "到店消费使用描述", example = "到店后按现场指引使用") @Size(max = 2000, message = "到店消费使用描述长度不能超过2000") String consumeUsageText, @Schema(description = "状态:1启用,0停用;不传默认启用", example = "1") Integer status ) { }