package cn.iocoder.yudao.module.course.vo;

import cn.iocoder.yudao.annotation.Excel;
import cn.iocoder.yudao.module.course.entity.SchoolCourseOrder;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Date;

@Schema(description = "管理后台 - 驾照报名订单 Response VO")
@Data
@ExcelIgnoreUnannotated
public class SchoolCourseOrderExportVO {
    /**
     * 订单号
     */
    @Excel(name = "订单号")
    private String orderNo;
    /**
     * 用户id
     */
    private Integer userId;
    /**
     * 用户姓名
     */
    @Excel(name = "用户姓名")
    private String userName;
    /**
     * 用户手机号
     */
    @Excel(name = "用户手机号")
    private String userPhone;
    /**
     * 用户身份证号
     */
    @Excel(name = "用户身份证号")
    private String userNo;
    /**
     * 用户性别
     */
    @Excel(name = "用户性别", readConverterExp = "男=0,女=1")
    private String userSex;
    /**
     * 课程id
     */
    private String courseId;
    /**
     * 课程名字
     */
    @Excel(name = "课程名字")
    private String courseName;
    /**
     * 主负责教练ID
     */
    private Integer coachUserId;
    /**
     * 主负责教练姓名
     */
    @Excel(name = "主负责教练姓名")
    private String coachUserName;
    /**
     * 订金金额
     */
    @Excel(name = "订金金额")
    private BigDecimal reserveMoney;
    /**
     * 课程类型
     */
    @Excel(name = "课程类型")
    private String courseType;
    /**
     * 是否终止（0 未终止|1已终止）
     */
    @Excel(name = "是否终止", readConverterExp = "0=未终止,1=已终止")
    private Boolean ifEnd;
    /**
     * 终止原因
     */
    @Excel(name = "终止原因")
    private String endReason;
    /**
     * 终止时间
     */
    @Excel(name = "终止时间", dateFormat = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime endTime;
    /**
     * 订单状态 0：待支付 1：已取消 :2：已支付(已报名) 3：待面签 4：已面签 5：已完成  6： 		申请退款 7：退款中 8：退款成功
     */
    @Excel(name = "订单状态", readConverterExp = "0=待支付,1=已取消,2=已支付(已报名),3=待面签,4=已面签,5=已完成,6=申请退款,7=退款中,8=退款成功")
    private String paymentStatus;
    /**
     * 是否已面签 0：否 1： 是
     */
    @Excel(name = "是否已面签", readConverterExp = "0=否,1=是")
    private Integer isSign;
    /**
     * 尾款
     */
    @Excel(name = "尾款")
    private BigDecimal restMoney;
    /**
     * 支付类型 1：定金 2：全款
     */
    @Excel(name = "支付类型", readConverterExp = "1=定金,2=全款")
    private String payType;
    /**
     * 是否分配教练 0：否 1：是
     */
    private Integer ifAssignmentCoach;
    /**
     * 旧订单id
     */
    private String oldOrderId;
    /**
     * 拿证时间
     */
    @Excel(name = "拿证时间", dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date passTime;
    /**
     * 毕业时间
     */
    @Excel(name = "毕业时间", dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date gradTime;

    private Boolean isCreated;

    /**
     * 课程封面图
     */
    private String photo;

    /**
     * 课程类型
     */
    private String type;
}
