using Edu.Common.Enum;
using Edu.Common.Enum.Course;
using System;
using VT.FW.DB;

namespace Edu.Model.Entity.Course
{
    /// <summary>
    /// 课程实体类
    /// </summary>
    [Serializable]
    [DB(ConnectionName = "DefaultConnection")]
    public class RB_Course
    {
        /// <summary>
        /// 主键(课程编号)
        /// </summary>
        public int CourseId { get; set; }

        /// <summary>
        /// 课程封面图
        /// </summary>
        public string CoverImg { get; set; }

        /// <summary>
        /// 课程名称
        /// </summary>
        public string CourseName { get; set; }

        /// <summary>
        /// 课程介绍
        /// </summary>
        public string CourseIntro { get; set; }

        /// <summary>
        /// 课程分类编号
        /// </summary>
        public int CateId { get; set; }

        /// <summary>
        /// 创建人
        /// </summary>
        public int CreateBy { get; set; }

        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime CreateTime { get; set; }

        /// <summary>
        /// 修改人
        /// </summary>
        public int UpdateBy { get; set; }

        /// <summary>
        /// 更新时间
        /// </summary>
        public DateTime UpdateTime { get; set; }

        /// <summary>
        /// 学校Id
        /// </summary>
        public int School_Id { get; set; }

        /// <summary>
        /// 集团编号
        /// </summary>
        public int Group_Id { get; set; }

        /// <summary>
        /// 删除状态
        /// </summary>
        public DateStateEnum Status { get; set; }

        /// <summary>
        /// 教师编号[逗号分隔]
        /// </summary>
        public string Teacher_Ids { get; set; }

        /// <summary>
        /// 是否显示章节编号
        /// </summary>
        public int IsShowChapterNo { get; set; }

        /// <summary>
        /// 课程特色
        /// </summary>
        public string CourseFeature { get; set; }

        /// <summary>
        /// 原价
        /// </summary>
        public decimal OriginalPrice { get; set; }

        /// <summary>
        /// 售价(直客价)
        /// </summary>
        public decimal SellPrice { get; set; }

        /// <summary>
        /// 是否开启阶梯定价(1-开启)
        /// </summary>
        public int IsOpenStepPrice { get; set; }

        /// <summary>
        /// 是否可续费课程(1-是)
        /// </summary>
        public int IsRenew { get; set; }

        /// <summary>
        /// 续费原价
        /// </summary>
        public decimal RenewOgPrice { get; set; }

        /// <summary>
        /// 续费售价
        /// </summary>
        public decimal RenewSlPrice { get; set; }

        /// <summary>
        /// 上架端口(1-内部销售，2-学员App，3-网课端,4-小程序）
        /// </summary>
        public string Saleplat { get; set; }

        /// <summary>
        /// 是否是K12课程(1-是)
        /// </summary>
        public int IsKCourse { get; set; }

        /// <summary>
        /// 课时
        /// </summary>
        public decimal ClassHours { get; set; }

        /// <summary>
        /// 甲鹤小程序商品id
        /// </summary>
        public int MallGoodsId { get; set; }

        /// <summary>
        /// 课程等级
        /// </summary>
        public CourseRateEnum CourseRate { get; set; }

        /// <summary>
        /// 所属科目
        /// </summary>
        public int CourseSubject { get; set; }

        /// <summary>
        /// 同业课程图标
        /// </summary>
        public string B2BIcon { get; set; }

        /// <summary>
        /// 背景颜色（前端无法实现自动识别时启用）
        /// </summary>
        public string B2BBackground { get; set; }

        /// <summary>
        /// 课程重点， 多个英文逗号分隔  枚举
        /// </summary>
        public string CourseEmphasis { get; set; }

        /// <summary>
        /// 直客首次报名优惠比例
        /// </summary>
        public decimal B2CRatio { get; set; }

        /// <summary>
        /// 直客续费优惠比例
        /// </summary>
        public decimal B2CReNewRatio { get; set; }

        /// <summary>
        /// 一般同行首次报名返佣比例
        /// </summary>
        public decimal B2BRebateRatio { get; set; }

        /// <summary>
		/// 一般同行首次报名返佣类型
		/// </summary>
		public CourseRebateSetEnum B2BRebateRatioType { get; set; }

        /// <summary>
        /// 一般同行首次报名返佣课程比例值
        /// </summary>
        public decimal B2BRebateRatioValue { get; set; }

        /// <summary>
        /// 一般同行续费返佣比例
        /// </summary>
        public decimal B2BReNewRatio { get; set; }

