package com.yiqi.order.domain.dto;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.yiqi.common.annotation.Excel;
import com.yiqi.common.core.domain.BaseEntity;
import com.yiqi.common.enums.OrderSourceType;
import com.yiqi.common.enums.RechargeTypeEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.List;

/**
 * 充值订单对象 order_recharge
 *
 * @author ruoyi
 * @date 2023-09-27
 */
@ApiModel("充值订单对象")
@Data
public class OrderRechargePayDTO extends BaseEntity {
    private static final long serialVersionUID = 1L;
    /**
     * 订单编号
     */
    @Excel(name = "订单编号")
    @ApiModelProperty("订单编号")
    @NotNull(message = "订单编号不能为空")
    private String orderNo;

    /**
     * 客户ID
     */
    @Excel(name = "客户ID")
    @ApiModelProperty("客户ID")

    private Long appUserId;

    /**
     * 支付方式（0=微信，1=支付宝，2=现金，3=充值卡）
     */
    @Excel(name = "支付方式", readConverterExp = "0==微信，1=支付宝，2=现金，3=充值卡  9=组合支付")
    @ApiModelProperty("支付方式（0=微信，1=支付宝，2=现金，3=充值卡, 9=组合支付）")
    private String payType;

    /**
     * 支付金额
     */
    @Excel(name = "支付金额")
    @ApiModelProperty("支付金额")
    private BigDecimal payAmount;


    @Excel(name = "现金支付金额")
    @ApiModelProperty("现金支付金额")
    private BigDecimal cashPayAmount;

    @Excel(name = "支付宝支付金额")
    @ApiModelProperty("支付宝支付金额")
    private BigDecimal aliPayAmount;

    @Excel(name = "微信支付金额")
    @ApiModelProperty("微信支付金额")
    private BigDecimal wxPayAmount;


    @ApiModelProperty("用户付款码")
    private String authCode;

    @ApiModelProperty("付款平台(APP=APP、WEAPP=小程序、WEB=web后台)")
    @NotEmpty(message = "付款平台不能为空")
    private String platform;

}
