package com.fs.hisStore.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fs.common.annotation.Excel;
import lombok.Data;

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

/**
 * 订单对象 fs_store_order
 *
 * @author fs
 * @date 2022-03-15
 */
@Data
public class FsStorePaymentVO implements Serializable
{

    @Excel(name = "支付订单号")
    private String payCode;
    @Excel(name = "会员手机号")
    private String userPhone;
    /** ID */
    private Long paymentId;

    /** 支付类型 weixin alipay */
    @Excel(name = "支付类型 weixin alipay")
    private String payTypeCode;

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

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "支付时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date payTime;

    /** 外部订单号 */
    @Excel(name = "外部订单号")
    private String tradeNo;

    /** 用户ID */
    private Long userId;

    /** OPENID */
    private String openId;

    /** 业务类型 1收款 */
    private Integer businessType;

    /** 关联业务ID */
    private String businessOrderId;

    /** 状态 0未支付 1已支付 -1 已退款 */
    @Excel(name = "支付状态 0未支付 1已支付 -1 已退款")
    private Integer status;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "下单时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;
    @Excel(name = "备注")
    private String remark;
    @Excel(name = "交易单号")
    private String bankTransactionId;
    @Excel(name = "银行单号")
    private String bankSerialNo;
    @Excel(name = "退款金额")
    private BigDecimal refundMoney;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "退款时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date refundTime;
    private Long companyId;
    private Long companyUserId;

    @Excel(name = "公司名称",width = 30)
    private String companyName;
    @Excel(name = "部门",width = 40)
    private String deptName;
    @Excel(name = "销售帐号")
    private String companyUserName;
    @Excel(name = "销售姓名")
    private String companyUserNickName;
    @Excel(name = "商城订单号")
    private String orderCode;
    @Excel(name = "套餐名称")
    private String title;

    private String payMode;

    // 小程序名称
    @Excel(name = "所属小程序")
    private String miniProgramName;

    /** 退款审核状态 0-待审核 1-审核通过 2-审核拒绝 */
    @Excel(name = "退款审核状态")
    private Integer refundAuditStatus;

    /** 退款审核人 */
    @Excel(name = "退款审核人")
    private String refundAuditBy;

    /** 退款审核时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "退款审核时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date refundAuditTime;

    /** 退款审核备注 */
    @Excel(name = "退款审核备注")
    private String refundAuditRemark;
    /**所属小程序**/
    private String appId;
    /**小程序名称**/
    private String appName;
}
