package com.yonge.cooleshow.biz.dal.dto.req;

import com.yonge.toolset.payment.base.enums.PayChannelEnum;
import com.yonge.toolset.payment.base.enums.PaymentClientEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

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

/**
 * 下单支付请求
 *
 * @Author: liweifan
 * @Data: 2022/3/31 14:55
 */
@ApiModel(value = "OrderPayReq对象", description = "下单支付请求")
public class OrderPayReq {
    @NotBlank(message = "订单号不能为空")
    @ApiModelProperty(value = "订单号 ", required = true)
    private String orderNo;
    @NotNull(message = "支付渠道不能为空")
    @ApiModelProperty(value = "支付渠道:  alipay 支付宝扫码（汇付） ali_app 支付宝APP（原生）  wx_app 微信APP （原生） wx_lite 微信小程序支付（汇付，暂未完成）", required = true)
    private PayChannelEnum payChannel;
    @ApiModelProperty(value = "微信用户openId（微信支付必传）",hidden = true)
    private String openId;
    @ApiModelProperty(value = "买家的支付宝用户 id（支付宝小程序支付必传）",hidden = true)
    private String buyerId;
    @ApiModelProperty(value = "用户说明 ")
    private String reason;

    @ApiModelProperty(value = "用户id ",hidden = true)
    private Long userId;
    @ApiModelProperty(value = "用户ip ",hidden = true)
    private String ipAddress;
    @ApiModelProperty(value = "付款客户端 ",hidden = true)
    private PaymentClientEnum paymentClient;

    public String getOrderNo() {
        return orderNo;
    }

    public void setOrderNo(String orderNo) {
        this.orderNo = orderNo;
    }

    public PayChannelEnum getPayChannel() {
        return payChannel;
    }

    public void setPayChannel(PayChannelEnum payChannel) {
        this.payChannel = payChannel;
    }

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public String getIpAddress() {
        return ipAddress;
    }

    public void setIpAddress(String ipAddress) {
        this.ipAddress = ipAddress;
    }

    public String getOpenId() {
        return openId;
    }

    public void setOpenId(String openId) {
        this.openId = openId;
    }

    public String getReason() {
        return reason;
    }

    public void setReason(String reason) {
        this.reason = reason;
    }

    public String getBuyerId() {
        return buyerId;
    }

    public void setBuyerId(String buyerId) {
        this.buyerId = buyerId;
    }

    public PaymentClientEnum getPaymentClient() {
        return paymentClient;
    }

    public void setPaymentClient(PaymentClientEnum paymentClient) {
        this.paymentClient = paymentClient;
    }
}
