From bb723d516fe4334807fdab98d6ffcc6d2ebb509b Mon Sep 17 00:00:00 2001 From: qmstyle Date: Thu, 17 Apr 2025 16:57:23 +0800 Subject: [PATCH] =?UTF-8?q?2025=E5=B9=B44=E6=9C=8817=E6=97=A516:57:16?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../exam/controller/ExamController.java | 12 ++++++ .../exam/controller/UserController.java | 5 ++- .../zhangmeng/online/exam/entity/Exam.java | 36 ++++++++++++++++++ .../online/exam/entity/ExamAnswer.java | 37 +++++++++++++++++++ .../online/exam/entity/PaperAnswer.java | 2 +- 5 files changed, 90 insertions(+), 2 deletions(-) create mode 100644 src/main/java/com/zhangmeng/online/exam/controller/ExamController.java create mode 100644 src/main/java/com/zhangmeng/online/exam/entity/Exam.java create mode 100644 src/main/java/com/zhangmeng/online/exam/entity/ExamAnswer.java diff --git a/src/main/java/com/zhangmeng/online/exam/controller/ExamController.java b/src/main/java/com/zhangmeng/online/exam/controller/ExamController.java new file mode 100644 index 0000000..3d32a66 --- /dev/null +++ b/src/main/java/com/zhangmeng/online/exam/controller/ExamController.java @@ -0,0 +1,12 @@ +package com.zhangmeng.online.exam.controller; + +/** + * @author zm + * @date 2025/4/17 16:24 + * @version: 1.0 + */ +public class ExamController { + + + +} diff --git a/src/main/java/com/zhangmeng/online/exam/controller/UserController.java b/src/main/java/com/zhangmeng/online/exam/controller/UserController.java index 868bef4..637b869 100644 --- a/src/main/java/com/zhangmeng/online/exam/controller/UserController.java +++ b/src/main/java/com/zhangmeng/online/exam/controller/UserController.java @@ -9,6 +9,7 @@ import com.zhangmeng.online.exam.dto.Result; import com.zhangmeng.online.exam.entity.*; import com.zhangmeng.online.exam.entity.User; import com.zhangmeng.online.exam.utils.PageUtils; +import com.zhangmeng.online.exam.utils.UserUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; @@ -166,8 +167,10 @@ public class UserController { @GetMapping("/menu") public Result menuList() { List list = new ArrayList<>(); + Long currentUserId = UserUtils.getCurrentUserId(); - TypedQuery query = entityManager.createQuery("select obj from User obj where obj.id = 1", User.class); + TypedQuery query = entityManager.createQuery("select obj from User obj where obj.id =:id", User.class); + query.setParameter("id", currentUserId); User root = query.getResultList().get(0); Set roles = root.getRoles(); for (Role role : roles) { diff --git a/src/main/java/com/zhangmeng/online/exam/entity/Exam.java b/src/main/java/com/zhangmeng/online/exam/entity/Exam.java new file mode 100644 index 0000000..7727b98 --- /dev/null +++ b/src/main/java/com/zhangmeng/online/exam/entity/Exam.java @@ -0,0 +1,36 @@ +package com.zhangmeng.online.exam.entity; + +import com.zhangmeng.online.exam.entity.baseEntity.BaseEntity; +import lombok.*; + +import javax.persistence.Entity; +import javax.persistence.ManyToOne; +import javax.persistence.OneToMany; +import javax.persistence.Table; +import java.util.ArrayList; +import java.util.List; + +/** + * 考试信息 + * @author zm + * @date 2025/4/17 16:26 + * @version: 1.0 + */ +@NoArgsConstructor +@ToString(exclude = {"user","paper","examAnswers"}) +@Getter +@Setter +@AllArgsConstructor +@Entity +@Table(name = "exam") +public class Exam extends BaseEntity { + + @ManyToOne + private User user;//考试人 + + @ManyToOne + private Paper paper;//试卷 + + @OneToMany(mappedBy = "exam") + private List examAnswers = new ArrayList<>();//考试信息 +} diff --git a/src/main/java/com/zhangmeng/online/exam/entity/ExamAnswer.java b/src/main/java/com/zhangmeng/online/exam/entity/ExamAnswer.java new file mode 100644 index 0000000..edbfd0f --- /dev/null +++ b/src/main/java/com/zhangmeng/online/exam/entity/ExamAnswer.java @@ -0,0 +1,37 @@ +package com.zhangmeng.online.exam.entity; + +import com.zhangmeng.online.exam.entity.baseEntity.BaseEntity; +import lombok.*; + +import javax.persistence.*; +import java.util.ArrayList; +import java.util.List; + +/** + * 考试答案 (考试答案) + * @author zm + * @date 2025/4/17 16:31 + * @version: 1.0 + */ +@NoArgsConstructor +@ToString(exclude = {"exam", "question", "questionOptions"}) +@Getter +@Setter +@AllArgsConstructor +@Entity +@Table(name = "exam_answer") +public class ExamAnswer extends BaseEntity { + + @ManyToOne + private Exam exam; + + @ManyToOne + private Question question;//问题 + + @ManyToMany(targetEntity = QuestionOption.class) + @JoinTable(name = "exam_answer_question_option", joinColumns = @JoinColumn(name = "exam_answer_id"), inverseJoinColumns = @JoinColumn(name = "question_option_id")) + private List questionOptions = new ArrayList<>();//答案选项 + + private String answer;//答案 + +} diff --git a/src/main/java/com/zhangmeng/online/exam/entity/PaperAnswer.java b/src/main/java/com/zhangmeng/online/exam/entity/PaperAnswer.java index e51f980..af050bc 100644 --- a/src/main/java/com/zhangmeng/online/exam/entity/PaperAnswer.java +++ b/src/main/java/com/zhangmeng/online/exam/entity/PaperAnswer.java @@ -8,7 +8,7 @@ import java.util.ArrayList; import java.util.List; /** - * 考试试卷的答案 + * 考试试卷的答案(参考答案) * @author zm * @date 2025/3/18 16:36 * @version: 1.0