package com.gic.haoban.manage.api.dto.licence;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * <p>
 *
 * </p>
 *
 * @author jx
 * @since 2023-03-09
 */
public class LicenceOrderDTO implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 订单id
     */
    private Long orderId;

    /**
     * gic商户Id
     */
    private String enterpriseId;
    /**
     * gic品牌名称
     */
    private String enterpriseName;
    /**
     * wx企业Id
     */
    private String wxEnterpriseId;
    /**
     * 微信商户名称
     */
    private String wxEnterpriseName;

    /**
     * 订单类型，1：购买帐号，2：续期帐号
     */
    private Integer orderType;

    /**
     * 互通帐号个数
     */
    private Integer externalContactCount;

    /**
     * 基础帐号个数
     */
    private Integer baseCount;

    /**
     * 订单金额，单位分
     */
    private Integer price;

    /**
     * 购买时间类型 1：按月购买，2：按天购买
     */
    private Integer timeType;

    /**
     * 购买的时间数值
     */
    private Integer timeValue;

    /**
     * 支付类型 1在线支付 2对公转账
     */
    private Integer payType;

    /**
     * 订单编号
     */
    private String orderNumber;

    /**
     * 上传凭证url
     */
    private String voucher;

    /**
     * 订单状态，0：待支付，1：已支付，2：已取消，3：已过期，4：已退款，5：审核中
     */
    private Integer orderStatus;

    /**
     * 订单状态更改原因
     */
    private String orderStatusReason;

    /**
     * 支付时间  支付类型为1：微信支付时间 2：上传凭证时间
     */
    private Date payTime;

    /**
     * 退款时间
     */
    private Date refundTime;

    /**
     * 企业微信订单id
     */
    private String qywxOrderId;

    /**
     * 企业微信订单状态，0：待支付，1：已支付，2：已取消，3：已过期，4：退款中，5：退款被拒绝，6：已退款，7已失效
     */
    private Integer qywxOrderStatus;

    /**
     * 企业微信订单更改原因
     */
    private String qywxOrderStatusReason;

    /**
     * 企业微信支付时间
     */
    private Date qywxPayTime;

    /**
     * 企业微信退款时间
     */
    private Date qywxRefundTime;

    /**
     * 审核不通过原因
     */
    private String reason;

    /**
     * 创建时间
     */
    private Date createTime;
    /**
     * 到期时间
     */
    private Date expireTime;
    /**
     * 当前时间
     */
    private Date nowTime;
    /**
     * 订单进度list
     */
    private List<LicenceOrderProgressDTO> OrderProgressList;
    /**
     * 微信url
     */
    private String wxUrl;

    public String getWxUrl() {
        return wxUrl;
    }

    public void setWxUrl(String wxUrl) {
        this.wxUrl = wxUrl;
    }

    public Long getOrderId() {
        return orderId;
    }

    public void setOrderId(Long orderId) {
        this.orderId = orderId;
    }

    public String getEnterpriseId() {
        return enterpriseId;
    }

    public void setEnterpriseId(String enterpriseId) {
        this.enterpriseId = enterpriseId;
    }

    public String getEnterpriseName() {
        return enterpriseName;
    }

    public void setEnterpriseName(String enterpriseName) {
        this.enterpriseName = enterpriseName;
    }

    public String getWxEnterpriseId() {
        return wxEnterpriseId;
    }

    public void setWxEnterpriseId(String wxEnterpriseId) {
        this.wxEnterpriseId = wxEnterpriseId;
    }

    public String getWxEnterpriseName() {
        return wxEnterpriseName;
    }

    public void setWxEnterpriseName(String wxEnterpriseName) {
        this.wxEnterpriseName = wxEnterpriseName;
    }

    public Integer getOrderType() {
        return orderType;
    }

    public void setOrderType(Integer orderType) {
        this.orderType = orderType;
    }

    public Integer getExternalContactCount() {
        return externalContactCount;
    }

    public void setExternalContactCount(Integer externalContactCount) {
        this.externalContactCount = externalContactCount;
    }

    public Integer getBaseCount() {
        return baseCount;
    }

    public void setBaseCount(Integer baseCount) {
        this.baseCount = baseCount;
    }

    public Integer getPrice() {
        return price;
    }

    public void setPrice(Integer price) {
        this.price = price;
    }

    public Integer getTimeType() {
        return timeType;
    }

    public void setTimeType(Integer timeType) {
        this.timeType = timeType;
    }

    public Integer getTimeValue() {
        return timeValue;
    }

    public void setTimeValue(Integer timeValue) {
        this.timeValue = timeValue;
    }

    public Integer getPayType() {
        return payType;
    }

    public void setPayType(Integer payType) {
        this.payType = payType;
    }

    public String getOrderNumber() {
        return orderNumber;
    }

    public void setOrderNumber(String orderNumber) {
        this.orderNumber = orderNumber;
    }

    public String getVoucher() {
        return voucher;
    }

    public void setVoucher(String voucher) {
        this.voucher = voucher;
    }

    public Integer getOrderStatus() {
        return orderStatus;
    }

    public void setOrderStatus(Integer orderStatus) {
        this.orderStatus = orderStatus;
    }

    public String getOrderStatusReason() {
        return orderStatusReason;
    }

    public void setOrderStatusReason(String orderStatusReason) {
        this.orderStatusReason = orderStatusReason;
    }

    public Date getPayTime() {
        return payTime;
    }

    public void setPayTime(Date payTime) {
        this.payTime = payTime;
    }

    public Date getRefundTime() {
        return refundTime;
    }

    public void setRefundTime(Date refundTime) {
        this.refundTime = refundTime;
    }

    public String getQywxOrderId() {
        return qywxOrderId;
    }

    public void setQywxOrderId(String qywxOrderId) {
        this.qywxOrderId = qywxOrderId;
    }

    public Integer getQywxOrderStatus() {
        return qywxOrderStatus;
    }

    public void setQywxOrderStatus(Integer qywxOrderStatus) {
        this.qywxOrderStatus = qywxOrderStatus;
    }

    public String getQywxOrderStatusReason() {
        return qywxOrderStatusReason;
    }

    public void setQywxOrderStatusReason(String qywxOrderStatusReason) {
        this.qywxOrderStatusReason = qywxOrderStatusReason;
    }

    public Date getQywxPayTime() {
        return qywxPayTime;
    }

    public void setQywxPayTime(Date qywxPayTime) {
        this.qywxPayTime = qywxPayTime;
    }

    public Date getQywxRefundTime() {
        return qywxRefundTime;
    }

    public void setQywxRefundTime(Date qywxRefundTime) {
        this.qywxRefundTime = qywxRefundTime;
    }

    public String getReason() {
        return reason;
    }

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

    public Date getCreateTime() {
        return createTime;
    }

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

    public Date getExpireTime() {
        return expireTime;
    }

    public void setExpireTime(Date expireTime) {
        this.expireTime = expireTime;
    }

    public Date getNowTime() {
        return nowTime;
    }

    public void setNowTime(Date nowTime) {
        this.nowTime = nowTime;
    }

    public List<LicenceOrderProgressDTO> getOrderProgressList() {
        return OrderProgressList;
    }

    public void setOrderProgressList(List<LicenceOrderProgressDTO> orderProgressList) {
        OrderProgressList = orderProgressList;
    }
}
