package com.yonge.cooleshow.mbg.model;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 平台订单支付表
 */

@ApiModel(value = "UserOrderPayment对象", description = "平台订单支付表")
public class UserOrderPayment implements Serializable {
	private static final long serialVersionUID = 1L;

    private Long id;
    @ApiModelProperty("订单号 ")
    private String orderNo;
    @ApiModelProperty("交易流水号 ")
    private String transNo;
    @ApiModelProperty("支付渠道:  alipay 支付宝  wx_lite 微信 ")
    private String payChannel;
    @ApiModelProperty("交易金额，必须大于0，保留两位小数点，如0.10、100.05等 ")
    private BigDecimal payAmt;
    @ApiModelProperty("汇付收取的服务费 ")
    private BigDecimal feeAmt;
    @ApiModelProperty("支付详情信息（用于拉起支付） ")
    private String payInfo;
    @ApiModelProperty("交易状态 pending 交易处理中 succeeded 交易成功 failed 交易失败")
    private String status;
    @ApiModelProperty("失败信息 ")
    private String payFailMsg;
    @ApiModelProperty("到账时间 ")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date arrivalTime;

    @ApiModelProperty("关单状态 pending 交易处理中 succeeded 交易成功 failed 交易失败")
    private String closeStatus;

    @ApiModelProperty("失败信息 ")
    private String closeFailMsg;

    @ApiModelProperty("关单时间 ")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date closeTime;

    @ApiModelProperty("创建时间 ")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date createTime;
    @ApiModelProperty("更新时间 ")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date updateTime;


    public String getCloseStatus() {
        return closeStatus;
    }

    public void setCloseStatus(String closeStatus) {
        this.closeStatus = closeStatus;
    }

    public String getCloseFailMsg() {
        return closeFailMsg;
    }

    public void setCloseFailMsg(String closeFailMsg) {
        this.closeFailMsg = closeFailMsg;
    }

    public Date getCloseTime() {
        return closeTime;
    }

    public void setCloseTime(Date closeTime) {
        this.closeTime = closeTime;
    }


    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }
    
	public String getOrderNo() {
        return orderNo;
    }

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

    public void setTransNo(String transNo) {
        this.transNo = transNo;
    }

    public String getPayChannel() {
        return payChannel;
    }

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

    public BigDecimal getPayAmt() {
        return payAmt;
    }

    public void setPayAmt(BigDecimal payAmt) {
        this.payAmt = payAmt;
    }
    
	public String getPayInfo() {
        return payInfo;
    }

    public void setPayInfo(String payInfo) {
        this.payInfo = payInfo;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public Date getArrivalTime() {
        return arrivalTime;
    }

    public void setArrivalTime(Date arrivalTime) {
        this.arrivalTime = arrivalTime;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public BigDecimal getFeeAmt() {
        return feeAmt;
    }

    public void setFeeAmt(BigDecimal feeAmt) {
        this.feeAmt = feeAmt;
    }

    public String getPayFailMsg() {
        return payFailMsg;
    }

    public void setPayFailMsg(String payFailMsg) {
        this.payFailMsg = payFailMsg;
    }
}