diff --git a/src/main/java/com/zhangmeng/online/exam/dao/OptionDao.java b/src/main/java/com/zhangmeng/online/exam/dao/OptionDao.java new file mode 100644 index 0000000..b05b7d5 --- /dev/null +++ b/src/main/java/com/zhangmeng/online/exam/dao/OptionDao.java @@ -0,0 +1,12 @@ +package com.zhangmeng.online.exam.dao; + +import com.zhangmeng.online.exam.entity.Option; +import org.springframework.data.jpa.repository.JpaRepository; + +/** + * @author zm + * @date 2025/2/28 16:14 + * @version: 1.0 + */ +public interface OptionDao extends JpaRepository { +} diff --git a/src/main/java/com/zhangmeng/online/exam/dao/PermissionDao.java b/src/main/java/com/zhangmeng/online/exam/dao/PermissionDao.java new file mode 100644 index 0000000..a5b2643 --- /dev/null +++ b/src/main/java/com/zhangmeng/online/exam/dao/PermissionDao.java @@ -0,0 +1,12 @@ +package com.zhangmeng.online.exam.dao; + +import com.zhangmeng.online.exam.entity.Permission; +import org.springframework.data.jpa.repository.JpaRepository; + +/** + * @author zm + * @date 2025/2/28 16:04 + * @version: 1.0 + */ +public interface PermissionDao extends JpaRepository { +} diff --git a/src/main/java/com/zhangmeng/online/exam/dao/ProfessionDao.java b/src/main/java/com/zhangmeng/online/exam/dao/ProfessionDao.java new file mode 100644 index 0000000..897421e --- /dev/null +++ b/src/main/java/com/zhangmeng/online/exam/dao/ProfessionDao.java @@ -0,0 +1,12 @@ +package com.zhangmeng.online.exam.dao; + +import com.zhangmeng.online.exam.entity.Profession; +import org.springframework.data.jpa.repository.JpaRepository; + +/** + * @author zm + * @date 2025/2/28 16:26 + * @version: 1.0 + */ +public interface ProfessionDao extends JpaRepository { +} diff --git a/src/main/java/com/zhangmeng/online/exam/dao/QuestionDao.java b/src/main/java/com/zhangmeng/online/exam/dao/QuestionDao.java new file mode 100644 index 0000000..cb73e0b --- /dev/null +++ b/src/main/java/com/zhangmeng/online/exam/dao/QuestionDao.java @@ -0,0 +1,12 @@ +package com.zhangmeng.online.exam.dao; + +import com.zhangmeng.online.exam.entity.Question; +import org.springframework.data.jpa.repository.JpaRepository; + +/** + * @author zm + * @date 2025/2/28 16:15 + * @version: 1.0 + */ +public interface QuestionDao extends JpaRepository { +} diff --git a/src/main/java/com/zhangmeng/online/exam/dao/RoleDao.java b/src/main/java/com/zhangmeng/online/exam/dao/RoleDao.java new file mode 100644 index 0000000..c42c413 --- /dev/null +++ b/src/main/java/com/zhangmeng/online/exam/dao/RoleDao.java @@ -0,0 +1,12 @@ +package com.zhangmeng.online.exam.dao; + +import com.zhangmeng.online.exam.entity.Role; +import org.springframework.data.jpa.repository.JpaRepository; + +/** + * @author zm + * @date 2025/2/28 16:04 + * @version: 1.0 + */ +public interface RoleDao extends JpaRepository { +} diff --git a/src/main/java/com/zhangmeng/online/exam/dao/SubjectDao.java b/src/main/java/com/zhangmeng/online/exam/dao/SubjectDao.java new file mode 100644 index 0000000..293674e --- /dev/null +++ b/src/main/java/com/zhangmeng/online/exam/dao/SubjectDao.java @@ -0,0 +1,12 @@ +package com.zhangmeng.online.exam.dao; + +import com.zhangmeng.online.exam.entity.Subject; +import org.springframework.data.jpa.repository.JpaRepository; + +/** + * @author zm + * @date 2025/2/28 16:19 + * @version: 1.0 + */ +public interface SubjectDao extends JpaRepository { +} diff --git a/src/main/java/com/zhangmeng/online/exam/dao/UserDao.java b/src/main/java/com/zhangmeng/online/exam/dao/UserDao.java new file mode 100644 index 0000000..d188eb7 --- /dev/null +++ b/src/main/java/com/zhangmeng/online/exam/dao/UserDao.java @@ -0,0 +1,12 @@ +package com.zhangmeng.online.exam.dao; + +import com.zhangmeng.online.exam.entity.User; +import org.springframework.data.jpa.repository.JpaRepository; + +/** + * @author zm + * @date 2025/2/28 16:03 + * @version: 1.0 + */ +public interface UserDao extends JpaRepository { +} diff --git a/src/main/java/com/zhangmeng/online/exam/entity/Option.java b/src/main/java/com/zhangmeng/online/exam/entity/Option.java new file mode 100644 index 0000000..74a8acb --- /dev/null +++ b/src/main/java/com/zhangmeng/online/exam/entity/Option.java @@ -0,0 +1,41 @@ +package com.zhangmeng.online.exam.entity; + +import com.zhangmeng.online.exam.entity.baseEntity.BaseEntity; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +import javax.persistence.Entity; +import javax.persistence.FetchType; +import javax.persistence.ManyToOne; +import javax.persistence.Table; + +/** + * + * @Description: 选项 + * @author zm + * @date 2025/2/28 16:10 + * @version: 1.0 + */ +@NoArgsConstructor +@Data +@AllArgsConstructor +@Entity +@EqualsAndHashCode(callSuper = false) +@Table(name = "option") +public class Option extends BaseEntity { + + @ManyToOne(fetch = FetchType.LAZY) + private Question question; + + private String optionName;//选项A + + private String optionContent;//选项内容 + + private Integer optionScore;//选项得分 + + private Integer optionOrder;//选项顺序 + + private Boolean isAnswer;//是否是正确答案 +} diff --git a/src/main/java/com/zhangmeng/online/exam/entity/Permission.java b/src/main/java/com/zhangmeng/online/exam/entity/Permission.java new file mode 100644 index 0000000..e37823f --- /dev/null +++ b/src/main/java/com/zhangmeng/online/exam/entity/Permission.java @@ -0,0 +1,46 @@ +package com.zhangmeng.online.exam.entity; + +import com.zhangmeng.online.exam.entity.baseEntity.BaseEntity; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.ManyToMany; +import javax.persistence.Table; +import java.util.HashSet; +import java.util.Set; + +/** + * @author zm + * @date 2025/2/28 14:46 + * @version: 1.0 + */ +@NoArgsConstructor +@Data +@AllArgsConstructor +@Entity +@EqualsAndHashCode(callSuper = false) +@Table(name = "permission") +public class Permission extends BaseEntity { + + + private String name; + + private String icon; + + private String url; + + private String description; + + private Integer sort; + + @Column(name = "frontpath") + private String frontpath; + + @ManyToMany(mappedBy = "permissions") + private Set roles = new HashSet<>(); + +} diff --git a/src/main/java/com/zhangmeng/online/exam/entity/Profession.java b/src/main/java/com/zhangmeng/online/exam/entity/Profession.java new file mode 100644 index 0000000..ad880ef --- /dev/null +++ b/src/main/java/com/zhangmeng/online/exam/entity/Profession.java @@ -0,0 +1,33 @@ +package com.zhangmeng.online.exam.entity; + +import com.zhangmeng.online.exam.entity.baseEntity.BaseEntity; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +import javax.persistence.Entity; +import javax.persistence.OneToMany; +import javax.persistence.Table; +import java.util.ArrayList; +import java.util.List; + +/** + * description: 职业实体类 + * @author zm + * @date 2025/2/28 16:24 + * @version: 1.0 + */ + +@NoArgsConstructor +@Data +@AllArgsConstructor +@Entity +@EqualsAndHashCode(callSuper = false) +@Table(name = "profession") +public class Profession extends BaseEntity { + + + @OneToMany(mappedBy = "profession") + private List subjects = new ArrayList<>(); +} diff --git a/src/main/java/com/zhangmeng/online/exam/entity/Question.java b/src/main/java/com/zhangmeng/online/exam/entity/Question.java new file mode 100644 index 0000000..212facd --- /dev/null +++ b/src/main/java/com/zhangmeng/online/exam/entity/Question.java @@ -0,0 +1,44 @@ +package com.zhangmeng.online.exam.entity; + +import com.zhangmeng.online.exam.entity.baseEntity.BaseEntity; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +import javax.persistence.*; +import java.util.ArrayList; +import java.util.List; + +/** + * @author zm + * @date 2025/2/28 16:06 + * @version: 1.0 + */ +@NoArgsConstructor +@Data +@AllArgsConstructor +@Entity +@EqualsAndHashCode(callSuper = false) +@Table(name = "question") +public class Question extends BaseEntity { + + public enum Type { + SINGLE_CHOICE,//单选题 + MULTIPLE_CHOICE,//多选题 + JUDGMENT,//判断题 + SHORT_ANSWER,//简答题 + TRUE_OR_FALSE,//判断题 + NUMERICAL,//计算题 + } + + private String name; + + private Type type; + + @OneToMany(mappedBy = "question") + private List