package com.hotwj.platform.securityManagement.trainingCourseRecord.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.io.Serial;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 培训人员课程学习记录对象 hot_training_course_record
 *
 * @author shihongwei
 * @date 2026-02-02
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("hot_training_course_record")
public class HotTrainingCourseRecord extends BaseEntity {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @TableId(value = "id")
    private Long id;

    /**
     * 公司ID（由应用层保证必填）
     */
    private Long companyId;

    /**
     * 培训计划ID
     */
    private Long trainingId;

    /**
     * 培训人员ID
     */
    private String userId;

    /**
     * 培训人员姓名
     */
    private String userName;

    /**
     * 课程ID
     */
    private Long trainingCourseId;

    /**
     * 试卷ID
     */
    private Long examId;

    /**
     * 试卷分数
     */
    private BigDecimal examScore;

    /**
     * 检测状态：0=未完成 1=已完成
     */
    private Long checkStatus;

    /**
     * 需学习时长(秒)
     */
    private Long studyDuration;

    /**
     * 学习进度百分比，如 75.50
     */
    private BigDecimal progressRate;

    /**
     * 累计学习时长(分钟)
     */
    private Long learnDurationMin;

    /**
     * 完成时间
     */
    private Date completeTime;

    /**
     * 学员签名OSS文件ID
     */
    private Long signatureOssId;

    /**
     * 是否已使用购买课时套餐：0=否 1=是
     */
    private Long isUseHourPackage;

    /**
     * 已扣减课时数
     */
    private Long hourPackageUsedHours;

    /**
     * 创建者姓名
     */
    private String createByName;

    /**
     * 更新者姓名
     */
    private String updateByName;

    /**
     * 0=正常, 1=已删除
     */
    @TableLogic
    private Long isDeleted;


}
