package com.cf.imes.module.system.controller.admin.pay.vo;

import com.cf.imes.module.system.validation.pay.PayProductChannelCodeValid;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.Valid;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

/**
 * 产品支付vo
 *
 * @author Gqr
 * @since 2025/4/15 14:30
 */
@Data
@Valid
public class PayProductOrderUnifiedReqVO {
    /**
     * 产品定价规则编号
     */
    @Schema(description = "产品定价规则编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    @NotNull(message = "产品定价规则编号不能为空")
    private Long productDetailsId;

    @Schema(description = "产品支付渠道编码", requiredMode = Schema.RequiredMode.REQUIRED, example = "0")
    @PayProductChannelCodeValid
    @NotNull(message = "产品支付渠道编码不能为空")
    private Integer productChannelCode;

    @Schema(description = "机构编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    private Long organId;
}
