This commit is contained in:
wanghu
2026-02-28 19:31:18 +08:00
commit 9e06e21b9d
173 changed files with 17839 additions and 0 deletions
@@ -0,0 +1,24 @@
package com.bestsch.classicalchinese.model;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
@AllArgsConstructor
@NoArgsConstructor
@Data
public class AcademicYear {
private Integer id;
private String name;
private Date startDate;
private Date endDate;
private Date progressionDate;
private Integer year;
private Date firstSemesterStartDate;
private Date firstSemesterEndDate;
private Date secondSemesterStartDate;
private Date secondSemesterEndDate;
}
@@ -0,0 +1,21 @@
package com.bestsch.classicalchinese.model;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
@AllArgsConstructor
@NoArgsConstructor
@Data
public class AiAsk {
@NotNull(message="请选择模型!")
@Size(max = 20, message = "模型错误!")
private String model;
@NotNull(message="请输入问题内容!")
@Size(max = 8000, message = "问题长度超出限制(8000字符)!")
private String prompt;
}
@@ -0,0 +1,17 @@
package com.bestsch.classicalchinese.model;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
@AllArgsConstructor
@NoArgsConstructor
@Data
public class BaseTree {
public Integer id;
public String name;
public Integer pid ;
public List<BaseTree> children;
}
@@ -0,0 +1,26 @@
package com.bestsch.classicalchinese.model;
import lombok.Data;
import java.util.List;
@Data
public class ClassInfo
{
private Integer classId;
private Integer gradeId;
private String className;
private String gradeName;
private Integer teacherId;
private Integer schoolId;
@Data
public static class ClassInfoWithStu
{
private Integer classId;
private Integer gradeId;
private String className;
private String gradeName;
private List<StudentInfo> children;
}
}
@@ -0,0 +1,13 @@
package com.bestsch.classicalchinese.model;
import lombok.Data;
@Data
public class ClassModel {
private Integer classId;
private String className;
private String gradeName;
private String name;
private Integer gradeId;
private String classIds;
}
@@ -0,0 +1,13 @@
package com.bestsch.classicalchinese.model;
import lombok.Data;
import java.util.Date;
@Data
public class DateModel {
private int year;
private int semester;
private Date startDate;
private Date endDate;
}
@@ -0,0 +1,12 @@
package com.bestsch.classicalchinese.model;
import lombok.Data;
import java.util.Date;
@Data
public class DateTimeModel {
private int timeIndex;
private Date startDate;
private Date endDate;
}
@@ -0,0 +1,39 @@
package com.bestsch.classicalchinese.model;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
import java.util.List;
import java.util.Map;
@AllArgsConstructor
@NoArgsConstructor
@Data
public class Example {
private String name;
private String config;
private String answer;
private String solve;
private Integer difficultLevelId;
// private String difficultLevelName;
// private String questionTypeName;
private Integer questionTypeId;
private DifficultLevel difficultLevel;
private QuestionType questionType;
private List<Map> solveQuestionFiles;
@Data
static public class DifficultLevel{
private Integer id;
private String name;
}
@Data
static public class QuestionType{
private Integer id;
private String name;
private Date cdate;
}
}
@@ -0,0 +1,20 @@
package com.bestsch.classicalchinese.model;
import cn.afterturn.easypoi.excel.annotation.Excel;
import lombok.Data;
/**
* @Author wanghu
* @Date 2025-11-7 13:26 (可以根据需要修改)
* @Description:
*/
@Data
public class ExcelBschLeadlearning {
@Excel(name = "章节名称")
private String cname;
@Excel(name = "导学内容")
private String bschLeadlearning;
}
@@ -0,0 +1,20 @@
package com.bestsch.classicalchinese.model;
import cn.afterturn.easypoi.excel.annotation.Excel;
import lombok.Data;
/**
* @Author wanghu
* @Date 2025-11-7 13:26 (可以根据需要修改)
* @Description:
*/
@Data
public class ExcelPunitTreeTea {
@Excel(name = "章节名称")
private String cname;
@Excel(name = "教师(“,”英文逗号隔开)")
private String teaNames;
}
@@ -0,0 +1,15 @@
package com.bestsch.classicalchinese.model;
import lombok.Data;
@Data
public class FileMessage {
private String fileName;
private String pictureName;
private Long videoSize;
private Integer imgWidth;
private Integer imgHeight;
private String size;
}
@@ -0,0 +1,26 @@
package com.bestsch.classicalchinese.model;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@AllArgsConstructor
@NoArgsConstructor
@Data
public class Grade {
private Integer gradeId;//1-12年级
private String name;
private Integer term;//学期
private Integer id;//年级ID 唯一
public Grade(Integer id, String name) {
this.gradeId = id;
this.name = name;
}
}
@@ -0,0 +1,72 @@
package com.bestsch.classicalchinese.model;
import org.apache.commons.lang.StringUtils;
public class Page<U> {
private int current;
private int pageSize;
private long count;
public Page() {
}
public int getCurrent() {
return this.current;
}
public void setCurrent(int current) {
this.current = current;
}
public int getPageSize() {
return this.pageSize == 0 ? 10 : this.pageSize;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
public void setPageSize(String pageSize) {
if (!StringUtils.isEmpty(pageSize) && StringUtils.isNumeric(pageSize)) {
this.pageSize = Integer.valueOf(pageSize);
}
}
public long getCount() {
return this.count;
}
public void setCount(long count) {
this.count = count;
}
public int getPageCount() {
return this.getPageSize() != 0 ? (int)Math.ceil((double)this.count / (double)this.getPageSize()) : 0;
}
public int getStartIndex() {
return (this.getCurrent() - 1) * this.getPageSize();
}
public void setCurrent(String current) {
if (!StringUtils.isEmpty(current) && StringUtils.isNumeric(current)) {
this.current = Integer.valueOf(current);
}
}
public void setCount(String count) {
if (!StringUtils.isEmpty(count) && StringUtils.isNumeric(count)) {
this.count = Long.valueOf(count);
}
}
public int getEndIndex() {
return this.getStartIndex() + this.getPageSize();
}
}
@@ -0,0 +1,26 @@
package com.bestsch.classicalchinese.model;
/**
* @Author wanghu
* @Date 2025-11-10 14:47 (可以根据需要修改)
* @Description:
*/
public class PageInfo {
private int pageNum;
private int pageSize;
private int total;
private int totalPages;
private boolean hasNext;
private boolean hasPrev;
// 构造方法、getter、setter...
public PageInfo(int pageNum, int pageSize, int total, int totalPages,
boolean hasNext, boolean hasPrev) {
this.pageNum = pageNum;
this.pageSize = pageSize;
this.total = total;
this.totalPages = totalPages;
this.hasNext = hasNext;
this.hasPrev = hasPrev;
}
}
@@ -0,0 +1,12 @@
package com.bestsch.classicalchinese.model;
import lombok.Data;
@Data
public class SchClassModel {
public Integer classID;
public Integer gradeID;
public String gradeName;
public String className;
}
@@ -0,0 +1,9 @@
package com.bestsch.classicalchinese.model;
import lombok.Data;
@Data
public class SchSub {
private String subId;
private String subName;
}
@@ -0,0 +1,10 @@
package com.bestsch.classicalchinese.model;
import lombok.Data;
@Data
public class SchTeaSubGrade {
public Integer gradeID;
public String subID;
}
@@ -0,0 +1,14 @@
package com.bestsch.classicalchinese.model;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class StartEndDate {
private Date startDate;
private Date endDate;
}
@@ -0,0 +1,14 @@
package com.bestsch.classicalchinese.model;
import lombok.Data;
@Data
public class StudentInfo
{
private Integer id;
private String name;
private Integer claId;
private String claName;
private Integer gradeId;
private String profilePicture;
}
@@ -0,0 +1,17 @@
package com.bestsch.classicalchinese.model;
import lombok.Data;
import java.util.List;
/**
* @Author wanghu
* @Date 2025-11-18 16:18 (可以根据需要修改)
* @Description:
*/
@Data
public class SubGroupTeaIds {
public List<Integer> gradeIds;
public List<String> subIds;
public List<Integer> teaIds;
}
@@ -0,0 +1,31 @@
package com.bestsch.classicalchinese.model;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
@AllArgsConstructor
@NoArgsConstructor
@Getter
public enum SystemGrade {
one(1,"一年级"),two(2,"二年级"),
three(3,"三年级"),four(4,"四年级"),
five(5,"五年级"),six(6,"六年级"),
seven(7,"七年级"),eight(8,"八年级"),
nine(9,"九年级"),ten(10,"高一年级"),
eleven(11,"高二年级"),twelve(12,"高三年级");
private Integer gradeId;
private String gradeName;
public static String getName(Integer gradeId) {
for (SystemGrade grade : SystemGrade.values()) {
if (grade.getGradeId().equals(gradeId)) {
return grade.gradeName;
}
}
return null;
}
}
@@ -0,0 +1,15 @@
package com.bestsch.classicalchinese.model;
import lombok.Data;
@Data
public class TeaFirstClass {
public String gradeName;
public int gradeId ;
public String alias;
public String className ;
public String subName ;
public String subId ;
public String name ;
public int id ;
}
@@ -0,0 +1,16 @@
package com.bestsch.classicalchinese.model;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@AllArgsConstructor
@NoArgsConstructor
@Data
public class TreeDept {
private int schoolId;
private String name;
private int pId;
private int id;
private Integer type;
}
@@ -0,0 +1,17 @@
package com.bestsch.classicalchinese.model;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@AllArgsConstructor
@NoArgsConstructor
@Data
public class TreeUser {
private int UserID;
private String Name;
private String Photo;
private Integer type;
private int id;
private int GroupID;
}
@@ -0,0 +1,15 @@
package com.bestsch.classicalchinese.model;
import lombok.Data;
/**
* @Author wanghu
* @Date 2025-11-18 16:18 (可以根据需要修改)
* @Description:
*/
@Data
public class UserGradeClassSub {
public Integer gradeId;
public Integer classId;
public String subId;
}
@@ -0,0 +1,28 @@
package com.bestsch.classicalchinese.model;
import lombok.Data;
import java.util.Date;
@Data
public class YearSemester {
private Integer year;
private Integer semester;
private String name;
private Date startDate;
private Date endDate;
@Data
static public class AcademicYear {
private Integer id;
private String name;
private Date startDate;
private Date endDate;
private Date progressionDate;
private Integer year;
private Date firstSemesterStartDate;
private Date firstSemesterEndDate;
private Date secondSemesterStartDate;
private Date secondSemesterEndDate;
}
}
@@ -0,0 +1,24 @@
package com.bestsch.classicalchinese.model.dto;
import com.bestsch.classicalchinese.entity.PunitQuestion;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.util.List;
@AllArgsConstructor
@NoArgsConstructor
@Data
public class PunitDto {
public Integer nodeId;
@NotNull(message="导学内容不允许为空!")
@Size(max = 8000, message = "导学内容超出长度限制(8000字符)!")
public String connect;
public List<PunitQuestion> questions;
}
@@ -0,0 +1,25 @@
package com.bestsch.classicalchinese.model.vo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@AllArgsConstructor
@NoArgsConstructor
@Data
public class AiQuestionsVo {
private String type;
private String difficulty;
private String question;
private String[] options;
// ["",""],[""] 一级表示答案有多种解析方式 或者关系, 二级表示答案属于并且关系答案同时存在
private String answer;
private String analysis;
}
@@ -0,0 +1,27 @@
package com.bestsch.classicalchinese.model.vo;
import com.bestsch.classicalchinese.entity.BschQuestion;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class BschFormQuestionVo implements Serializable {
public Integer nodeId;
public String content;
//小题
public List<BschQuestion> questionList;
public String path;
public Integer textbookId;
}
@@ -0,0 +1,26 @@
package com.bestsch.classicalchinese.model.vo;
import lombok.Data;
@Data
public class PunitFilesVo {
public Integer id;
public Integer nodeId;
public String fileName;
public String fileCode;
public String filePath;
public Integer fileSize;
public String fileType;
public Integer sort;
public boolean displayDel;
public boolean show;
}
@@ -0,0 +1,39 @@
package com.bestsch.classicalchinese.model.vo;
import com.bestsch.classicalchinese.entity.PunitQuestion;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class PunitFormVo implements Serializable {
public Integer id;
public String name;
public Integer nodeId;
public String content;
//小题
public List<PunitQuestion> questionList;
private Integer textBookId;
public String path;
public PunitFormVo(Integer id,String content,List<PunitQuestion> questionList)
{
this.id=id;
this.content=content;
this.questionList=questionList;
}
}
@@ -0,0 +1,50 @@
package com.bestsch.classicalchinese.model.vo;
import com.fasterxml.jackson.annotation.JsonAlias;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
@Data
@NoArgsConstructor
@AllArgsConstructor
@JsonIgnoreProperties(ignoreUnknown = true)
public class PunitNodeStuQuestion implements Serializable {
public Integer id;
public String name;
@JsonAlias("node_id")
public Integer nodeId;
public String content;
@JsonAlias("subject_id")
public String subjectId;
@JsonAlias("grade_id")
public Integer gradeId ;
@JsonAlias("is_review")
public Integer isReview;
@JsonAlias("qcount")
public String qCount;
@JsonAlias("stucount")
public String stuCount;
@JsonAlias("duicount")
public String duiCount;
@JsonAlias("cuocount")
public String cuoCount;
@JsonAlias("elecount")
public String eleCount;
}
@@ -0,0 +1,23 @@
package com.bestsch.classicalchinese.model.vo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class SubmitStuQuestionVo implements Serializable {
public Integer qId;
public Integer textbookId;
public Integer nodeId;
public String answer;
}