Files
aca-class-assign-service/src/main/java/com/yunhai/acaclassassign/entity/AssignStudent.java
T
wanghu 9e83208f35
build / build-push (push) Successful in 1m29s
commit
2026-10-21 15:00:26 +08:00

97 lines
3.4 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
package com.yunhai.acaclassassign.entity;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Index;
import javax.persistence.Table;
import java.math.BigDecimal;
/**
* 分班学生:导入名单的数据行。学号/账号为标识文本列(仅展示/导出,不参与均衡),
* 不存联系方式,也不与平台账号做关联。
* <p>单科成绩、是否型/数值型自定义字段为动态结构,以 JSON 文本列存储;
* 分班结果写回 classId(与 level A/B 层)。</p>
*/
@Getter
@Setter
@NoArgsConstructor
@Entity
@Table(name = "aca_assign_student", indexes = {
@Index(name = "idx_as_project", columnList = "project_id"),
@Index(name = "idx_as_project_class", columnList = "project_id,class_id"),
@Index(name = "idx_as_name", columnList = "name")})
public class AssignStudent extends BaseEntity {
/** 所属分班项目 */
@Column(name = "project_id", nullable = false)
private Integer projectId;
/** 姓名(必填;同名/同音约束、拼音排序依据) */
@Column(name = "name", nullable = false, length = 64)
private String name;
/** 性别:1男 2女 0未知 */
@Column(name = "gender", nullable = false, columnDefinition = "TINYINT DEFAULT 0")
private Integer gender;
/** 总分(小学版恒空) */
@Column(name = "total_score", precision = 6, scale = 2)
private BigDecimal totalScore;
/** 单科成绩 JSON:{"语文":95.5,"数学":88,...} */
@Column(name = "scores_json", columnDefinition = "TEXT")
private String scoresJson;
/** 是否型自定义字段 JSON:{"特长生":true,"住宿":false,...} */
@Column(name = "tags_json", columnDefinition = "TEXT")
private String tagsJson;
/** 数值型自定义字段 JSON:{"视力分":4.8,...} */
@Column(name = "nums_json", columnDefinition = "TEXT")
private String numsJson;
/** 学号(标识文本列,仅展示/导出,不参与均衡) */
@Column(name = "student_no", length = 64)
private String studentNo;
/** 账号(标识文本列,仅展示/导出,不参与均衡,不与平台账号关联) */
@Column(name = "account", length = 64)
private String account;
/** 密码(标识文本列,生成=账号+@;仅展示/导出/推送初始密码,不参与均衡) */
@Column(name = "password", length = 64)
private String password;
/** 毕业学校(仅展示/导出/生源分析,不参与均衡) */
@Column(name = "graduate_school", length = 128)
private String graduateSchool;
/** 备注 */
@Column(name = "remark", length = 255)
private String remark;
/** 预设班级原文(如 1 / 1班 / 同班:张三 / 不同班:李四) */
@Column(name = "preset_raw", length = 255)
private String presetRaw;
/** 预设解析结果 JSON:[{"type":"class|same|diff","value":"1","target":"张三"}] */
@Column(name = "preset_json", columnDefinition = "TEXT")
private String presetJson;
/** 分班结果:所在班级id(aca_assign_class.id) */
@Column(name = "class_id")
private Integer classId;
/** 分层结果:A/B(高中版用;其他学段空) */
@Column(name = "level", length = 4)
private String level;
/** 导入行号(告警定位) */
@Column(name = "src_row")
private Integer srcRow;
}