package org.dromara.main.domain;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.dromara.common.mybatis.core.domain.BaseEntity;

import java.util.Date;

@Data
@EqualsAndHashCode(callSuper = true)
@TableName("main_training")
public class MainTraining extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 培训ID
     */
    @TableId(value = "id")
    private Long id;

    /**
     * 培训类型: video=视频培训, offline=线下培训, live=直播培训
     */
    private String trainingType;

    /**
     * 培训名称
     */
    private String name;

    /**
     * 培训描述
     */
    private String description;

    /**
     * 封面图ID（关联 sys_oss.oss_id）
     */
    private Long thumbnail;

    /**
     * 岗位类型（全职/兼职/实习）
     */
    private String jobType;

    /**
     * 岗位等级（A1/A2/B1/B2）
     */
    private String jobLevel;

    /**
     * 岗位名称
     */
    private String job;

    /**
     * 排序号
     */
    private Integer sortOrder;

    /**
     * 状态: 0=下架, 1=上架
     */
    private Integer status;

    /**
     * 总时长
     */
    private String duration;

    /**
     * 上架时间
     */
    private Date publishTime;

    /**
     * 培训城市
     */
    private String city;

    /**
     * 培训区域
     */
    private String area;

    /**
     * 详细地址
     */
    private String addressDetail;

    /**
     * 培训开始时间
     */
    private Date trainingStartTime;

    /**
     * 培训结束时间
     */
    private Date trainingEndTime;

    /**
     * 报名开始时间
     */
    private Date applyStartTime;

    /**
     * 报名结束时间
     */
    private Date applyEndTime;

    /**
     * 主办单位
     */
    private String organizer;

    /**
     * 标签（逗号分隔）
     */
    private String tags;

    /**
     * 租户编号
     */
    private String tenantId;

    /**
     * 备注
     */
    private String remark;

    /**
     * 删除标志（0代表存在 1代表删除）
     */
    @TableLogic
    private String delFlag;
}
