package com.fs.course.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fs.common.annotation.Excel;
import com.fs.common.core.domain.BaseEntity;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalTime;

/**
 * 课堂视频对象 fs_user_course_video
 *
 * @author fs
 * @date 2024-05-17
 */
@Data
public class FsUserCourseVideo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** ID */
    private Long videoId;

    /** 腾讯vod文件id */
    @Excel(name = "腾讯vod文件id")
    private String fileId;

    /** 视频标题 */
    @Excel(name = "视频标题")
    private String title;

    /** 视频描述 */
    @Excel(name = "视频描述")
    private String description;

    /** 视频URL */
    @Excel(name = "视频URL")
    private String videoUrl;

    /** 视频缩略图 */
    @Excel(name = "视频缩略图")
    private String thumbnail;

    /** 视频时长 */
    @Excel(name = "视频时长")
    private Long duration;

    /** 达人id */
    @Excel(name = "达人id")
    private Long talentId;

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

    /** 视频状态 1：草稿，2：待审核，3：发布 */
    @Excel(name = "视频状态 1：草稿，2：待审核，3：发布")
    private Long status;

    /** 课程排序 */
    @Excel(name = "课程排序")
    private Long courseSort;

    private String fileName;

    @TableLogic(value = "0", delval = "1")
    private Integer isDel;

    /**
     *  课题数组
     */
    private String questionBankId;

    private String lineOne; //线路一 腾讯云pcdn 前缀tcpv

    private String lineTwo; //线路二 电信 前缀ctev
    private String lineThree; //线路三 华为云obs
    private Integer uploadType;

    private BigDecimal redPacketMoney;

    /**
     * 随机红包配置
     */
    private String randomRedPacketRules;

    private Long fileSize;//文件大小  字节
    private String fileKey;//文件key 对用存储桶
    private String round;//轮次


    private String packageJson;//绑定疗法
    private Integer isFirst;
    private Integer isTranscode;//是否转码

    private String transcodeFileKey;//转码的文件key

    @JsonFormat(pattern = "HH:mm:ss")
    private LocalTime viewStartTime;

    @JsonFormat(pattern = "HH:mm:ss")
    private LocalTime viewEndTime;

    @JsonFormat(pattern = "HH:mm:ss")
    private LocalTime lastJoinTime;

    private Long userId;

    /**
     * 项目ID
     */
    private Long projectId;
    private Integer isProduct;//是否关联拍商品 0：否 1：是

    private Long productId;//拍商品id

    private Long listingStartTime;//商品售卖时间

    private Long listingEndTime;//商品结束售卖时间

    private Integer isSpeed; // 是否启用倍速 0：否 1：是

    // 是否上架 0：上架，1：下架
    private Integer isOnPut;

    private String jobId;

    private String vid;
    @TableField(exist = false)
    private int sorting;

    /**
     * 看课中标签ID
     */
    private String watchingTagId;

    /**
     * 完课标签ID
     */
    private String watchedTagId;

    /**
     * 标签组ID
     */
    private String tagGroupId;

    /**
     * 标签组表中的ID
     */
    private Long tgId;

    /**
     * 看课标签 表中的ID
     */
    private Long watchingTgId;

    /**
     * 完课标签 表中的ID
     */
    private Long watchedTgId;

    @TableField(exist = false)
    private Integer showProduct; //1不展示疗法，0展示疗法

}
