package com.fs.course.domain;

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

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fs.common.annotation.Excel;
import com.fs.common.core.domain.BaseEntityTow;
import lombok.Data;
import com.fs.common.core.domain.BaseEntity;
import lombok.EqualsAndHashCode;

/**
 * 营期课程对象 fs_user_course_period_days
 *
 * @author fs
 * @date 2025-04-16
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class FsUserCoursePeriodDays extends BaseEntityTow {

    /** id */
    @TableId(type = IdType.AUTO)
    private Long id;

    /** 营期ID */
    @Excel(name = "营期ID")
    private Long periodId;

    /** 第几节课 */
    @Excel(name = "第几节课")
    private Integer lesson;

    /** 开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private LocalDate dayDate;

    /** 开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime startDateTime;

    /** 结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "结束时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime endDateTime;

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

    /** 视频ID */
    @Excel(name = "视频ID")
    private Long videoId;

    /** 红包金额 */
    @Excel(name = "红包金额")
    private BigDecimal money;

    /** 开课状态;0未开始1一开始2已结束 */
    @Excel(name = "开课状态;0未开始1一开始2已结束")
    private Integer status;

    @TableField(exist = false)
    private List<Long> videoIds;
    @TableField(exist = false)
    private String courseName;
    @TableField(exist = false)
    private String videoName;
}
