package com.cpop.jambox.business.bo;

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

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;

/**
 * @author DB
 * @version 1.0.0
 * @since 2024-01-09 9:15
 */
@Data
@Accessors(chain = true)
@ApiModel(value = "EasyLearnUnifiedPayBo对象", description = "统一支付参数")
public class EasyLearnUnifiedPayBo {

    /**
     * 品牌或校区id
     */
    @NotBlank(message = "云品牌或云校区id不能为空")
    @ApiModelProperty(value = "云品牌或云校区id",required = true)
    private String brandOrStoreCloudId;

    /**
     * 联合支付外部订单id
     */
    @NotBlank(message = "联合支付外部订单id不能为空")
    @ApiModelProperty(value = "联合支付外部订单id",required = true)
    private String unionPayOutOrderId;

    /**
     * 客户名
     */
    @NotBlank(message = "客户名不能为空")
    @ApiModelProperty(value = "客户名",required = true)
    private String customerName;

    /**
     * 客户电话
     */
    @NotBlank(message = "客户电话不能为空")
    @ApiModelProperty(value = "客户电话",required = true)
    private String customerPhone;

    /**
     * 总金额
     */
    @NotNull(message = "总金额不能为空")
    @ApiModelProperty(value = "总金额",required = true)
    private BigDecimal totalAmount;

    /**
     * 总支付金额
     */
    @NotNull(message = "总支付金额不能为空")
    @ApiModelProperty(value = "总支付金额",required = true)
    private BigDecimal totalPayAmount;

    /**
     * 订单类型
     */
    @NotNull(message = "联合支付类型不能为空")
    @ApiModelProperty(value = "联合支付类型(PREPAYMENT:预付;REPAYMENT:还款;MEMBER:会员)",required = true)
    private String easyLearnUnionPay;

    /**
     * 分账比率
     */
    @ApiModelProperty(value = "分账比率(不传不分帐)")
    private Double rate;

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

    /**
     * 订单名
     */
    @ApiModelProperty("订单内容(课卡名/商品名)")
    private String orderContent;
}
