package com.seer.teach.teacher.module.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.seer.teach.common.entity.BaseEntity;
import lombok.Getter;
import lombok.Setter;

/**
 * <p>
 * 知识点合并记录表
 * </p>
 *
 * @author Lingma
 * @since 2025-11-19
 */
@Getter
@Setter
@TableName("teacher_merged_knowledge_points")
public class MergedKnowledgePointEntity extends BaseEntity {

    private static final long serialVersionUID = 1L;
    
    /**
     * 合并类型：新增时合并
     */
    public static final Integer MERGE_TYPE_ADD = 1;
    
    /**
     * 合并类型：编辑时合并
     */
    public static final Integer MERGE_TYPE_EDIT = 2;

    /**
     * 目标知识点ID
     */
    @TableField("target_knowledge_point_id")
    private Integer targetKnowledgePointId;

    /**
     * 目标知识点名称
     */
    @TableField("target_knowledge_point_name")
    private String targetKnowledgePointName;

    /**
     * 目标知识点总结
     */
    @TableField("target_knowledge_point_summary")
    private String targetKnowledgePointSummary;

    /**
     * 源知识点ID
     */
    @TableField("source_knowledge_point_id")
    private Integer sourceKnowledgePointId;

    /**
     * 源知识点名称
     */
    @TableField("source_knowledge_point_name")
    private String sourceKnowledgePointName;

    /**
     * 源知识点总结
     */
    @TableField("source_knowledge_point_summary")
    private String sourceKnowledgePointSummary;

    /**
     * 合并类型：1-新增时合并，2-编辑时合并
     */
    @TableField("merge_type")
    private Integer mergeType;

    /**
     * 源教材ID
     */
    @TableField("source_material_id")
    private Integer sourceMaterialId;

    /**
     * 源教材名称
     */
    @TableField("source_material_name")
    private String sourceMaterialName;

    /**
     * 源版本ID
     */
    @TableField("source_version_id")
    private Integer sourceVersionId;

    /**
     * 源版本名称
     */
    @TableField("source_version_name")
    private String sourceVersionName;

    /**
     * 源单元ID
     */
    @TableField("source_unit_id")
    private Integer sourceUnitId;

    /**
     * 源单元名称
     */
    @TableField("source_unit_name")
    private String sourceUnitName;

    /**
     * 目标教材ID
     */
    @TableField("target_material_id")
    private Integer targetMaterialId;

    /**
     * 目标教材名称
     */
    @TableField("target_material_name")
    private String targetMaterialName;

    /**
     * 目标版本ID
     */
    @TableField("target_version_id")
    private Integer targetVersionId;

    /**
     * 目标版本名称
     */
    @TableField("target_version_name")
    private String targetVersionName;

    /**
     * 目标单元ID
     */
    @TableField("target_unit_id")
    private Integer targetUnitId;

    /**
     * 目标单元名称
     */
    @TableField("target_unit_name")
    private String targetUnitName;

}