package beilv.bootacourse.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.*;

import java.util.Date;

@Getter
@Setter
@ToString
@AllArgsConstructor
@NoArgsConstructor
public class BootACourse {
    /**
     * 数据id
     */
    private Long id;
    /**
     * 用户id
     */
    private String userId;
    /**
     * 联系人
     */
    private String contactPeople;
    /**
     * 联系电话
     */
    private String contactNumber;
    /**
     * 下单时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date registrationTime;
    /**
     * 支付时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date paymentTime;
    /**
     * 取消时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date cancellationTime;
    /**
     * 退款时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date refundTime;
    /**
     * 支付状态
     */
    private String paymentStatus;
    private String paymentStatusLabel;
    /**
     * 订单编号
     */
    private String orderId;
    /**
     * 赛事id
     */
    private String ticketId;
    /**
     * 订单类型
     */
    private String orderType;
    /**
     * 退款说明
     */
    private String refundInstructions;
    /**
     * 会员卡id
     */
    private String clubCardId;
    /**
     * 最晚退单时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
    private Date refund;
    /**
     * 核验时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date verificationTime;


    private String session;
    private String ticketDate;
    private String siteName;
    private String cover;
    private String[] coverList;



    public BootACourse(String userId, String contactPeople, String contactNumber, Date registrationTime, String paymentStatus, String orderId, String ticketId, String orderType, String clubCardId, Date refund) {
        this.userId = userId;
        this.contactPeople = contactPeople;
        this.contactNumber = contactNumber;
        this.registrationTime = registrationTime;
        this.paymentStatus = paymentStatus;
        this.orderId = orderId;
        this.ticketId = ticketId;
        this.orderType = orderType;
        this.clubCardId = clubCardId;
        this.refund = refund;
    }
}
