package com.cpop.jambox.business.bo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 * @author DB
 * @version 1.0.0
 * @since 2024-01-20 12:33
 */
@Data
@ApiModel(value = "先学后付用户核销")
public class LearnNowPayLaterServiceOrderBo {

    /**
     * 支付分订单在商户侧的订单号，必须和创建签约计划时传入的该笔订单对应的商户侧计划明细使用订单号(merchant\_plan\_detail\_no)一致
     */
    @NotBlank(message = "待创建服务订单对应的用户的签约计划不能为空")
    @ApiModelProperty(value = "待创建服务订单对应的用户的签约计划",required = true)
    private String signPlanId;

    /**
     * 待创建服务订单对应的用户的签约计划详情序号
     */
    @NotNull(message = "planDetailNo不能为空")
    @ApiModelProperty(value = "待创建服务订单对应的用户的签约计划详情序号",required = true)
    private Integer planDetailNo;

    /**
     * 服务商公众号下的用户标识
     */
    @NotBlank(message = "openid不能为空")
    @ApiModelProperty(value = "服务商公众号下的用户标识",required = true)
    private String openid;

    /**
     * 卡号
     */
    @NotBlank(message = "cardNo不能为空")
    @ApiModelProperty(value = "卡号",required = true)
    private String cardNo;

    /**
     * 课程信息
     */
    @NotBlank(message = "课程信息不能为空")
    @ApiModelProperty(value = "课程信息",required = true)
    private String serviceIntroduction;

    /**
     * 核销金额
     */
    @NotNull(message = "核销金额不能为空")
    @ApiModelProperty(value = "核销金额",required = true)
    private Integer price;

}
