package com.gic.haoban.manage.web.vo.licence;

import lombok.Data;
import lombok.EqualsAndHashCode;

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

/**
 * <p>
 *
 * </p>
 *
 * @author jx
 * @since 2023-03-09
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class LicenceOrderVO 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<LicenceOrderProgressVO> OrderProgressList;

}
