9 changed files with 264 additions and 1 deletions
@ -0,0 +1,54 @@ |
|||
package com.project.question.domain.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.project.base.domain.entity.BaseEntity; |
|||
import jakarta.persistence.Column; |
|||
import jakarta.persistence.Entity; |
|||
import jakarta.persistence.Id; |
|||
import jakarta.persistence.Table; |
|||
import lombok.Data; |
|||
import lombok.EqualsAndHashCode; |
|||
import org.hibernate.annotations.Comment; |
|||
|
|||
@Data |
|||
@Table(name = "evaluator_question_answer" ) |
|||
@Entity |
|||
@TableName(value = "evaluator_question_answer", autoResultMap = true) |
|||
@EqualsAndHashCode(callSuper = true) |
|||
public class QuestionAnswerEntity extends BaseEntity { |
|||
@TableId(type = IdType.ASSIGN_ID) |
|||
@Id |
|||
private Long id; |
|||
|
|||
@Column(name = "exam_record_id") |
|||
@TableField("exam_record_id") |
|||
@Comment("所属考试记录ID") |
|||
private Long examRecordId; |
|||
|
|||
@Column(name = "user_id") |
|||
@TableField("user_id") |
|||
@Comment("所属用户ID") |
|||
private Long userId; |
|||
|
|||
@Column(name = "question_id") |
|||
@TableField("question_id") |
|||
@Comment("问题ID") |
|||
private Long questionId; |
|||
|
|||
@Column(name = "user_answer" , columnDefinition="varchar(255) comment '用户回答答案'") |
|||
@TableField("user_answer") |
|||
private String userAnswer; |
|||
|
|||
@Column(name = "is_right") |
|||
@TableField("is_right") |
|||
@Comment("是否正确") |
|||
private Boolean isRight; |
|||
|
|||
@Column(name = "score") |
|||
@TableField("score") |
|||
@Comment("得分") |
|||
private Double score; |
|||
} |
|||
@ -0,0 +1,73 @@ |
|||
package com.project.question.domain.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.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler; |
|||
import com.project.base.domain.entity.BaseEntity; |
|||
import com.project.question.domain.enums.QuestionUseStatusEnum; |
|||
import jakarta.persistence.Column; |
|||
import jakarta.persistence.Entity; |
|||
import jakarta.persistence.Id; |
|||
import jakarta.persistence.Table; |
|||
import lombok.Data; |
|||
import lombok.EqualsAndHashCode; |
|||
import org.hibernate.annotations.Comment; |
|||
import org.hibernate.annotations.JdbcTypeCode; |
|||
import org.hibernate.type.SqlTypes; |
|||
|
|||
import java.util.List; |
|||
import java.util.Map; |
|||
|
|||
|
|||
@Data |
|||
@Table(name = "evaluator_question" ) |
|||
@Entity |
|||
@TableName(value = "evaluator_question", autoResultMap = true) |
|||
@EqualsAndHashCode(callSuper = true) |
|||
public class QuestionEntity extends BaseEntity { |
|||
@TableId(type = IdType.ASSIGN_ID) |
|||
@Id |
|||
private Long id; |
|||
|
|||
@Comment("来源:0-单KP出题, 1-簇出题") |
|||
@Column(name = "source_type") |
|||
@TableField("source_type") |
|||
private Integer sourceType; |
|||
|
|||
|
|||
@Comment("是否已被使用:0-未用, 1-已用") |
|||
@Column(name = "use_status") |
|||
@TableField("use_status") |
|||
private Boolean useStatus = QuestionUseStatusEnum.Not_Use.getValue(); |
|||
|
|||
@TableField(value = "kp_id_list" , typeHandler = JacksonTypeHandler.class) |
|||
@JdbcTypeCode(SqlTypes.JSON) |
|||
@Column(name = "kp_id_list", columnDefinition = "json comment '覆盖知识点ID列表'") |
|||
private List<Long> kpIdList; |
|||
|
|||
|
|||
|
|||
@Column(name = "unique_hash" , unique = true, length = 64) |
|||
@TableField("unique_hash") |
|||
private String uniqueHash; |
|||
|
|||
@Column(name = "question_type", columnDefinition = "comment '题目类型'") |
|||
@TableField("question_type") |
|||
private Integer questionType; |
|||
|
|||
@TableField(value = "question_detail" , typeHandler = JacksonTypeHandler.class) |
|||
@JdbcTypeCode(SqlTypes.JSON) |
|||
@Column(name = "question_detail", columnDefinition = "json comment '题目内容'") |
|||
private QuestionDetail questionDetail; |
|||
|
|||
@Data |
|||
public static class QuestionDetail { |
|||
private String questionContent; // 题干
|
|||
private Integer type; // 题目类型
|
|||
private Map<String, String> options; // 选项
|
|||
private String rightAnswer; // 正确选项
|
|||
private String analysis; // AI解析
|
|||
} |
|||
} |
|||
@ -0,0 +1,15 @@ |
|||
package com.project.question.domain.enums; |
|||
|
|||
import com.project.base.domain.enums.HasValueEnum; |
|||
import lombok.Getter; |
|||
import lombok.RequiredArgsConstructor; |
|||
|
|||
@RequiredArgsConstructor |
|||
@Getter |
|||
public enum QuestionSourceTypeEnum implements HasValueEnum<Integer> { |
|||
|
|||
Single_Concept(0 , "单一知识点") , |
|||
Multi_Concept(1 , "多知识点/复合"); |
|||
private final Integer value; |
|||
private final String desc; |
|||
} |
|||
@ -0,0 +1,13 @@ |
|||
package com.project.question.domain.enums; |
|||
|
|||
import com.project.base.domain.enums.HasValueEnum; |
|||
import lombok.Getter; |
|||
import lombok.RequiredArgsConstructor; |
|||
|
|||
@RequiredArgsConstructor |
|||
@Getter |
|||
public enum QuestionUseStatusEnum implements HasValueEnum<String> { |
|||
Not_Use(Boolean.FALSE) , |
|||
Used(Boolean.TRUE); |
|||
private final Boolean value; |
|||
} |
|||
@ -0,0 +1,41 @@ |
|||
package com.project.task.domain.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.project.base.domain.entity.BaseEntity; |
|||
import jakarta.persistence.Column; |
|||
import jakarta.persistence.Entity; |
|||
import jakarta.persistence.Id; |
|||
import jakarta.persistence.Table; |
|||
import lombok.Data; |
|||
import lombok.EqualsAndHashCode; |
|||
import org.hibernate.annotations.Comment; |
|||
|
|||
@Data |
|||
@Table(name = "evaluator_task_knowledge_cluster" ) |
|||
@Entity |
|||
@TableName(value = "evaluator_task_knowledge_cluster", autoResultMap = true) |
|||
@EqualsAndHashCode(callSuper = true) |
|||
public class TaskKnowledgeClusterEntity extends BaseEntity { |
|||
@TableId(value = "id" , type = IdType.ASSIGN_ID) |
|||
@Id |
|||
private Long id; |
|||
|
|||
@Column(name = "task_id") |
|||
@TableField("task_id") |
|||
@Comment("所属考试任务ID") |
|||
private Long taskId; |
|||
|
|||
@Column(name = "cluster_topic", length = 512) |
|||
@Comment("簇主题/标签(由AI聚类后总结提取)") |
|||
@TableField("cluster_topic") |
|||
|
|||
private String clusterTopic; |
|||
|
|||
@Column(name = "cluster_size") |
|||
@TableField("cluster_size") |
|||
@Comment("簇大小(W):该簇包含的知识点个数") |
|||
private Integer clusterSize; |
|||
} |
|||
@ -0,0 +1,48 @@ |
|||
package com.project.task.domain.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.project.base.domain.entity.BaseEntity; |
|||
import jakarta.persistence.Column; |
|||
import jakarta.persistence.Entity; |
|||
import jakarta.persistence.Id; |
|||
import jakarta.persistence.Table; |
|||
import lombok.Data; |
|||
import lombok.EqualsAndHashCode; |
|||
import org.hibernate.annotations.Comment; |
|||
|
|||
@Data |
|||
@Table(name = "evaluator_task_knowledge_point" ) |
|||
@Entity |
|||
@TableName(value = "evaluator_task_knowledge_point", autoResultMap = true) |
|||
@EqualsAndHashCode(callSuper = true) |
|||
public class TaskKnowledgePointEntity extends BaseEntity { |
|||
@TableId(type = IdType.ASSIGN_ID) |
|||
@Id |
|||
private Long id; |
|||
|
|||
@Column(name = "task_id") |
|||
@TableField("task_id") |
|||
@Comment("所属考试任务ID") |
|||
private Long taskId; |
|||
|
|||
@Column(name = "cluster_id") |
|||
@TableField("cluster_id") |
|||
|
|||
@Comment("所属簇ID(关联 evaluator_task_knowledge_cluster)") |
|||
private Long clusterId; |
|||
|
|||
@Column(name = "atom_id") |
|||
@TableField("atom_id") |
|||
|
|||
@Comment("关联原始原子知识点ID(对应原始资料解析出的ID)") |
|||
private Long atomId; |
|||
|
|||
@Column(name = "content", columnDefinition = "TEXT") |
|||
@Comment("知识点原文文本") |
|||
private String content; |
|||
|
|||
|
|||
} |
|||
@ -0,0 +1,10 @@ |
|||
package com.project.task.mapper; |
|||
|
|||
import com.project.task.domain.entity.TaskKnowledgeClusterEntity; |
|||
import org.apache.ibatis.annotations.Mapper; |
|||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
|||
|
|||
|
|||
@Mapper |
|||
public interface TaskKnowledgeClusterMapper extends BaseMapper<TaskKnowledgeClusterEntity>{ |
|||
} |
|||
@ -0,0 +1,9 @@ |
|||
package com.project.task.mapper; |
|||
|
|||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
|||
import com.project.task.domain.entity.TaskKnowledgePointEntity; |
|||
import org.apache.ibatis.annotations.Mapper; |
|||
|
|||
@Mapper |
|||
public interface TaskKnowledgePointMapper extends BaseMapper<TaskKnowledgePointEntity> { |
|||
} |
|||
Loading…
Reference in new issue