|
@@ -3,6 +3,7 @@ package com.qmth.cqb.sync;
|
|
|
import com.qmth.commons.dataSync.core.annotations.DataReceive;
|
|
|
import com.qmth.commons.dataSync.core.entity.BaseSyncData;
|
|
|
import com.qmth.commons.dataSync.core.service.DataSyncService;
|
|
|
+import com.qmth.cqb.base.dao.CourseRepo;
|
|
|
import com.qmth.cqb.base.model.Course;
|
|
|
import com.qmth.cqb.paper.dao.PaperRepo;
|
|
|
import com.qmth.cqb.paper.model.Paper;
|
|
@@ -34,6 +35,9 @@ public class DataReceiveService {
|
|
|
@Autowired
|
|
|
PaperRepo paperRepo;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ CourseRepo courseRepo;
|
|
|
+
|
|
|
@DataReceive(domain = "cn.com.qmth.examcloud.common.dto.core.CourseSync")
|
|
|
public synchronized void readCourse(BaseSyncData baseSyncData) {
|
|
|
if (dataSyncService.expired(baseSyncData)) {
|
|
@@ -54,28 +58,75 @@ public class DataReceiveService {
|
|
|
log.error("entity value is null");
|
|
|
return;
|
|
|
}
|
|
|
- List<Question> questions = quesRepo.findByCourseNoAndOrgId(courseCode, orgId);
|
|
|
- List<Paper> papers = paperRepo.findByCourseNoAndOrgId(courseCode, orgId);
|
|
|
- if (questions != null && questions.size() > 0) {
|
|
|
- for (Question question : questions) {
|
|
|
- Course course = question.getCourse();
|
|
|
- course.setName(courseName);
|
|
|
- course.setLevel(courseLevel);
|
|
|
- course.setEnable(enable);
|
|
|
- course.setUpdateTime(CommonUtils.getCurDateTime());
|
|
|
- }
|
|
|
+
|
|
|
+ Course localCourse = courseRepo.findFirstByCodeAndOrgId(courseCode,orgId);
|
|
|
+ if(localCourse != null){
|
|
|
+ localCourse.setName(courseName);
|
|
|
+ localCourse.setLevel(courseLevel);
|
|
|
+ localCourse.setEnable(enable);
|
|
|
+ localCourse.setUpdateTime(CommonUtils.getCurDateTime());
|
|
|
+ courseRepo.save(localCourse);
|
|
|
+ }else{
|
|
|
+ Course tempCourse = new Course();
|
|
|
+ tempCourse.setCode(courseCode);
|
|
|
+ tempCourse.setName(courseName);
|
|
|
+ tempCourse.setLevel(courseLevel);
|
|
|
+ tempCourse.setEnable(enable);
|
|
|
+ tempCourse.setOrgId(orgId);
|
|
|
+ tempCourse.setCreateTime(CommonUtils.getCurDateTime());
|
|
|
+ courseRepo.save(tempCourse);
|
|
|
}
|
|
|
+
|
|
|
+ List<Paper> papers = paperRepo.findByCourseNoAndOrgId(courseCode, orgId);
|
|
|
if (papers != null && papers.size() > 0) {
|
|
|
for (Paper paper : papers) {
|
|
|
Course course = paper.getCourse();
|
|
|
- course.setName(courseName);
|
|
|
- course.setLevel(courseLevel);
|
|
|
- course.setEnable(enable);
|
|
|
- course.setUpdateTime(CommonUtils.getCurDateTime());
|
|
|
+ if(course != null){
|
|
|
+ course.setName(courseName);
|
|
|
+ course.setLevel(courseLevel);
|
|
|
+ course.setEnable(enable);
|
|
|
+ course.setUpdateTime(CommonUtils.getCurDateTime());
|
|
|
+ paper.setCourse(course);
|
|
|
+ }else{
|
|
|
+ Course tempCourse = new Course();
|
|
|
+ tempCourse.setCode(courseCode);
|
|
|
+ tempCourse.setName(courseName);
|
|
|
+ tempCourse.setLevel(courseLevel);
|
|
|
+ tempCourse.setEnable(enable);
|
|
|
+ tempCourse.setOrgId(orgId);
|
|
|
+ tempCourse.setCreateTime(CommonUtils.getCurDateTime());
|
|
|
+ paper.setCourse(tempCourse);
|
|
|
+ }
|
|
|
}
|
|
|
+ paperRepo.save(papers);
|
|
|
}
|
|
|
- quesRepo.save(questions);
|
|
|
- paperRepo.save(papers);
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ List<Question> questions = quesRepo.findByCourseNoAndOrgId(courseCode, orgId);
|
|
|
+ if (questions != null && questions.size() > 0) {
|
|
|
+ for (Question question : questions) {
|
|
|
+ Course course = question.getCourse();
|
|
|
+ if(course != null){
|
|
|
+ course.setName(courseName);
|
|
|
+ course.setLevel(courseLevel);
|
|
|
+ course.setEnable(enable);
|
|
|
+ course.setUpdateTime(CommonUtils.getCurDateTime());
|
|
|
+ question.setCourse(course);
|
|
|
+ }else{
|
|
|
+ Course tempCourse = new Course();
|
|
|
+ tempCourse.setCode(courseCode);
|
|
|
+ tempCourse.setName(courseName);
|
|
|
+ tempCourse.setLevel(courseLevel);
|
|
|
+ tempCourse.setEnable(enable);
|
|
|
+ tempCourse.setOrgId(orgId);
|
|
|
+ tempCourse.setCreateTime(CommonUtils.getCurDateTime());
|
|
|
+ question.setCourse(tempCourse);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ quesRepo.save(questions);
|
|
|
+ }
|
|
|
+
|
|
|
log.info("-----------coursesync end---------");
|
|
|
}
|
|
|
|