package com.fs.course.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fs.common.annotation.Excel;
import lombok.Data;
import com.fs.common.core.domain.BaseEntity;
import lombok.EqualsAndHashCode;

/**
 * 拍单商品订单对象 fs_course_product_order
 *
 * @author fs
 * @date 2025-07-28
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class FsCourseProductOrder extends BaseEntity{

    /** 拍单商品订单表id */
    private Long courseOrderId;

    /** 订单编号 */
    @Excel(name = "订单编号")
    private String orderCode;

    /** 用户id */
    @Excel(name = "用户id")
    private Long userId;

    /** 用户名称 */
    @Excel(name = "用户名称")
    private String userName;

    /** 用户电话 */
    @Excel(name = "用户电话")
    private String userPhone;

    /** 拍单商品id */
    @Excel(name = "拍单商品id")
    private Long courseProductId;

    /** 商品json */
    @Excel(name = "商品json")
    private String productJson;

    /** 课程id */
    @Excel(name = "课程id")
    private Long courseId;

    /** 视频小节id */
    @Excel(name = "视频小节id")
    private Long videoId;

    /** 支付状态 0 待支付 1已支付 */
    @Excel(name = "支付状态 0 待支付 1已支付")
    private Long isPay;

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

    /** 支付方式 微信 */
    @Excel(name = "支付方式 微信")
    private Long payType;

    /** 1 待支付 2已支付 3 已完成 -1 申请退款 -2 : 退款成功 */
    @Excel(name = "1 待支付 2已支付 3 已完成 -1 申请退款 -2 : 退款成功")
    private Long status;

    /** 申请退款时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "申请退款时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date refundTime;

    /** 申请退款理由 */
    @Excel(name = "申请退款理由")
    private String refundExplain;

    /** 核销码 */
    @Excel(name = "核销码")
    private String verifyCode;

    /** 公司id */
    @Excel(name = "公司id")
    private Long companyId;

    /** 销售id */
    @Excel(name = "销售id")
    private Long companyUserId;

    /** 企微外部联系人id */
    @Excel(name = "企微外部联系人id")
    private Long extId;


}
