|
|
@@ -1,71 +1,72 @@
|
|
|
-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;
|
|
|
-import java.util.Random;
|
|
|
-
|
|
|
-/**
|
|
|
- * @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
|
|
|
- int size = 10;
|
|
|
- List<Course> courses = new ArrayList<>(size);
|
|
|
- for (int i = 1; i <= size; i++) {
|
|
|
- Course course = new Course();
|
|
|
- course.setId(i);
|
|
|
- course.setName(FakerUtils.getFaker().job().field());
|
|
|
- course.setTeacherId(1);
|
|
|
- courses.add(course);
|
|
|
- }
|
|
|
- courseDAO.saveAll(courses);
|
|
|
-
|
|
|
- // init question
|
|
|
- size = 10;
|
|
|
- List<Question> questions = new ArrayList<>(size);
|
|
|
- for (int i = 1; i <= size; i++) {
|
|
|
- Question fakerQuestion = new Question();
|
|
|
- fakerQuestion.setId(i);
|
|
|
- int a = new Random().nextInt(10);
|
|
|
- int b = new Random().nextInt(10);
|
|
|
- int answer = a + b;
|
|
|
- fakerQuestion.setStem(String.format("%d+%d=?", a, b));
|
|
|
- fakerQuestion.setType(QuestionType.choice);
|
|
|
- int offset = new Random().nextInt(4);
|
|
|
- int index = 0;
|
|
|
- fakerQuestion.setOptions(ImmutableMap.of("A", answer - offset + index++ + "", "B", answer - offset + index++ + "", "C", answer - offset + index++ + "", "D", answer - offset + index + ""));
|
|
|
- fakerQuestion.setTags(Collections.singleton("加法"));
|
|
|
- fakerQuestion.setKnowledgeId(Collections.singleton("plus"));
|
|
|
- fakerQuestion.setAnswer((char) ('A' + offset) + "");
|
|
|
- fakerQuestion.setAnalysis(String.format("%d+%d=%d", a, b, answer));
|
|
|
- fakerQuestion.setLastModified(LocalDateTime.now());
|
|
|
- questions.add(fakerQuestion);
|
|
|
- }
|
|
|
- questionDAO.saveAll(questions);
|
|
|
- }
|
|
|
-}
|
|
|
+//package nju.seec.helper;
|
|
|
+//
|
|
|
+//import com.github.javafaker.Faker;
|
|
|
+//import com.google.common.collect.ImmutableList;
|
|
|
+//import nju.seec.helper.dao.CourseDAO;
|
|
|
+//import nju.seec.helper.dao.UserDAO;
|
|
|
+//import nju.seec.helper.entity.Course;
|
|
|
+//import nju.seec.helper.entity.User;
|
|
|
+//import nju.seec.helper.util.EncryptUtils;
|
|
|
+//import nju.seec.helper.util.enums.UserType;
|
|
|
+//import org.springframework.boot.ApplicationArguments;
|
|
|
+//import org.springframework.boot.ApplicationRunner;
|
|
|
+//import org.springframework.stereotype.Component;
|
|
|
+//
|
|
|
+//import java.util.List;
|
|
|
+//
|
|
|
+///**
|
|
|
+// * @author cst
|
|
|
+// */
|
|
|
+//@Component
|
|
|
+//public class InitDataComponent implements ApplicationRunner {
|
|
|
+// private final UserDAO userDAO;
|
|
|
+// private final CourseDAO courseDAO;
|
|
|
+//
|
|
|
+// public InitDataComponent(UserDAO userDAO, CourseDAO courseDAO) {
|
|
|
+// this.userDAO = userDAO;
|
|
|
+// this.courseDAO = courseDAO;
|
|
|
+// }
|
|
|
+//
|
|
|
+// @Override
|
|
|
+// public void run(ApplicationArguments args) {
|
|
|
+// Faker faker = new Faker();
|
|
|
+// // init user
|
|
|
+// String teacherName = faker.name().name();
|
|
|
+// List<User> users = ImmutableList.of(
|
|
|
+// new User().setName(teacherName)
|
|
|
+// .setEmail(faker.internet().emailAddress())
|
|
|
+// .setPhone(faker.phoneNumber().phoneNumber())
|
|
|
+// .setPassword(EncryptUtils.encode("teacher"))
|
|
|
+// .setType(UserType.TEACHER),
|
|
|
+// new User().setName(faker.name().name())
|
|
|
+// .setEmail(faker.internet().emailAddress())
|
|
|
+// .setPhone(faker.phoneNumber().phoneNumber())
|
|
|
+// .setPassword(EncryptUtils.encode("student"))
|
|
|
+// .setType(UserType.STUDENT)
|
|
|
+// );
|
|
|
+// userDAO.saveAll(users);
|
|
|
+//
|
|
|
+// // init course
|
|
|
+// List<Course> courses = ImmutableList.of(
|
|
|
+// new Course().setTeacherId(1)
|
|
|
+// .setTeacherName(teacherName)
|
|
|
+// .setName(faker.educator().course())
|
|
|
+// .setBio("")
|
|
|
+// .setCode(EncryptUtils.encode("123456"))
|
|
|
+// .setCover(""),
|
|
|
+// new Course().setTeacherId(1)
|
|
|
+// .setTeacherName(teacherName)
|
|
|
+// .setName(faker.educator().course())
|
|
|
+// .setBio("")
|
|
|
+// .setCode(EncryptUtils.encode("123456"))
|
|
|
+// .setCover(""),
|
|
|
+// new Course().setTeacherId(1)
|
|
|
+// .setTeacherName(teacherName)
|
|
|
+// .setName(faker.educator().course())
|
|
|
+// .setBio("")
|
|
|
+// .setCode(EncryptUtils.encode("123456"))
|
|
|
+// .setCover("")
|
|
|
+// );
|
|
|
+// courseDAO.saveAll(courses);
|
|
|
+// }
|
|
|
+//}
|