|
|
@@ -0,0 +1,60 @@
|
|
|
+package nju.seec.helper;
|
|
|
+
|
|
|
+import com.google.common.collect.ImmutableMap;
|
|
|
+import nju.seec.helper.data.dao.CourseDAO;
|
|
|
+import nju.seec.helper.data.dao.QuestionDAO;
|
|
|
+import nju.seec.helper.data.entity.Course;
|
|
|
+import nju.seec.helper.data.entity.Question;
|
|
|
+import nju.seec.helper.util.FakerUtils;
|
|
|
+import nju.seec.helper.util.enums.QuestionType;
|
|
|
+import org.springframework.boot.ApplicationArguments;
|
|
|
+import org.springframework.boot.ApplicationRunner;
|
|
|
+import org.springframework.stereotype.Component;
|
|
|
+
|
|
|
+import java.time.LocalDateTime;
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.Collections;
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
+/**
|
|
|
+ * @author cst
|
|
|
+ */
|
|
|
+@Component
|
|
|
+public class InitDataComponent implements ApplicationRunner {
|
|
|
+ private final CourseDAO courseDAO;
|
|
|
+
|
|
|
+ private final QuestionDAO questionDAO;
|
|
|
+
|
|
|
+ public InitDataComponent(CourseDAO courseDAO, QuestionDAO questionDAO) {
|
|
|
+ this.courseDAO = courseDAO;
|
|
|
+ this.questionDAO = questionDAO;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void run(ApplicationArguments args) {
|
|
|
+ // init course
|
|
|
+ List<Course> courses = new ArrayList<>();
|
|
|
+ int size = 10;
|
|
|
+ for (int i = 0; i < size; i++) {
|
|
|
+ Course course = new Course();
|
|
|
+ course.setId("course" + i);
|
|
|
+ course.setName(FakerUtils.getFaker().job().field());
|
|
|
+ courses.add(course);
|
|
|
+ }
|
|
|
+ courseDAO.saveAll(courses);
|
|
|
+
|
|
|
+ // init question
|
|
|
+ Question fakerQuestion = new Question();
|
|
|
+ fakerQuestion.setId(1);
|
|
|
+ fakerQuestion.setStem("1+1=?");
|
|
|
+ fakerQuestion.setType(QuestionType.choice);
|
|
|
+ fakerQuestion.setOptions(ImmutableMap.of("A", "0", "B", "1", "C", "2", "D", "3"));
|
|
|
+ fakerQuestion.setTags(Collections.singleton("加法"));
|
|
|
+ fakerQuestion.setKnowledgeId(Collections.singleton("plus"));
|
|
|
+ fakerQuestion.setAnswer("C");
|
|
|
+ fakerQuestion.setAnalysis("1+1=2");
|
|
|
+ fakerQuestion.setLastModified(LocalDateTime.now());
|
|
|
+ List<Question> questions = Collections.singletonList(fakerQuestion);
|
|
|
+ questionDAO.saveAll(questions);
|
|
|
+ }
|
|
|
+}
|