        /// <summary>
        /// 一般同行续费返佣类型
        /// </summary>
        public CourseRebateSetEnum B2BReNewRatioType { get; set; }

        /// <summary>
		/// 一般同行续费返佣课程比例值
		/// </summary>
		public decimal B2BReNewRatioValue { get; set; }

        /// <summary>
        /// 校代同行首次报名返佣比例
        /// </summary>
        public decimal SchoolRebateRatio { get; set; }

        /// <summary>
		/// 校代同行首次返佣类型
		/// </summary>
		public CourseRebateSetEnum SchoolRebateRatioType { get; set; }

        /// <summary>
        /// 校代同行首次返佣课程比例值
        /// </summary>
        public decimal SchoolRebateRatioValue { get; set; }

        /// <summary>
        /// 校代同行续费返佣比例
        /// </summary>
        public decimal SchoolReNewRatio { get; set; }

        /// <summary>
		/// 校代同行续费返佣类型
		/// </summary>
		public CourseRebateSetEnum SchoolReNewRatioType { get; set; }

        /// <summary>
        /// 校代同行续费返佣课程比例值
        /// </summary>
        public decimal SchoolReNewRatioValue { get; set; }

        /// <summary>
        /// 转介首次报名返佣比例
        /// </summary>
        public decimal TransIntroductceRatio { get; set; }

        /// <summary>
        /// 转介首次报名返佣类型
        /// </summary>
        public CourseRebateSetEnum TransIntroductceRatioType { get; set; }

        /// <summary>
        /// 转介首次报名返佣课程比例值
        /// </summary>
        public decimal TransIntroductceRatioValue { get; set; }

        /// <summary>
        /// 转介续费返佣比例
        /// </summary>
        public decimal TransIntroductceReNewRatio { get; set; }

        /// <summary>
		/// 转介续费返佣类型
		/// </summary>
		public CourseRebateSetEnum TransIntroductceReNewRatioType { get; set; }

        /// <summary>
		/// 转介续费返佣课程比例值
		/// </summary>
		public decimal TransIntroductceReNewRatioValue { get; set; }

        /// <summary>
        /// 內推首次报名返佣比例
        /// </summary>
        public decimal InnerRecommendRatio { get; set; }

        /// <summary>
        /// 內推首次报名返佣类型
        /// </summary>
        public CourseRebateSetEnum InnerRecommendRatioType { get; set; }

        /// <summary>
        /// 內推首次报名返佣课程比例值
        /// </summary>
        public decimal InnerRecommendRatioValue { get; set; }

        /// <summary>
        /// 內推续费返佣比例
        /// </summary>
        public decimal InnerRecommendReNewRatio { get; set; }

        /// <summary>
		/// 內推续费返佣类型
		/// </summary>
		public CourseRebateSetEnum InnerRecommendReNewRatioType { get; set; }

        /// <summary>
		/// 內推续费返佣课程比例值
		/// </summary>
		public decimal? InnerRecommendReNewRatioValue { get; set; }

        /// <summary>
        /// 返佣类型(1比例返佣,2-固定金额返佣)
        /// </summary>
        public int CommissionReType { get; set; }

        /// <summary>
        /// 直客首次报名返佣比例
        /// </summary>
        public decimal B2CRbRatio { get; set; }

        /// <summary>
        /// 直客首次报名返佣类型
        /// </summary>
        public CourseRebateSetEnum B2CRbRatioType { get; set; }

        /// <summary>
        /// 直客首次报名返佣类型值
        /// </summary>
        public decimal B2CRbRatioValue { get; set; }

        /// <summary>
        /// 直客续费返佣比例
        /// </summary>
        public decimal B2CRNRatio { get; set; }

        /// <summary>
        /// 直客续费返佣类型
        /// </summary>
        public CourseRebateSetEnum B2CRNRatioType { get; set; }

        /// <summary>
        /// 直客续费返佣类型值
        /// </summary>
        public decimal B2CRNRatioValue { get; set; }

        /// <summary>
        /// 合同补充协议
        /// </summary>
        public string ContractInfo { get; set; }

        /// <summary>
        /// 是否会滚动开班   1是
        /// </summary>
        public int IsScrollClass { get; set; }

        /// <summary>
        /// 最小上课人数
        /// </summary>
        public int ScrollMinNum { get; set; }

        /// <summary>
        /// 最大上课人数
        /// </summary>
        public int ScrollMaxNum { get; set; }

        /// <summary>
        /// 适配上课时段ID (滚动开班)
        /// </summary>
        public int CourseTimeId { get; set; }
    }
}