Browse Source

Merge branch 'master' of https://git.oschina.net/songyue123456/ExamCloud-service-exam-work

chenken 7 years ago
parent
commit
3b4058792b

+ 20 - 12
exam-work-api/src/main/java/cn/com/qmth/examcloud/service/examwork/api/ExamCourseApi.java

@@ -43,17 +43,18 @@ public class ExamCourseApi {
     @GetMapping
     public Page<ExamCourseDTO> findCourse(@RequestParam("exam_id") Long examId,
                                           @RequestParam(value = "course_code", required = false) String courseCode,
+                                          @RequestParam(value = "course_level", required = false) String courseLevel,
                                           @RequestParam("cur_page") Integer curPage,
                                           @RequestParam("page_size") Integer pageSize) {
 
 
         List<ExamStudent> examStudents;
-        if (StringUtils.isEmpty(courseCode)) {
-            examStudents = examStudentRepo.findDistinctCourseCode(examId);
-        } else {
+        if (!StringUtils.isEmpty(courseCode)) {
             examStudents = examStudentRepo.findDistinctCourseCode(examId, courseCode);
+        } else {
+            examStudents = examStudentRepo.findDistinctCourseCode(examId);
         }
-        Map<String, Boolean> courseMap = getCourseEnableMap(examId);
+        Map<String, Course> courseMap = getCourseMap(examId);
 
         List<ExamCourseDTO> examCourseDTOs = examStudents.stream().map(examStudent -> {
             ExamCourseDTO examCourseDTO = new ExamCourseDTO();
@@ -65,8 +66,15 @@ public class ExamCourseApi {
             examCourseDTO.setOrgId(examStudent.getRootOrgId());
             return examCourseDTO;
         }).filter(examCourseDTO -> {
-            Boolean enable = courseMap.get(examCourseDTO.getCourseCode());
-            return enable != null ? enable : false;
+            Course course = courseMap.get(examCourseDTO.getCourseCode());
+            return course.getEnable() != null ? course.getEnable() : false;
+        }).filter(examCourseDTO -> {
+            if(!StringUtils.isEmpty(courseLevel)){
+                Course course = courseMap.get(examCourseDTO.getCourseCode());
+                return courseLevel.equals(course.getLevel().name());
+            }else{
+                return true;
+            }
         }).collect(Collectors.toList());
         int total = examCourseDTOs.size();
         examCourseDTOs = examCourseDTOs.stream().skip(curPage * pageSize).limit(pageSize).collect(Collectors.toList());
@@ -79,7 +87,7 @@ public class ExamCourseApi {
 
         List<ExamStudent> examStudents = examStudentRepo.findDistinctCourseCode(examId);
 
-        Map<String, Boolean> courseMap = getCourseEnableMap(examId);
+        Map<String, Course> courseMap = getCourseMap(examId);
 
         List<ExamCourseDTO> examCourseDTOs = examStudents.stream().map(examStudent -> {
             ExamCourseDTO examCourseDTO = new ExamCourseDTO();
@@ -91,20 +99,20 @@ public class ExamCourseApi {
             examCourseDTO.setOrgId(examStudent.getRootOrgId());
             return examCourseDTO;
         }).filter(examCourseDTO -> {
-            Boolean enable = courseMap.get(examCourseDTO.getCourseCode());
-            return enable != null ? enable : false;
+            Course course = courseMap.get(examCourseDTO.getCourseCode());
+            return course.getEnable() != null ? course.getEnable() : false;
         }).collect(Collectors.toList());
         return examCourseDTOs;
 
     }
 
-    private Map<String, Boolean> getCourseEnableMap(Long examId) {
-        Map<String, Boolean> courseMap = new HashMap<>();
+    private Map<String, Course> getCourseMap(Long examId) {
+        Map<String, Course> courseMap = new HashMap<>();
         Exam exam = examRepo.findOne(examId);
         List<Course> courses = courseService.findByOrgId(exam.getRootOrgId());
         if(courses != null && courses.size() > 0){
             for(Course course:courses){
-                courseMap.put(course.getCode(),course.getEnable());
+                courseMap.put(course.getCode(),course);
             }
         }
         return courseMap;

+ 1 - 0
exam-work-api/src/main/java/cn/com/qmth/examcloud/service/examwork/service/ExamStudentService.java

@@ -301,6 +301,7 @@ public class ExamStudentService {
 		}
 		if(examStudent != null){
 			dto.setId(examStudent.getId());
+			dto.setStudentId(examStudent.getStudentId());
 		}
 	}
 

+ 1 - 0
exam-work-domain/src/main/java/cn/com/qmth/examcloud/service/examwork/assembler/ExamStudentAssembler.java

@@ -67,6 +67,7 @@ public class ExamStudentAssembler {
 			domain.setStudentCode(dto.getStudentCode());
 			domain.setInfoCollector(dto.getInfoCollector());
 			domain.setPhone(dto.getPhone());
+			domain.setStudentId(dto.getStudentId());
 		}
 		return domain;
 	}

+ 11 - 0
exam-work-domain/src/main/java/cn/com/qmth/examcloud/service/examwork/dto/ExamStudentDTO.java

@@ -92,6 +92,9 @@ public class ExamStudentDTO {
 	 */
 	@ExcelProperty(index = 12,name = "年级")
 	private String grade;
+
+
+	private Boolean isEntranceExam;
 	
 	public Long getId() {
 		return id;
@@ -309,6 +312,14 @@ public class ExamStudentDTO {
 		this.specialtyName = specialtyName;
 	}
 
+	public Boolean getEntranceExam() {
+		return isEntranceExam;
+	}
+
+	public void setEntranceExam(Boolean entranceExam) {
+		isEntranceExam = entranceExam;
+	}
+
 	public ExamStudentDTO() {
 	}
 }

+ 13 - 0
exam-work-domain/src/main/java/cn/com/qmth/examcloud/service/examwork/entity/Exam.java

@@ -60,6 +60,11 @@ public class Exam implements Serializable {
 	@Enumerated(EnumType.STRING)
 	private ExamType examType;
 
+	/**
+	 * 是否入学考试
+     */
+	private Boolean isEntranceExam;
+
 	/**
 	 * 考试时长
 	 */
@@ -483,6 +488,14 @@ public class Exam implements Serializable {
 		this.canStuDel = canStuDel;
 	}
 
+	public Boolean getEntranceExam() {
+		return isEntranceExam;
+	}
+
+	public void setEntranceExam(Boolean entranceExam) {
+		isEntranceExam = entranceExam;
+	}
+
 	public Exam() {
 	}
 }

+ 7 - 1
exam-work-main/src/main/resources/application-prod.properties

@@ -8,10 +8,16 @@ spring.redis.port=6379
 
 
 eureka.client.serviceUrl.defaultZone=http://127.0.0.1:1111/eureka/
+hystrix.command.default.execution.timeout.enabled=false
+hystrix.threadpool.default.coreSize = 500
 
 
 spring.rabbitmq.host=localhost
 spring.rabbitmq.port=5672
 spring.rabbitmq.username=examcloud
 spring.rabbitmq.password=examcloud123
-spring.rabbitmq.listener.acknowledgeMode=MANUAL
+spring.rabbitmq.listener.acknowledgeMode=MANUAL
+
+spring.redis.host=r-wz97e520d2701e54.redis.rds.aliyuncs.com
+spring.redis.port=6379
+spring.redis.password=Qmth87863577