package com.sqx.modules.course.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.sqx.modules.orders.entity.Orders;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

/**
 * @description course  短剧
 * @author fang
 * @date 2021-03-27
 */
@Data
@TableName("course")
public class Course implements Serializable {

    private static final long serialVersionUID = 1L;

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

    /**
     * 轮播图
     */
    private String bannerImg;

    /**
     * 标题
     */
    private String title;

    /**
     * 封面图
     */
    @TableField("title_img")
    private String titleImg;

    /**
     * 价格
     */
    private BigDecimal price;

    /**
     * 10集购买价格
     */
    private BigDecimal wholesalePrice;

    /**
     * 上下架 1上架  2下架
     */
    private Integer status;

    /**
     * 是否完结 0未完结 1已完结
     */
    private Integer isOver;

    /**
     * 分类
     */
    @TableField("classify_id")
    private Long classifyId;
    /**
     * 短剧分类对象
     */
    @TableField(exist = false)
    private CourseClassification courseClassification;

    /**
     * 购买次数
     */
    @TableField("pay_num")
    private Integer payNum;

    /**
     * 短剧标签
     */
    @TableField("course_label")
    private String courseLabel;

    @TableField("course_label_ids")
    private String courseLabelIds;

    /**
     * 内容图
     */
    private String img;

    /**
     * 短剧介绍
     */
    private String details;

    /**
     * 删除标识 0未删除 1已删除
     */
    @TableField("is_delete")
    private Integer isDelete;

    /**
     * 创建时间
     */
    @TableField("create_time")
    private String createTime;

    /**
     * 更新时间
     */
    @TableField("update_time")
    private String updateTime;
    /**
     * 文件地址
     */
    @TableField("msg_url")
    private String msgUrl;
    /**
     * 上传方式0OSS-1本地
     */
    @TableField("msg_type")
    private Integer msgType;

    /**
     * 是否是推荐商品
     */
    @TableField("is_recommend")
    private Integer isRecommend;
    /**
     * 首页金刚区分类
     */
    private  Integer bannerId;

    /**
     * 是否收费 1是 2免费
     */
    private Integer isPrice;

    /**
     * 短剧目录
     */
    @TableField(exist = false)
    private List<CourseDetails> listsDetail;



    /**
     * 短剧分类 1短剧 2链接 3文档
     */
    private Integer courseType;

    /**
     * 播放量
     */
    private Integer viewCounts;

    /**
     * 抖音封面图id
     */
    private String dyImgId;

    /**
     * 抖音短剧id
     */
    private String dyCourseId;

    /**
     * 抖音提审状态 1已提交 2已通过 3已拒绝 4已上线
     */
    private Integer dyStatus;

    /**
     * 抖音审核内容
     */
    private String dyStatusContent;

    /**
     * 当前版本号
     */
    private String dyVersion;

    /**
     * 资质 许可证号
     */
    private String licenseNum;

    /**
     * 资质 登记号
     */
    private String registrationNum;

    /**
     * 资质 普通备案号
     */
    private String ordinaryRecordNum;

    /**
     * 资质 重点备案号
     */
    private String keyRecordNum;

    /**
     * 微信短剧id
     */
    private String wxCourseId;

    /**
     * 微信是否显示 1是
     */
    private Integer wxShow;

    /**
     * 抖音是否显示 1是
     */
    private Integer dyShow;

    /**
     * 排序
     */
    private Integer sort;

    /**
     *平均单集时长，单位分钟
     */
    private Integer duration;

    /**
     *制作机构
     */
    private String productionOrganisation;

    /**
     * 导演
     */
    private String director;

    /**
     * 制作人
     */
    private String producer;

    /**
     * 演员
     */
    private String actor;

    /**
     * 内容梗概（1000 汉字以内）
     */
    private String summary;

    /**
     * 成本配置比例情况图片
     */
    private String costDistributionUri;

    /**
     *承诺书
     */
    private String assuranceUri;

    /**
     *制作成本类型
     * - 10：30万以下
     * - 20：30～100万
     * - 30：100万以
     */
    private Integer playletProductionCost;

    /**
     * 剧目资质：1-取得《网络剧片发行许可证》或重点节目备案号；2-未取得《网络剧片发行许可证》或重点节目备案，且制作成本小于30万元
     * 注：
     * 1、
     * （1）剧目资质=1：需上传“网络剧片发行许可证”或“广电备案系统截图”，平台会在视频播放环节展示备案号水印；
     * （2）剧目资质=2：制作成本在30万以内，需上传《成本配置比例情况报告》。剧目经平台审核后由平台下发备案号（备案号仅适用微信小程序平台）并在视频播放环节展示备案号水印。
     * 2、2024年5月27日前发起提审的剧目可支持修改，且同一剧目仅支持修改一次。
     */
    private Integer qualificationType;

    /**
     * 剧目备案号，当qualification_type=1时必填。根据提供的剧目资质证明文件填写对应的网络剧片发行许可证编号或剧目备案号。如：(沪)网剧审字(2023)第001号 或 V123456788888888
     */
    private String registrationNumber;

    /**
     * 	剧目资质证明文件，当qualification_type=1时必填。请提供网络剧片发行许可证或广电备案系统截图
     */
    private String qualificationCertificateMaterialId;

    /**
     * 剧目制作成本（单位：万元），当qualification_type=2时必填。请填写“1-29” 的整数（如非整数将截断取整），数值需与《成本配置比例情况报告》中对应剧目制作成本一致。
     */
    private String costOfProduction;

    /**
     * 《成本配置比例情况报告》material_id，当qualification_type=2时必填
     */
    private String costCommitmentLetterMaterialId;

    private Integer wxCourseStatus;

    @TableField(exist = false)
    private String remark;

    @TableField(exist = false)
    private String avatar;

    @TableField(exist = false)
    private String courseCount;

    @TableField(exist = false)
    private Integer isMyCourse;

    @TableField(exist = false)
    private Orders orders;

    @TableField(exist = false)
    private String courseDetailsName;

    @TableField(exist = false)
    private Long courseDetailsId;

    @TableField(exist = false)
    private Integer courseDetailsCount;

    @TableField(exist = false)
    private Integer isCollect;
    private Integer weekView;
    private Integer weekPay;

    public Course() {}
}
