deason 6 роки тому
батько
коміт
7746305fae
25 змінених файлів з 1192 додано та 1161 видалено
  1. 52 52
      examcloud-core-questions-api-provider/src/main/java/cn/com/qmth/examcloud/core/questions/api/AudioTimeConfigController.java
  2. 48 33
      examcloud-core-questions-api-provider/src/main/java/cn/com/qmth/examcloud/core/questions/api/CourseController.java
  3. 126 126
      examcloud-core-questions-api-provider/src/main/java/cn/com/qmth/examcloud/core/questions/api/CoursePropertyController.java
  4. 13 13
      examcloud-core-questions-api-provider/src/main/java/cn/com/qmth/examcloud/core/questions/api/ExamFileController.java
  5. 10 10
      examcloud-core-questions-api-provider/src/main/java/cn/com/qmth/examcloud/core/questions/api/ExportPaperController.java
  6. 54 54
      examcloud-core-questions-api-provider/src/main/java/cn/com/qmth/examcloud/core/questions/api/ExportStructureController.java
  7. 19 19
      examcloud-core-questions-api-provider/src/main/java/cn/com/qmth/examcloud/core/questions/api/ExtractConfigController.java
  8. 89 88
      examcloud-core-questions-api-provider/src/main/java/cn/com/qmth/examcloud/core/questions/api/GenPaperController.java
  9. 5 2
      examcloud-core-questions-api-provider/src/main/java/cn/com/qmth/examcloud/core/questions/api/ImportPaperController.java
  10. 1 1
      examcloud-core-questions-api-provider/src/main/java/cn/com/qmth/examcloud/core/questions/api/PaperController.java
  11. 13 13
      examcloud-core-questions-api-provider/src/main/java/cn/com/qmth/examcloud/core/questions/api/PaperDetailController.java
  12. 7 6
      examcloud-core-questions-api-provider/src/main/java/cn/com/qmth/examcloud/core/questions/api/PaperDetailUnitController.java
  13. 19 16
      examcloud-core-questions-api-provider/src/main/java/cn/com/qmth/examcloud/core/questions/api/PaperStructController.java
  14. 126 125
      examcloud-core-questions-api-provider/src/main/java/cn/com/qmth/examcloud/core/questions/api/PropertyController.java
  15. 24 18
      examcloud-core-questions-api-provider/src/main/java/cn/com/qmth/examcloud/core/questions/api/QuesController.java
  16. 18 18
      examcloud-core-questions-api-provider/src/main/java/cn/com/qmth/examcloud/core/questions/api/QuestionAudioController.java
  17. 16 12
      examcloud-core-questions-api-provider/src/main/java/cn/com/qmth/examcloud/core/questions/api/SettingController.java
  18. 60 60
      examcloud-core-questions-api-provider/src/main/java/cn/com/qmth/examcloud/core/questions/api/controller/DefaultPaperController.java
  19. 88 88
      examcloud-core-questions-api-provider/src/main/java/cn/com/qmth/examcloud/core/questions/api/controller/DefaultQuesionController.java
  20. 140 140
      examcloud-core-questions-api-provider/src/main/java/cn/com/qmth/examcloud/core/questions/api/provider/ExtractConfigCloudServiceProvider.java
  21. 146 146
      examcloud-core-questions-api-provider/src/main/java/cn/com/qmth/examcloud/core/questions/api/provider/HandleSyncCloudServiceProvider.java
  22. 42 43
      examcloud-core-questions-api-provider/src/main/java/cn/com/qmth/examcloud/core/questions/api/provider/PaperCloudServiceProvider.java
  23. 59 59
      examcloud-core-questions-api-provider/src/main/java/cn/com/qmth/examcloud/core/questions/api/provider/QuestionCloudServiceProvider.java
  24. 14 14
      examcloud-core-questions-api-provider/src/main/java/cn/com/qmth/examcloud/service/core/api/initQuesHash/InitQuesHashController.java
  25. 3 5
      examcloud-core-questions-api-provider/src/test/java/org/examcloud/core/questions/api/provider/AppTest.java

+ 52 - 52
examcloud-core-questions-api-provider/src/main/java/cn/com/qmth/examcloud/core/questions/api/AudioTimeConfigController.java

@@ -23,69 +23,69 @@ import cn.com.qmth.examcloud.core.questions.dao.entity.AudioTimeConfig;
 import cn.com.qmth.examcloud.core.questions.service.AudioTimeConfigService;
 
 /**
- * @author  	chenken
- * @date    	2017年8月10日 下午3:31:42
- * @company 	QMTH
+ * @author chenken
+ * @date 2017年8月10日 下午3:31:42
+ * @company QMTH
  * @description AudioTimeConfigController.java
  */
 @Controller
 @RequestMapping("${api_cqb}/")
 public class AudioTimeConfigController extends ControllerSupport {
 
-	@Autowired
-	private AudioTimeConfigService audioTimeConfigService;
+    @Autowired
+    private AudioTimeConfigService audioTimeConfigService;
 
-	@ApiOperation(value = "根据examId查询音频设置 ", notes = "根据examId查询音频设置")
-	@PostMapping(value = "/audioTimeConfig/{examId}/{courseCode}")
-	public ResponseEntity<Object> findAudioTimeConfig(@PathVariable String examId,@PathVariable String courseCode){
-		List<AudioTimeConfig> audioTimeConfigs = audioTimeConfigService.findAudioTimeConfigByExamId(examId,courseCode);
-		return new ResponseEntity<Object>(audioTimeConfigs,HttpStatus.OK);
-	}
+    @ApiOperation(value = "根据examId查询音频设置 ", notes = "根据examId查询音频设置")
+    @PostMapping(value = "/audioTimeConfig/{examId}/{courseCode}")
+    public ResponseEntity<Object> findAudioTimeConfig(@PathVariable String examId, @PathVariable String courseCode) {
+        List<AudioTimeConfig> audioTimeConfigs = audioTimeConfigService.findAudioTimeConfigByExamId(examId, courseCode);
+        return new ResponseEntity<Object>(audioTimeConfigs, HttpStatus.OK);
+    }
 
-	@ApiOperation(value="根据传入的对象查询音频题",notes="根据传入的对象查询音频题")
-	@PostMapping("/audioTimeConfig/all")
-	public ResponseEntity<Object> findAudioTimeConfigList(@RequestBody List<AudioTimeConfig> audioTimeConfigModelList){
-		List<AudioTimeConfig> list = audioTimeConfigService.findAudioTimeConfigList(audioTimeConfigModelList);
-		return new ResponseEntity<Object>(list,HttpStatus.OK);
-	}
+    @ApiOperation(value = "根据传入的对象查询音频题", notes = "根据传入的对象查询音频题")
+    @PostMapping("/audioTimeConfig/all")
+    public ResponseEntity<Object> findAudioTimeConfigList(@RequestBody List<AudioTimeConfig> audioTimeConfigModelList) {
+        List<AudioTimeConfig> list = audioTimeConfigService.findAudioTimeConfigList(audioTimeConfigModelList);
+        return new ResponseEntity<Object>(list, HttpStatus.OK);
+    }
 
-	@ApiOperation(value="根据传入的对象查询已经保存的音频题",notes="根据传入的对象查询已经保存的音频题")
-	@PostMapping("/audioTimeConfig/update")
-	public ResponseEntity<Object> findUpdateList(@RequestBody List<AudioTimeConfig> audioTimeConfigModelList){
-		List<AudioTimeConfig> list = audioTimeConfigService.findUpdateAudioTimeConfigList(audioTimeConfigModelList);
-		return new ResponseEntity<Object>(list,HttpStatus.OK);
-	}
+    @ApiOperation(value = "根据传入的对象查询已经保存的音频题", notes = "根据传入的对象查询已经保存的音频题")
+    @PostMapping("/audioTimeConfig/update")
+    public ResponseEntity<Object> findUpdateList(@RequestBody List<AudioTimeConfig> audioTimeConfigModelList) {
+        List<AudioTimeConfig> list = audioTimeConfigService.findUpdateAudioTimeConfigList(audioTimeConfigModelList);
+        return new ResponseEntity<Object>(list, HttpStatus.OK);
+    }
 
-	@ApiOperation(value="新增音频播放次数",notes="新增音频播放次数")
-	@PostMapping("/addAudioTimeConfig")
-	public ResponseEntity<Object> addAudioTimeConfig(@RequestBody List<AudioTimeConfig> audioTimeConfigList,HttpServletRequest request){
-		User user = getAccessUser();
-		if(user != null){
-			audioTimeConfigService.saveAudioTimeConfig(audioTimeConfigList, user);
-			return new ResponseEntity<Object>(HttpStatus.OK);
-		}
-		return new ResponseEntity<Object>(HttpStatus.NOT_FOUND);
-	}
+    @ApiOperation(value = "新增音频播放次数", notes = "新增音频播放次数")
+    @PostMapping("/addAudioTimeConfig")
+    public ResponseEntity<Object> addAudioTimeConfig(@RequestBody List<AudioTimeConfig> audioTimeConfigList, HttpServletRequest request) {
+        User user = getAccessUser();
+        if (user != null) {
+            audioTimeConfigService.saveAudioTimeConfig(audioTimeConfigList, user);
+            return new ResponseEntity<Object>(HttpStatus.OK);
+        }
+        return new ResponseEntity<Object>(HttpStatus.NOT_FOUND);
+    }
 
-	@ApiOperation(value="清理音频播放次数设置",notes="清理音频播放次数设置")
-	@PostMapping("/deleteAudioTimeConfig/{examId}/{courseCode}")
-	public ResponseEntity<Object> deleteAudioTimeConfig(@PathVariable String examId, @PathVariable String courseCode){
-		User user = getAccessUser();
-		if(user != null){
-			audioTimeConfigService.deleteByExamIdAndCourseCode(examId, courseCode);
-			return new ResponseEntity<Object>(HttpStatus.OK);
-		}
-		return new ResponseEntity<Object>(HttpStatus.NOT_FOUND);
-	}
+    @ApiOperation(value = "清理音频播放次数设置", notes = "清理音频播放次数设置")
+    @PostMapping("/deleteAudioTimeConfig/{examId}/{courseCode}")
+    public ResponseEntity<Object> deleteAudioTimeConfig(@PathVariable String examId, @PathVariable String courseCode) {
+        User user = getAccessUser();
+        if (user != null) {
+            audioTimeConfigService.deleteByExamIdAndCourseCode(examId, courseCode);
+            return new ResponseEntity<Object>(HttpStatus.OK);
+        }
+        return new ResponseEntity<Object>(HttpStatus.NOT_FOUND);
+    }
 
-	@ApiOperation(value="根据examID,courseCode,groupCode,paperDetailUnit的ID查询音频次数",notes="查询音频次数")
-	@GetMapping("/seachAudioTimeConfig/{examId}/{courseCode}/{groupCode}/{paperDetailUnitId}")
-	public ResponseEntity<Object> seachAudioTimeConfig(@PathVariable String examId,
-											   @PathVariable String courseCode,
-											   @PathVariable String groupCode,
-											   @PathVariable String paperDetailUnitId){
-		Map<String, String> map = audioTimeConfigService.findAudioTimeConfig(examId, courseCode, groupCode, paperDetailUnitId);
-		return new ResponseEntity<Object>(map,HttpStatus.OK);
-	}
+    @ApiOperation(value = "根据examID,courseCode,groupCode,paperDetailUnit的ID查询音频次数", notes = "查询音频次数")
+    @GetMapping("/seachAudioTimeConfig/{examId}/{courseCode}/{groupCode}/{paperDetailUnitId}")
+    public ResponseEntity<Object> seachAudioTimeConfig(@PathVariable String examId,
+                                                       @PathVariable String courseCode,
+                                                       @PathVariable String groupCode,
+                                                       @PathVariable String paperDetailUnitId) {
+        Map<String, String> map = audioTimeConfigService.findAudioTimeConfig(examId, courseCode, groupCode, paperDetailUnitId);
+        return new ResponseEntity<Object>(map, HttpStatus.OK);
+    }
 }
 

+ 48 - 33
examcloud-core-questions-api-provider/src/main/java/cn/com/qmth/examcloud/core/questions/api/CourseController.java

@@ -24,6 +24,21 @@ import io.swagger.annotations.ApiOperation;
 
 *//**
  * Created by songyue on 16/12/26.
+ * <p>
+ * 获取全部课程
+ *
+ * @return 更新课程
+ * @param course
+ * @return 新增课程
+ * @param course
+ * @return 删除课程
+ * @param coruse_id
+ * @return 根据课程名称或者课程编号获取课程信息
+ * @param keyword
+ * @return 根据课程编号获取课程信息
+ * @param courseNo
+ * @return 查询所有课程
+ * @return
  *//*
 
 @RestController
@@ -40,10 +55,10 @@ public class CourseController {
     CourseService courseService;
 
     *//**
-     * 获取全部课程
-     * 
-     * @return
-     *//*
+ * 获取全部课程
+ *
+ * @return
+ *//*
     @ApiOperation(value = "获取全部课程", notes = "获取全部课程")
     @GetMapping(value = "/course/{curPage}/{pageSize}")
     public ResponseEntity getAllCourse(@ModelAttribute Course searchCondition, @PathVariable int curPage,
@@ -52,11 +67,11 @@ public class CourseController {
     }
 
     *//**
-     * 更新课程
-     * 
-     * @param course
-     * @return
-     *//*
+ * 更新课程
+ *
+ * @param course
+ * @return
+ *//*
     @ApiOperation(value = "更新课程", notes = "更新课程")
     @PutMapping(value = "/course")
     public ResponseEntity updateCourse(@ModelAttribute Course course) {
@@ -64,11 +79,11 @@ public class CourseController {
     }
 
     *//**
-     * 新增课程
-     * 
-     * @param course
-     * @return
-     *//*
+ * 新增课程
+ *
+ * @param course
+ * @return
+ *//*
     @ApiOperation(value = "新增课程", notes = "新增课程")
     @PostMapping(value = "/course")
     public ResponseEntity addCourse(@ModelAttribute Course course) {
@@ -76,11 +91,11 @@ public class CourseController {
     }
 
     *//**
-     * 删除课程
-     * 
-     * @param coruse_id
-     * @return
-     *//*
+ * 删除课程
+ *
+ * @param coruse_id
+ * @return
+ *//*
     @ApiOperation(value = "删除课程", notes = "删除课程")
     @DeleteMapping(value = "/course/{coruse_id}")
     public ResponseEntity removeCourse(@PathVariable String coruse_id) {
@@ -89,11 +104,11 @@ public class CourseController {
     }
 
     *//**
-     * 根据课程名称或者课程编号获取课程信息
-     * 
-     * @param keyword
-     * @return
-     *//*
+ * 根据课程名称或者课程编号获取课程信息
+ *
+ * @param keyword
+ * @return
+ *//*
     @ApiOperation(value = "根据课程名称或者课程编号获取课程信息", notes = "根据课程名称或者课程编号获取课程信息")
     @GetMapping(value = "/course")
     public ResponseEntity getCourseByKeyword(@RequestParam String keyword) {
@@ -101,11 +116,11 @@ public class CourseController {
     }
 
     *//**
-     * 根据课程编号获取课程信息
-     * 
-     * @param courseNo
-     * @return
-     *//*
+ * 根据课程编号获取课程信息
+ *
+ * @param courseNo
+ * @return
+ *//*
     @ApiOperation(value = "根据课程编号获取课程信息", notes = "根据课程编号获取课程信息")
     @GetMapping(value = "/course/{courseNo}")
     public ResponseEntity getCourseByNo(@PathVariable String courseNo) {
@@ -113,10 +128,10 @@ public class CourseController {
     }
 
     *//**
-     * 查询所有课程
-     *
-     * @return
-     *//*
+ * 查询所有课程
+ *
+ * @return
+ *//*
     @ApiOperation(value = " 查询所有课程", notes = "查询所有课程")
     @GetMapping(value = "/course/allCourses")
     public ResponseEntity getAllCourses() {

+ 126 - 126
examcloud-core-questions-api-provider/src/main/java/cn/com/qmth/examcloud/core/questions/api/CoursePropertyController.java

@@ -29,134 +29,134 @@ import cn.com.qmth.examcloud.core.questions.dao.entity.dto.CoursePropertyDto;
 import cn.com.qmth.examcloud.core.questions.service.CoursePropertyService;
 
 /**
- * @describle 课程属性  coursePropertyController
  * @author weiwenhai
- * @date   2017.11.2
+ * @describle 课程属性  coursePropertyController
+ * @date 2017.11.2
  */
 @Controller
 @RequestMapping("${api_cqb}/")
-public class CoursePropertyController extends ControllerSupport{
-
-	@Autowired
-	private CoursePropertyService coursePropertyService;
-	
-	@ApiOperation(value="根据orgId查询所有课程属性", notes="不带分页")
-	@GetMapping(value="/courseProperty/all")
-	public ResponseEntity<Object> findAllByOrg(){
-		User user = getAccessUser();
-		if(user != null){
-			List<CourseProperty> courseProperties = coursePropertyService.findAllByOrgId(user.getRootOrgId());
-			return new ResponseEntity<Object>(courseProperties,HttpStatus.OK);
-		}
-		return new ResponseEntity<Object>(HttpStatus.NOT_FOUND);
-	}
-	
-	@ApiOperation(value="根据orgId查询所有课程属性", notes="带分页")
-	@GetMapping(value="/courseProperty/all/{curPage}/{pageSize}")
-	public ResponseEntity<Object> findAllByOrgId(@ModelAttribute CoursePropertyDto coursePropertyDto,
-												 @PathVariable Integer curPage,
-												 @PathVariable Integer pageSize){
-		 User user = getAccessUser();
-		 if(user == null){
-			 return new ResponseEntity<Object>(HttpStatus.NOT_FOUND);
-		 }
-		 coursePropertyDto.setOrgId(user.getRootOrgId());
-		 Page<CourseProperty> coursePropertiesPage = coursePropertyService.findAllByOrg(coursePropertyDto, new PageRequest(curPage - 1,pageSize,new Sort(Direction.DESC, "id")));
-		 return new ResponseEntity<Object>(coursePropertiesPage,HttpStatus.OK);
-	}
-	
-	@ApiOperation(value="新增课程属性" ,notes="新增课程属性")
-	@PostMapping(value="/courseProperty/save")
-	public ResponseEntity<Object> saveCourseProperty(@RequestBody CoursePropertyDto coursePropertyDto){
-		User user = getAccessUser();
-		if(user != null){
-			try {
-				coursePropertyDto.setOrgId(user.getRootOrgId());
-				coursePropertyService.saveCourseProperty(coursePropertyDto);
-			} catch (Exception e) {
-				return new ResponseEntity<Object>(HttpStatus.INTERNAL_SERVER_ERROR);
-			}
-			return new ResponseEntity<Object>(HttpStatus.OK);
-		}
-		return new ResponseEntity<Object>(HttpStatus.NOT_FOUND);
-	}
-	
-	@ApiOperation(value="启用", notes="启用")
-	@PutMapping(value="/courseProperty/open/{id}")
-	public ResponseEntity<Object> openCourseProperty(@PathVariable Long id){
-		User user = getAccessUser();
-		if(user != null){
-			coursePropertyService.openCourseProperty(id);
-			return new ResponseEntity<Object>(HttpStatus.OK);
-		}
-		return new ResponseEntity<Object>(HttpStatus.NOT_FOUND);
-	}
-	
-	@ApiOperation(value="批量启用", notes="启用")
-	@PutMapping(value="/courseProperty/opens/{ids}")
-	public ResponseEntity<Object> opensCourseProperty(@PathVariable String ids){
-		User user = getAccessUser();
-		if(user != null){
-			List<String> idList = Stream.of(ids.split(",")).collect(Collectors.toList());
-			coursePropertyService.opensCourseProperty(idList);
-			return new ResponseEntity<Object>(HttpStatus.OK);
-		}
-		return new ResponseEntity<Object>(HttpStatus.NOT_FOUND);
-	}
-	
-	@ApiOperation(value="禁用", notes="禁用")
-	@PutMapping(value="/courseProperty/close/{id}")
-	public ResponseEntity<Object> closeCourseProperty(@PathVariable Long id){
-		User user = getAccessUser();
-		if(user != null){
-			coursePropertyService.closeCourseProperty(id);
-			return new ResponseEntity<Object>(HttpStatus.OK);
-		}
-		return new ResponseEntity<Object>(HttpStatus.NOT_FOUND);
-	}
-	
-	@ApiOperation(value="批量禁用", notes="禁用")
-	@PutMapping(value="/courseProperty/closes/{ids}")
-	public ResponseEntity<Object> closesCourseProperty(@PathVariable String ids){
-		User user = getAccessUser();
-		if(user != null){
-			List<String> idList = Stream.of(ids.split(",")).collect(Collectors.toList());
-			coursePropertyService.closesCourseProperty(idList);
-			return new ResponseEntity<Object>(HttpStatus.OK);
-		}
-		return new ResponseEntity<Object>(HttpStatus.NOT_FOUND);
-	}
-	
-	@ApiOperation(value="根据courseId查询所有课程属性", notes="不带分页")
-	@GetMapping(value="/courseProperty/all/{courseId}")
-	public ResponseEntity<Object> findAllByCourseId(@PathVariable Long courseId){
-		User user = getAccessUser();
-		if(user != null){
-			List<CourseProperty> courseProperties = coursePropertyService.findAllByCourseId(courseId);
-			return new ResponseEntity<Object>(courseProperties,HttpStatus.OK);
-		}
-		return new ResponseEntity<Object>(HttpStatus.NOT_FOUND);
-	}
-	
-	@ApiOperation(value="根据courseCode查询所有课程属性", notes="不带分页")
-	@GetMapping(value="/courseProperty/code/{courseCode}")
-	public ResponseEntity<Object> findAllByCourseCode(@PathVariable String courseCode){
-		User user = getAccessUser();
-		if(user != null){
-			List<CourseProperty> courseProperties = coursePropertyService.findAllByCourseCode(courseCode);
-			return new ResponseEntity<Object>(courseProperties,HttpStatus.OK);
-		}
-		return new ResponseEntity<Object>(HttpStatus.NOT_FOUND);
-	}
-	
-	@ApiOperation(value="根据courseCode查询所有开启的课程属性", notes="不带分页")
-	@GetMapping(value="/courseProperty/enable/{courseCode}")
-	public ResponseEntity<Object> findAllEnable(@PathVariable String courseCode){
-		User user = getAccessUser();
-		if(user != null){
-			List<CourseProperty> courseProperties = coursePropertyService.findAllEnable(courseCode,true);
-			return new ResponseEntity<Object>(courseProperties,HttpStatus.OK);
-		}
-		return new ResponseEntity<Object>(HttpStatus.NOT_FOUND);
-	}
+public class CoursePropertyController extends ControllerSupport {
+
+    @Autowired
+    private CoursePropertyService coursePropertyService;
+
+    @ApiOperation(value = "根据orgId查询所有课程属性", notes = "不带分页")
+    @GetMapping(value = "/courseProperty/all")
+    public ResponseEntity<Object> findAllByOrg() {
+        User user = getAccessUser();
+        if (user != null) {
+            List<CourseProperty> courseProperties = coursePropertyService.findAllByOrgId(user.getRootOrgId());
+            return new ResponseEntity<Object>(courseProperties, HttpStatus.OK);
+        }
+        return new ResponseEntity<Object>(HttpStatus.NOT_FOUND);
+    }
+
+    @ApiOperation(value = "根据orgId查询所有课程属性", notes = "带分页")
+    @GetMapping(value = "/courseProperty/all/{curPage}/{pageSize}")
+    public ResponseEntity<Object> findAllByOrgId(@ModelAttribute CoursePropertyDto coursePropertyDto,
+                                                 @PathVariable Integer curPage,
+                                                 @PathVariable Integer pageSize) {
+        User user = getAccessUser();
+        if (user == null) {
+            return new ResponseEntity<Object>(HttpStatus.NOT_FOUND);
+        }
+        coursePropertyDto.setOrgId(user.getRootOrgId());
+        Page<CourseProperty> coursePropertiesPage = coursePropertyService.findAllByOrg(coursePropertyDto, new PageRequest(curPage - 1, pageSize, new Sort(Direction.DESC, "id")));
+        return new ResponseEntity<Object>(coursePropertiesPage, HttpStatus.OK);
+    }
+
+    @ApiOperation(value = "新增课程属性", notes = "新增课程属性")
+    @PostMapping(value = "/courseProperty/save")
+    public ResponseEntity<Object> saveCourseProperty(@RequestBody CoursePropertyDto coursePropertyDto) {
+        User user = getAccessUser();
+        if (user != null) {
+            try {
+                coursePropertyDto.setOrgId(user.getRootOrgId());
+                coursePropertyService.saveCourseProperty(coursePropertyDto);
+            } catch (Exception e) {
+                return new ResponseEntity<Object>(HttpStatus.INTERNAL_SERVER_ERROR);
+            }
+            return new ResponseEntity<Object>(HttpStatus.OK);
+        }
+        return new ResponseEntity<Object>(HttpStatus.NOT_FOUND);
+    }
+
+    @ApiOperation(value = "启用", notes = "启用")
+    @PutMapping(value = "/courseProperty/open/{id}")
+    public ResponseEntity<Object> openCourseProperty(@PathVariable Long id) {
+        User user = getAccessUser();
+        if (user != null) {
+            coursePropertyService.openCourseProperty(id);
+            return new ResponseEntity<Object>(HttpStatus.OK);
+        }
+        return new ResponseEntity<Object>(HttpStatus.NOT_FOUND);
+    }
+
+    @ApiOperation(value = "批量启用", notes = "启用")
+    @PutMapping(value = "/courseProperty/opens/{ids}")
+    public ResponseEntity<Object> opensCourseProperty(@PathVariable String ids) {
+        User user = getAccessUser();
+        if (user != null) {
+            List<String> idList = Stream.of(ids.split(",")).collect(Collectors.toList());
+            coursePropertyService.opensCourseProperty(idList);
+            return new ResponseEntity<Object>(HttpStatus.OK);
+        }
+        return new ResponseEntity<Object>(HttpStatus.NOT_FOUND);
+    }
+
+    @ApiOperation(value = "禁用", notes = "禁用")
+    @PutMapping(value = "/courseProperty/close/{id}")
+    public ResponseEntity<Object> closeCourseProperty(@PathVariable Long id) {
+        User user = getAccessUser();
+        if (user != null) {
+            coursePropertyService.closeCourseProperty(id);
+            return new ResponseEntity<Object>(HttpStatus.OK);
+        }
+        return new ResponseEntity<Object>(HttpStatus.NOT_FOUND);
+    }
+
+    @ApiOperation(value = "批量禁用", notes = "禁用")
+    @PutMapping(value = "/courseProperty/closes/{ids}")
+    public ResponseEntity<Object> closesCourseProperty(@PathVariable String ids) {
+        User user = getAccessUser();
+        if (user != null) {
+            List<String> idList = Stream.of(ids.split(",")).collect(Collectors.toList());
+            coursePropertyService.closesCourseProperty(idList);
+            return new ResponseEntity<Object>(HttpStatus.OK);
+        }
+        return new ResponseEntity<Object>(HttpStatus.NOT_FOUND);
+    }
+
+    @ApiOperation(value = "根据courseId查询所有课程属性", notes = "不带分页")
+    @GetMapping(value = "/courseProperty/all/{courseId}")
+    public ResponseEntity<Object> findAllByCourseId(@PathVariable Long courseId) {
+        User user = getAccessUser();
+        if (user != null) {
+            List<CourseProperty> courseProperties = coursePropertyService.findAllByCourseId(courseId);
+            return new ResponseEntity<Object>(courseProperties, HttpStatus.OK);
+        }
+        return new ResponseEntity<Object>(HttpStatus.NOT_FOUND);
+    }
+
+    @ApiOperation(value = "根据courseCode查询所有课程属性", notes = "不带分页")
+    @GetMapping(value = "/courseProperty/code/{courseCode}")
+    public ResponseEntity<Object> findAllByCourseCode(@PathVariable String courseCode) {
+        User user = getAccessUser();
+        if (user != null) {
+            List<CourseProperty> courseProperties = coursePropertyService.findAllByCourseCode(courseCode);
+            return new ResponseEntity<Object>(courseProperties, HttpStatus.OK);
+        }
+        return new ResponseEntity<Object>(HttpStatus.NOT_FOUND);
+    }
+
+    @ApiOperation(value = "根据courseCode查询所有开启的课程属性", notes = "不带分页")
+    @GetMapping(value = "/courseProperty/enable/{courseCode}")
+    public ResponseEntity<Object> findAllEnable(@PathVariable String courseCode) {
+        User user = getAccessUser();
+        if (user != null) {
+            List<CourseProperty> courseProperties = coursePropertyService.findAllEnable(courseCode, true);
+            return new ResponseEntity<Object>(courseProperties, HttpStatus.OK);
+        }
+        return new ResponseEntity<Object>(HttpStatus.NOT_FOUND);
+    }
 }

+ 13 - 13
examcloud-core-questions-api-provider/src/main/java/cn/com/qmth/examcloud/core/questions/api/ExamFileController.java

@@ -16,23 +16,23 @@ import cn.com.qmth.examcloud.core.questions.dao.entity.ExamFile;
 import cn.com.qmth.examcloud.core.questions.service.ExamFileService;
 
 /**
- * @author  	chenken
- * @date    	2017年7月25日 下午2:21:57
- * @company 	QMTH
+ * @author chenken
+ * @date 2017年7月25日 下午2:21:57
+ * @company QMTH
  * @description ExamFileController.java
  */
 @Controller
 @RequestMapping("${api_cqb}/")
 public class ExamFileController {
-	
-	@Autowired
-	private ExamFileService examFileService;
-	
-	@ApiOperation(value = "查询试卷文件", notes = "查询试卷文件")
-	@PostMapping(value = "/findExamFile")
-	public ResponseEntity<Object> findExamFile(@RequestBody ExamFile examFile){
-		List<ExamFile> examFiles = examFileService.findExamFileListByExamFile(examFile);
-		return new ResponseEntity<Object>(examFiles,HttpStatus.OK);
-	}
+
+    @Autowired
+    private ExamFileService examFileService;
+
+    @ApiOperation(value = "查询试卷文件", notes = "查询试卷文件")
+    @PostMapping(value = "/findExamFile")
+    public ResponseEntity<Object> findExamFile(@RequestBody ExamFile examFile) {
+        List<ExamFile> examFiles = examFileService.findExamFileListByExamFile(examFile);
+        return new ResponseEntity<Object>(examFiles, HttpStatus.OK);
+    }
 }
 

+ 10 - 10
examcloud-core-questions-api-provider/src/main/java/cn/com/qmth/examcloud/core/questions/api/ExportPaperController.java

@@ -105,7 +105,7 @@ public class ExportPaperController {
             e.printStackTrace();
         }
     }
-    
+
     @ApiOperation(value = "导出试题分布数量(按试卷)", notes = "导出试题分布数量(按试卷)")
     @GetMapping(value = "/paper/export/course/question/papers/{paperIds}")
     public void downQuestionDistributeByPapers(HttpServletResponse response, @PathVariable String paperIds) {
@@ -116,15 +116,15 @@ public class ExportPaperController {
             e.printStackTrace();
         }
     }
-    
-    @ApiOperation(value="导出原始导入的试卷", notes="导出原始导入的试卷")
+
+    @ApiOperation(value = "导出原始导入的试卷", notes = "导出原始导入的试卷")
     @GetMapping(value = "/originalPaper/export/{paperId}/{loginName}")
-    public void downOriginalPaper(HttpServletResponse response, @PathVariable String paperId, @PathVariable String loginName){
-    	try {
-			exportPaperService.downOriginalPaper(paperId, loginName, response);
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-    	log.info("开始导出原始导入的试卷");
+    public void downOriginalPaper(HttpServletResponse response, @PathVariable String paperId, @PathVariable String loginName) {
+        try {
+            exportPaperService.downOriginalPaper(paperId, loginName, response);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        log.info("开始导出原始导入的试卷");
     }
 }

+ 54 - 54
examcloud-core-questions-api-provider/src/main/java/cn/com/qmth/examcloud/core/questions/api/ExportStructureController.java

@@ -22,65 +22,65 @@ import cn.com.qmth.examcloud.core.questions.dao.entity.ExportStructure;
 import cn.com.qmth.examcloud.core.questions.service.ExportStructureService;
 
 /**
- * @author  	chenken
- * @date    	2017年7月12日 下午4:28:55
- * @company 	QMTH
+ * @author chenken
+ * @date 2017年7月12日 下午4:28:55
+ * @company QMTH
  * @description ExportStructureController.java
  */
 @Controller
 @RequestMapping("${api_cqb}/")
-public class ExportStructureController extends ControllerSupport{
-	
-	@Autowired
-	private ExportStructureService exportStructureService;
-	
-	@ApiOperation(value = "保存导出结构", notes = "保存导出结构")
+public class ExportStructureController extends ControllerSupport {
+
+    @Autowired
+    private ExportStructureService exportStructureService;
+
+    @ApiOperation(value = "保存导出结构", notes = "保存导出结构")
     @PostMapping(value = "/saveExportStructure")
-	public ResponseEntity<Object> saveExportStructure(@RequestBody ExportStructure exportStructure){
-		try{
-			User user = getAccessUser();
-			exportStructureService.saveExportStructure(exportStructure,user);
-			return new ResponseEntity<Object>(HttpStatus.OK);
-		}catch(Exception e){
-			return new ResponseEntity<Object>(HttpStatus.INTERNAL_SERVER_ERROR);
-		}
-	}
-	
-	@ApiOperation(value = "分页查询导出结构", notes = "分页查询导出结构")
+    public ResponseEntity<Object> saveExportStructure(@RequestBody ExportStructure exportStructure) {
+        try {
+            User user = getAccessUser();
+            exportStructureService.saveExportStructure(exportStructure, user);
+            return new ResponseEntity<Object>(HttpStatus.OK);
+        } catch (Exception e) {
+            return new ResponseEntity<Object>(HttpStatus.INTERNAL_SERVER_ERROR);
+        }
+    }
+
+    @ApiOperation(value = "分页查询导出结构", notes = "分页查询导出结构")
     @PostMapping(value = "/findPageByExportStructure/{curPage}/{pageSize}")
-	public ResponseEntity<Object> findPageByExportStructure(@PathVariable int curPage, @PathVariable int pageSize,
-															@RequestBody ExportStructure exportStructure){
-		try{
-			User user = getAccessUser();
-			exportStructure.setOrgId(user.getRootOrgId()+"");
-			Page<ExportStructure> pageExportStructure = exportStructureService.findPageByExportStructure(exportStructure, curPage, pageSize);
-			return new ResponseEntity<Object>(pageExportStructure,HttpStatus.OK);
-		}catch(Exception e){
-			return new ResponseEntity<Object>(HttpStatus.INTERNAL_SERVER_ERROR);
-		}
-	}
-	
-	@ApiOperation(value="根据考试ID查询导出结构",notes="根据考试ID查询导出结构")
-	@GetMapping(value="/findExportStructure/{examId}")
-	public ResponseEntity<Object> findExportStructure(@PathVariable String examId){
-		User user = getAccessUser();
-		ExportStructure exportStructure = exportStructureService.findByExportStructure(user.getRootOrgId()+"",examId);
-		return new ResponseEntity<Object>(exportStructure,HttpStatus.OK);
-	}
-	
-	@ApiOperation(value="根据考试类型查询考试id",notes="根据考试类型查询考试id")
-	@GetMapping(value="/findExportStructureByExamType/{examType}")
-	public ResponseEntity<Object> findExportStructureByExamType(@PathVariable String examType){
-		User user = getAccessUser();
-		List<String> list = exportStructureService.findExportStructureByExamType(examType,user);
-		return new ResponseEntity<Object>(list,HttpStatus.OK);
-	}
-	
-	@ApiOperation(value="根据导出结构id删除",notes="根据导出结构删除")
-	@DeleteMapping(value="/deleteExportStructure/{id}")
-	public ResponseEntity<Object> deleteExportStructure(@PathVariable String id){
-		exportStructureService.deleteExportStructure(id);
-		return new ResponseEntity<Object>(HttpStatus.OK);
-	}
+    public ResponseEntity<Object> findPageByExportStructure(@PathVariable int curPage, @PathVariable int pageSize,
+                                                            @RequestBody ExportStructure exportStructure) {
+        try {
+            User user = getAccessUser();
+            exportStructure.setOrgId(user.getRootOrgId() + "");
+            Page<ExportStructure> pageExportStructure = exportStructureService.findPageByExportStructure(exportStructure, curPage, pageSize);
+            return new ResponseEntity<Object>(pageExportStructure, HttpStatus.OK);
+        } catch (Exception e) {
+            return new ResponseEntity<Object>(HttpStatus.INTERNAL_SERVER_ERROR);
+        }
+    }
+
+    @ApiOperation(value = "根据考试ID查询导出结构", notes = "根据考试ID查询导出结构")
+    @GetMapping(value = "/findExportStructure/{examId}")
+    public ResponseEntity<Object> findExportStructure(@PathVariable String examId) {
+        User user = getAccessUser();
+        ExportStructure exportStructure = exportStructureService.findByExportStructure(user.getRootOrgId() + "", examId);
+        return new ResponseEntity<Object>(exportStructure, HttpStatus.OK);
+    }
+
+    @ApiOperation(value = "根据考试类型查询考试id", notes = "根据考试类型查询考试id")
+    @GetMapping(value = "/findExportStructureByExamType/{examType}")
+    public ResponseEntity<Object> findExportStructureByExamType(@PathVariable String examType) {
+        User user = getAccessUser();
+        List<String> list = exportStructureService.findExportStructureByExamType(examType, user);
+        return new ResponseEntity<Object>(list, HttpStatus.OK);
+    }
+
+    @ApiOperation(value = "根据导出结构id删除", notes = "根据导出结构删除")
+    @DeleteMapping(value = "/deleteExportStructure/{id}")
+    public ResponseEntity<Object> deleteExportStructure(@PathVariable String id) {
+        exportStructureService.deleteExportStructure(id);
+        return new ResponseEntity<Object>(HttpStatus.OK);
+    }
 }
 

+ 19 - 19
examcloud-core-questions-api-provider/src/main/java/cn/com/qmth/examcloud/core/questions/api/ExtractConfigController.java

@@ -54,19 +54,19 @@ public class ExtractConfigController extends ControllerSupport {
     @ApiOperation(value = "根据考试ID和课程ID获取调卷规则", notes = "根据考试ID和课程ID获取调卷规则")
     @GetMapping(value = "/findPageExtractConfig/{currentPage}/{pageSize}")
     public ResponseEntity<Object> findPageExtractConfig(@PathVariable int currentPage,
-                                                @PathVariable int pageSize,
-                                                @RequestParam("examId") Long examId,
-                                                @RequestParam("courseNo") String courseNo) {
+                                                        @PathVariable int pageSize,
+                                                        @RequestParam("examId") Long examId,
+                                                        @RequestParam("courseNo") String courseNo) {
         try {
-        	User user = getAccessUser();
-            Page<ExtractConfig> extractConfigPageList = extractConfigService.findPageExtractConfig(currentPage, pageSize, examId, courseNo,String.valueOf(user.getRootOrgId()));
+            User user = getAccessUser();
+            Page<ExtractConfig> extractConfigPageList = extractConfigService.findPageExtractConfig(currentPage, pageSize, examId, courseNo, String.valueOf(user.getRootOrgId()));
             return new ResponseEntity<Object>(extractConfigPageList, HttpStatus.OK);
         } catch (Exception e) {
             e.printStackTrace();
-            throw new StatusException("Q-050065",e.getMessage());
+            throw new StatusException("Q-050065", e.getMessage());
         }
     }
-    
+
     @ApiOperation(value = "保存调卷规则", notes = "保存调卷规则")
     @PutMapping(value = "/extractConfig/{isbuildFile}")
     public ResponseEntity<Object> saveExtractConfig(HttpServletRequest request, @PathVariable Integer isbuildFile, @RequestBody ExtractConfig extractConfig) {
@@ -78,27 +78,27 @@ public class ExtractConfigController extends ControllerSupport {
             return new ResponseEntity<Object>(HttpStatus.OK);
         } catch (Exception e) {
             //e.printStackTrace();
-            logger.error(e.getMessage(),e);
-            throw new StatusException("Q-050099",e.getMessage());
+            logger.error(e.getMessage(), e);
+            throw new StatusException("Q-050099", e.getMessage());
         }
     }
-    
+
     @ApiOperation(value = "根据ID获取调卷规则", notes = "根据ID获取调卷规则")
     @GetMapping(value = "/extractConfig/{id}")
     public ResponseEntity<ExtractConfig> findExtractConfigById(@PathVariable String id) {
         ExtractConfig extractConfig = extractConfigService.findConfigById(id);
         return new ResponseEntity<ExtractConfig>(extractConfig, HttpStatus.OK);
     }
-    
+
     @ApiOperation(value = "根据考试Id获取已经制定的调卷规则", notes = "根据考试Id获取已经制定的调卷规则")
     @GetMapping(value = "/findCourseByExtractConfig/{examId}")
-    public ResponseEntity<Object> findCourseByExtractConfig(@PathVariable Long examId){
-    	User user = getAccessUser();
-    	if(user == null){
-    		throw new StatusException("Q-", "user is null");
-    	}
-    	List<CouresInfo> courseCodeList = extractConfigService.findCourseByExtractConfig(examId,user.getRootOrgId().toString());
-    	return new ResponseEntity<Object>(courseCodeList,HttpStatus.OK);
+    public ResponseEntity<Object> findCourseByExtractConfig(@PathVariable Long examId) {
+        User user = getAccessUser();
+        if (user == null) {
+            throw new StatusException("Q-", "user is null");
+        }
+        List<CouresInfo> courseCodeList = extractConfigService.findCourseByExtractConfig(examId, user.getRootOrgId().toString());
+        return new ResponseEntity<Object>(courseCodeList, HttpStatus.OK);
     }
 
     @ApiOperation(value = "根据考试ID和课程ID获取调卷规则", notes = "根据考试ID和课程ID获取调卷规则")
@@ -207,7 +207,7 @@ public class ExtractConfigController extends ControllerSupport {
             return new ResponseEntity<Object>(HttpStatus.OK);
         } catch (Exception e) {
             e.printStackTrace();
-            throw new StatusException("Q-050200",e.getMessage());
+            throw new StatusException("Q-050200", e.getMessage());
         }
     }
 

+ 89 - 88
examcloud-core-questions-api-provider/src/main/java/cn/com/qmth/examcloud/core/questions/api/GenPaperController.java

@@ -23,6 +23,7 @@ import io.swagger.annotations.ApiOperation;
 /**
  * Created by weiwenhai on 16/12/28.
  * update by wwh on 2018/5/21
+ *
  * @describle 重写简易组卷逻辑
  */
 @RestController
@@ -38,90 +39,90 @@ public class GenPaperController extends ControllerSupport {
     @ApiOperation(value = "简易随机组卷", notes = "简易随机组卷")
     @PostMapping("/genPaper/simple")
     public ResponseEntity<Object> genPaperSimple(@RequestBody GenPaperDto genPaperDto) {
-    	User user = getAccessUser();
+        User user = getAccessUser();
         genPaperDto.setOrgId(user.getRootOrgId().toString());
         genPaperDto.setCreator(user.getDisplayName());
         Map<String, Object> paperMap = new HashMap<String, Object>();
         String paperName = genPaperDto.getPaperName();
         try {
-        	//判断试卷名称是否一样
-        	boolean result = false;
-        	if(genPaperDto.getGenNumber() > 1){
-        		for(int i = 1; i <= genPaperDto.getGenNumber(); i++){
-					genPaperDto.setPaperName(paperName + "_" + i);
-					result = paperService.checkPaperName(genPaperDto.getPaperName(), PaperType.GENERATE,user.getRootOrgId()+"");
-					if(!result){
-						paperMap.put("msg", "考试试卷:"+genPaperDto.getPaperName()+"已经存在");
-			            return new ResponseEntity<Object>(paperMap, HttpStatus.INTERNAL_SERVER_ERROR);
-					}
-				}
-        	}
-        	result = paperService.checkPaperName(genPaperDto.getPaperName(), PaperType.GENERATE,user.getRootOrgId()+"");
-			if(!result){
-				paperMap.put("msg", "考试试卷:"+genPaperDto.getPaperName()+"已经存在");
-	            return new ResponseEntity<Object>(paperMap, HttpStatus.INTERNAL_SERVER_ERROR);
-			}
-			//如果是组一套试卷
-			if (genPaperDto.getGenNumber() == 1) {
-				//判断抽题类型  按数量  按分数  
-	            if (genPaperDto.getSimpleGenPaperPolicy() == RandomGenPaperPolicy.BY_QUESTIONNUM) {
-	            	//按题目数量组卷
-	                paperMap = genPaperService.genPaperByQuestionNum(genPaperDto,user);
-	            }else {
-	            	// 按分数 组卷
-	                paperMap = genPaperService.genPaperByScore(genPaperDto,user);
-	            }
-	        }else {
-	        	//如果是组多套试卷
-				for(int i = 1; i <= genPaperDto.getGenNumber(); i++){
-					genPaperDto.setPaperName(paperName + "_" + i);
-					//判断抽题类型  按数量  按分数
-					if (genPaperDto.getSimpleGenPaperPolicy() == RandomGenPaperPolicy.BY_QUESTIONNUM) {
-		                paperMap.putAll(genPaperService.genPaperByQuestionNum(genPaperDto,user));
-		            }else {
-		            	paperMap.putAll(genPaperService.genPaperByScore(genPaperDto,user));
-		            }
-				}
-			}
-			if (!paperMap.get("msg").equals("success")) {
-				return new ResponseEntity<Object>(paperMap, HttpStatus.INTERNAL_SERVER_ERROR);
+            //判断试卷名称是否一样
+            boolean result = false;
+            if (genPaperDto.getGenNumber() > 1) {
+                for (int i = 1; i <= genPaperDto.getGenNumber(); i++) {
+                    genPaperDto.setPaperName(paperName + "_" + i);
+                    result = paperService.checkPaperName(genPaperDto.getPaperName(), PaperType.GENERATE, user.getRootOrgId() + "");
+                    if (!result) {
+                        paperMap.put("msg", "考试试卷:" + genPaperDto.getPaperName() + "已经存在");
+                        return new ResponseEntity<Object>(paperMap, HttpStatus.INTERNAL_SERVER_ERROR);
+                    }
+                }
+            }
+            result = paperService.checkPaperName(genPaperDto.getPaperName(), PaperType.GENERATE, user.getRootOrgId() + "");
+            if (!result) {
+                paperMap.put("msg", "考试试卷:" + genPaperDto.getPaperName() + "已经存在");
+                return new ResponseEntity<Object>(paperMap, HttpStatus.INTERNAL_SERVER_ERROR);
+            }
+            //如果是组一套试卷
+            if (genPaperDto.getGenNumber() == 1) {
+                //判断抽题类型  按数量  按分数
+                if (genPaperDto.getSimpleGenPaperPolicy() == RandomGenPaperPolicy.BY_QUESTIONNUM) {
+                    //按题目数量组卷
+                    paperMap = genPaperService.genPaperByQuestionNum(genPaperDto, user);
+                } else {
+                    // 按分数 组卷
+                    paperMap = genPaperService.genPaperByScore(genPaperDto, user);
+                }
+            } else {
+                //如果是组多套试卷
+                for (int i = 1; i <= genPaperDto.getGenNumber(); i++) {
+                    genPaperDto.setPaperName(paperName + "_" + i);
+                    //判断抽题类型  按数量  按分数
+                    if (genPaperDto.getSimpleGenPaperPolicy() == RandomGenPaperPolicy.BY_QUESTIONNUM) {
+                        paperMap.putAll(genPaperService.genPaperByQuestionNum(genPaperDto, user));
+                    } else {
+                        paperMap.putAll(genPaperService.genPaperByScore(genPaperDto, user));
+                    }
+                }
+            }
+            if (!paperMap.get("msg").equals("success")) {
+                return new ResponseEntity<Object>(paperMap, HttpStatus.INTERNAL_SERVER_ERROR);
             }
-		} catch (Exception e) {
-			return new ResponseEntity<Object>(e.getMessage(),HttpStatus.INTERNAL_SERVER_ERROR);
-		}
+        } catch (Exception e) {
+            return new ResponseEntity<Object>(e.getMessage(), HttpStatus.INTERNAL_SERVER_ERROR);
+        }
         return new ResponseEntity<Object>(paperMap, HttpStatus.OK);
     }
 
     @ApiOperation(value = "精细组卷", notes = "精细组卷")
     @PostMapping("/genPaper/normal")
     public ResponseEntity<Object> genPaperNormal(@RequestBody GenPaperDto genPaperDto) {
-    	User user = getAccessUser();
+        User user = getAccessUser();
         genPaperDto.setOrgId(user.getRootOrgId().toString());
         genPaperDto.setCreator(user.getDisplayName());
         Map<String, Object> paperMap = new HashMap<String, Object>();
         String paperName = genPaperDto.getPaperName();
         //判断试卷名称是否一样
         try {
-        	//判断试卷名称是否一样
-        	boolean result = false;
-        	if(genPaperDto.getGenNumber() > 1){
-        		for(int i = 1; i <= genPaperDto.getGenNumber(); i++){
-					genPaperDto.setPaperName(paperName + "_" + i);
-					result = paperService.checkPaperName(genPaperDto.getPaperName(), PaperType.GENERATE,user.getRootOrgId()+"");
-					if(!result){
-						paperMap.put("msg", "考试试卷:"+genPaperDto.getPaperName()+"已经存在");
-			            return new ResponseEntity<Object>(paperMap, HttpStatus.INTERNAL_SERVER_ERROR);
-					}
-				}
-        	}
-        	result = paperService.checkPaperName(genPaperDto.getPaperName(), PaperType.GENERATE,user.getRootOrgId()+"");
-        	if(!result){
-				paperMap.put("msg", "考试试卷:"+genPaperDto.getPaperName()+"已经存在");
-	            return new ResponseEntity<Object>(paperMap, HttpStatus.INTERNAL_SERVER_ERROR);
-			}
-		} catch (Exception e) {
-			return new ResponseEntity<Object>(e.getMessage(),HttpStatus.INTERNAL_SERVER_ERROR);
-		}
+            //判断试卷名称是否一样
+            boolean result = false;
+            if (genPaperDto.getGenNumber() > 1) {
+                for (int i = 1; i <= genPaperDto.getGenNumber(); i++) {
+                    genPaperDto.setPaperName(paperName + "_" + i);
+                    result = paperService.checkPaperName(genPaperDto.getPaperName(), PaperType.GENERATE, user.getRootOrgId() + "");
+                    if (!result) {
+                        paperMap.put("msg", "考试试卷:" + genPaperDto.getPaperName() + "已经存在");
+                        return new ResponseEntity<Object>(paperMap, HttpStatus.INTERNAL_SERVER_ERROR);
+                    }
+                }
+            }
+            result = paperService.checkPaperName(genPaperDto.getPaperName(), PaperType.GENERATE, user.getRootOrgId() + "");
+            if (!result) {
+                paperMap.put("msg", "考试试卷:" + genPaperDto.getPaperName() + "已经存在");
+                return new ResponseEntity<Object>(paperMap, HttpStatus.INTERNAL_SERVER_ERROR);
+            }
+        } catch (Exception e) {
+            return new ResponseEntity<Object>(e.getMessage(), HttpStatus.INTERNAL_SERVER_ERROR);
+        }
         if (genPaperDto.getGenNumber() > 1) {
             for (int i = 1; i <= genPaperDto.getGenNumber(); i++) {
                 genPaperDto.setPaperName(paperName + "_" + i);
@@ -143,33 +144,33 @@ public class GenPaperController extends ControllerSupport {
     @ApiOperation(value = "蓝图组卷", notes = "蓝图组卷")
     @PostMapping("/genPaper/blue")
     public ResponseEntity<Object> genPaperBlue(@RequestBody GenPaperDto genPaperDto) {
-    	User user = getAccessUser();
+        User user = getAccessUser();
         genPaperDto.setOrgId(user.getRootOrgId().toString());
         genPaperDto.setCreator(user.getDisplayName());
         Map<String, Object> paperMap = new HashMap<String, Object>();
         String paperName = genPaperDto.getPaperName();
         //判断试卷名称是否一样
-		try {
-			//判断试卷名称是否一样
-        	boolean result = false;
-        	if(genPaperDto.getGenNumber() > 1){
-        		for(int i = 1; i <= genPaperDto.getGenNumber(); i++){
-					genPaperDto.setPaperName(paperName + "_" + i);
-					result = paperService.checkPaperName(genPaperDto.getPaperName(), PaperType.GENERATE,user.getRootOrgId()+"");
-					if(!result){
-						paperMap.put("msg", "考试试卷:"+genPaperDto.getPaperName()+"已经存在");
-			            return new ResponseEntity<Object>(paperMap, HttpStatus.INTERNAL_SERVER_ERROR);
-					}
-				}
-        	}
-        	result = paperService.checkPaperName(genPaperDto.getPaperName(), PaperType.GENERATE,user.getRootOrgId()+"");
-        	if(!result){
-				paperMap.put("msg", "考试试卷:"+genPaperDto.getPaperName()+"已经存在");
-	            return new ResponseEntity<Object>(paperMap, HttpStatus.INTERNAL_SERVER_ERROR);
-			}
-		} catch (Exception e) {
-			return new ResponseEntity<Object>(e.getMessage(),HttpStatus.INTERNAL_SERVER_ERROR);
-		}
+        try {
+            //判断试卷名称是否一样
+            boolean result = false;
+            if (genPaperDto.getGenNumber() > 1) {
+                for (int i = 1; i <= genPaperDto.getGenNumber(); i++) {
+                    genPaperDto.setPaperName(paperName + "_" + i);
+                    result = paperService.checkPaperName(genPaperDto.getPaperName(), PaperType.GENERATE, user.getRootOrgId() + "");
+                    if (!result) {
+                        paperMap.put("msg", "考试试卷:" + genPaperDto.getPaperName() + "已经存在");
+                        return new ResponseEntity<Object>(paperMap, HttpStatus.INTERNAL_SERVER_ERROR);
+                    }
+                }
+            }
+            result = paperService.checkPaperName(genPaperDto.getPaperName(), PaperType.GENERATE, user.getRootOrgId() + "");
+            if (!result) {
+                paperMap.put("msg", "考试试卷:" + genPaperDto.getPaperName() + "已经存在");
+                return new ResponseEntity<Object>(paperMap, HttpStatus.INTERNAL_SERVER_ERROR);
+            }
+        } catch (Exception e) {
+            return new ResponseEntity<Object>(e.getMessage(), HttpStatus.INTERNAL_SERVER_ERROR);
+        }
         if (genPaperDto.getGenNumber() > 1) {
             for (int i = 1; i <= genPaperDto.getGenNumber(); i++) {
                 genPaperDto.setPaperName(paperName + "_" + i);

+ 5 - 2
examcloud-core-questions-api-provider/src/main/java/cn/com/qmth/examcloud/core/questions/api/ImportPaperController.java

@@ -46,6 +46,7 @@ public class ImportPaperController extends ControllerSupport {
 
     /**
      * 导入试卷
+     *
      * @param file
      * @return
      */
@@ -62,7 +63,7 @@ public class ImportPaperController extends ControllerSupport {
         } catch (Exception e) {
             e.printStackTrace();
             log.error("导入异常:" + e.getMessage());
-            throw new StatusException("Q-090072",e.getMessage());
+            throw new StatusException("Q-090072", e.getMessage());
         } finally {
             log.info("导入结束");
         }
@@ -70,6 +71,7 @@ public class ImportPaperController extends ControllerSupport {
 
     /**
      * 新增试卷
+     *
      * @param courseNo
      * @param paperName
      * @return
@@ -88,12 +90,13 @@ public class ImportPaperController extends ControllerSupport {
 
     /**
      * 克隆试卷
+     *
      * @return
      */
     @ApiOperation(value = "克隆试卷", notes = "克隆试卷")
     @PostMapping(value = "/clonePaper/{paperId}/{paperName}/{courseNo}")
     public ResponseEntity<Object> clonePaper(@PathVariable String paperId,
-                                     @PathVariable String paperName, @PathVariable String courseNo) {
+                                             @PathVariable String paperName, @PathVariable String courseNo) {
         User user = getAccessUser();
         Map<String, Object> map = new HashMap<>();
         try {

+ 1 - 1
examcloud-core-questions-api-provider/src/main/java/cn/com/qmth/examcloud/core/questions/api/PaperController.java

@@ -543,7 +543,7 @@ public class PaperController extends ControllerSupport {
         try {
             String[] paperIdArray = paperIds.split(",");
             for (int i = 0; i < paperIdArray.length; i++) {
-                Paper oldpaper =cn.com.qmth.examcloud.core.questions.base.Model.of(paperRepo.findById(paperIdArray[i]));
+                Paper oldpaper = cn.com.qmth.examcloud.core.questions.base.Model.of(paperRepo.findById(paperIdArray[i]));
                 boolean result = paperService.checkPaperName(oldpaper.getName(), PaperType.GENERATE, user.getRootOrgId() + "");
                 if (!result) {
                     throw new StatusException("Q-160565", "考试试卷:" + oldpaper.getName() + "已经存在");

+ 13 - 13
examcloud-core-questions-api-provider/src/main/java/cn/com/qmth/examcloud/core/questions/api/PaperDetailController.java

@@ -36,13 +36,13 @@ public class PaperDetailController extends ControllerSupport {
 
     @Autowired
     PaperService paperService;
-    
+
     @Autowired
     PaperDetailRepo paperDetailRepo;
 
     /**
      * 获取大题对应的小题
-     * 
+     *
      * @param detail_id
      * @return
      */
@@ -54,7 +54,7 @@ public class PaperDetailController extends ControllerSupport {
 
     /**
      * 获取大题
-     * 
+     *
      * @param detail_id
      * @return
      */
@@ -66,25 +66,25 @@ public class PaperDetailController extends ControllerSupport {
 
     /**
      * 更新大题信息
-     * 
+     *
      * @param pd
      * @return
      */
     @ApiOperation(value = "更新试卷中的大题", notes = "更新试卷中的大题")
     @PostMapping(value = "/updatePaperDetail/{paperId}")
-    public ResponseEntity<Object> updatePaperDetail( HttpServletRequest request,
-                                             @PathVariable String paperId, 
-                                             @RequestBody PaperDetail pd) {
+    public ResponseEntity<Object> updatePaperDetail(HttpServletRequest request,
+                                                    @PathVariable String paperId,
+                                                    @RequestBody PaperDetail pd) {
         User user = getAccessUser();
-    	//AccessUser user = (AccessUser) request.getAttribute("accessUser");
-        PaperDetail paperDetail = paperDetailService.savePaperDetail(pd,paperId,user);
+        //AccessUser user = (AccessUser) request.getAttribute("accessUser");
+        PaperDetail paperDetail = paperDetailService.savePaperDetail(pd, paperId, user);
         return new ResponseEntity<Object>(paperDetail, HttpStatus.OK);
 
     }
 
     /**
      * 新增大题
-     * 
+     *
      * @param pd
      * @return
      */
@@ -97,7 +97,7 @@ public class PaperDetailController extends ControllerSupport {
 
     /**
      * 删除大题
-     * 
+     *
      * @param detailId
      * @return
      */
@@ -110,7 +110,7 @@ public class PaperDetailController extends ControllerSupport {
 
     /**
      * 根据试卷ID得到所有大题
-     * 
+     *
      * @param paperId
      * @return
      */
@@ -119,5 +119,5 @@ public class PaperDetailController extends ControllerSupport {
     public ResponseEntity<Object> getPaperDetailsByPaperId(@PathVariable String paperId) {
         return new ResponseEntity<Object>(paperService.findPaperDetailsById(paperId), HttpStatus.OK);
     }
-    
+
 }

+ 7 - 6
examcloud-core-questions-api-provider/src/main/java/cn/com/qmth/examcloud/core/questions/api/PaperDetailUnitController.java

@@ -33,7 +33,7 @@ public class PaperDetailUnitController extends ControllerSupport {
 
     /**
      * 获取单个小题对应的试题
-     * 
+     *
      * @param unit_id
      * @return
      */
@@ -45,7 +45,7 @@ public class PaperDetailUnitController extends ControllerSupport {
 
     /**
      * 获取小题
-     * 
+     *
      * @param unit_id
      * @return
      */
@@ -57,7 +57,7 @@ public class PaperDetailUnitController extends ControllerSupport {
 
     /**
      * 更新小题信息
-     * 
+     *
      * @param pdu
      * @return
      */
@@ -71,27 +71,28 @@ public class PaperDetailUnitController extends ControllerSupport {
 
     /**
      * 新增小题
-     * 
+     *
      * @param pdu
      * @return
      */
     @ApiOperation(value = "新增小题", notes = "新增小题")
     @PostMapping(value = "/paperDetailUnit")
     public ResponseEntity<Object> addPaperDetailUnit(@RequestBody PaperDetailUnitExp pdu) {
-    	User user = getAccessUser();
+        User user = getAccessUser();
         PaperDetailUnit pdUnit = unitService.savePaperDetailUnit(pdu, user);
         return new ResponseEntity<Object>(pdUnit, HttpStatus.OK);
     }
 
     /**
      * 删除小题
+     *
      * @param unit_id
      * @return
      */
     @ApiOperation(value = "删除小题", notes = "删除小题")
     @DeleteMapping(value = "/paperDetailUnit/{unitId}")
     public ResponseEntity<Object> removePaperDetailUnit(@PathVariable String unitId) {
-    	User user = getAccessUser();
+        User user = getAccessUser();
         unitService.deletePaperDetailUnit(unitId, user);
         return new ResponseEntity<Object>(HttpStatus.OK);
     }

+ 19 - 16
examcloud-core-questions-api-provider/src/main/java/cn/com/qmth/examcloud/core/questions/api/PaperStructController.java

@@ -37,32 +37,34 @@ public class PaperStructController extends ControllerSupport {
 
     /**
      * 获取所有试卷结构
+     *
      * @param
      * @return
      */
     @ApiOperation(value = "获取试卷结构带分页", notes = "获取试卷结构带分页")
     @GetMapping(value = "/paperStruct/{curPage}/{pageSize}")
     public ResponseEntity<Object> getPaperStructs(@ModelAttribute PaperStructSearchInfo searchInfo,
-                                          @PathVariable int curPage,
-                                          @PathVariable int pageSize) {
+                                                  @PathVariable int curPage,
+                                                  @PathVariable int pageSize) {
         User user = getAccessUser();
-        if(user != null){
+        if (user != null) {
             searchInfo.setOrgId(user.getRootOrgId().toString());
         }
-        Page<PaperStruct> paperStructs= paperStructService.getPaperStructs(searchInfo, curPage, pageSize);
+        Page<PaperStruct> paperStructs = paperStructService.getPaperStructs(searchInfo, curPage, pageSize);
         return new ResponseEntity<Object>(paperStructs, HttpStatus.OK);
     }
 
     /**
      * 获取所有试卷结构
+     *
      * @param
      * @return
      */
     @ApiOperation(value = "获取试卷结构不带分页", notes = "获取试卷结构不带分页")
     @GetMapping(value = "/paperStruct")
     public ResponseEntity<Object> getPaperStructs(@ModelAttribute PaperStructSearchInfo searchInfo) {
-    	User user = getAccessUser();
-        if(user != null){
+        User user = getAccessUser();
+        if (user != null) {
             searchInfo.setOrgId(user.getRootOrgId().toString());
         }
         List<PaperStruct> paperStructs = paperStructService.getPaperStructs(searchInfo);
@@ -71,7 +73,7 @@ public class PaperStructController extends ControllerSupport {
 
     /**
      * 根据id获取试卷结构
-     * 
+     *
      * @param
      * @return
      */
@@ -83,14 +85,14 @@ public class PaperStructController extends ControllerSupport {
 
     /**
      * 更新试卷结构
-     * 
+     *
      * @param
      * @return
      */
     @ApiOperation(value = "更新试卷结构", notes = "更新试卷结构")
     @PutMapping(value = "/paperStruct")
     public ResponseEntity<Object> updatePaperStruct(@RequestBody PaperStruct ps) {
-    	User user = getAccessUser();
+        User user = getAccessUser();
         PaperStruct paperStruct = paperStructService.save(ps, user);
         if (paperStruct == null) {
             return new ResponseEntity<Object>(HttpStatus.INTERNAL_SERVER_ERROR);
@@ -101,15 +103,15 @@ public class PaperStructController extends ControllerSupport {
 
     /**
      * 新增试卷结构
-     * 
+     *
      * @param ps
      * @return
      */
     @ApiOperation(value = "新增试卷结构", notes = "新增试卷结构")
     @PostMapping(value = "/paperStruct")
     public ResponseEntity<Object> addPaperStruct(@RequestBody PaperStruct ps) {
-    	User user = getAccessUser();
-        PaperStruct paperStructTemp = paperStructService.checkNameUnique(ps.getName(), user.getRootOrgId().toString(),ps.getType());
+        User user = getAccessUser();
+        PaperStruct paperStructTemp = paperStructService.checkNameUnique(ps.getName(), user.getRootOrgId().toString(), ps.getType());
         if (paperStructTemp != null) {
             return new ResponseEntity<Object>("试卷结构名称重复,请重新命名!", HttpStatus.INTERNAL_SERVER_ERROR);
         } else {
@@ -120,7 +122,7 @@ public class PaperStructController extends ControllerSupport {
 
     /**
      * 删除试卷结构
-     * 
+     *
      * @param ids
      * @return
      */
@@ -134,17 +136,18 @@ public class PaperStructController extends ControllerSupport {
 
     /**
      * 根据题型获取来源大题
+     *
      * @param
      * @return
      */
     @ApiOperation(value = "获取来源大题", notes = "获取来源大题")
     @GetMapping(value = "/paperStruct/quesNames")
     public ResponseEntity<Object> getPaperStructById(@RequestParam(required = false) String courseNo,
-                                             @RequestParam QuesStructType quesType) {
+                                                     @RequestParam QuesStructType quesType) {
         List<QuesNameDto> quesNameDtos = new ArrayList<>();
         User user = getAccessUser();
-        if(user != null){
-            quesNameDtos = paperStructService.getQuesNameList(user.getRootOrgId().toString(),courseNo,quesType);
+        if (user != null) {
+            quesNameDtos = paperStructService.getQuesNameList(user.getRootOrgId().toString(), courseNo, quesType);
         }
         return new ResponseEntity<Object>(quesNameDtos, HttpStatus.OK);
     }

+ 126 - 125
examcloud-core-questions-api-provider/src/main/java/cn/com/qmth/examcloud/core/questions/api/PropertyController.java

@@ -1,6 +1,7 @@
 package cn.com.qmth.examcloud.core.questions.api;
 
 import java.util.List;
+
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpStatus;
@@ -21,135 +22,135 @@ import cn.com.qmth.examcloud.core.questions.dao.entity.Property;
 import cn.com.qmth.examcloud.core.questions.service.PropertyService;
 
 /**
- * @describle 属性 PropertyController
  * @author weiwenhai
- * @date   2017.11.8
+ * @describle 属性 PropertyController
+ * @date 2017.11.8
  */
 @Controller
 @RequestMapping("${api_cqb}/")
 public class PropertyController extends ControllerSupport {
 
-	@Autowired
-	private PropertyService propertyService;
-	
-	@ApiOperation(value="新增属性", notes="新增属性")
-	@PostMapping(value="/property/save")
-	public ResponseEntity<Object> saveProperty(@RequestBody Property property){
-		User user = getAccessUser();
-		if(user != null){
-			try {
-				propertyService.saveProperty(property, user);
-				return new ResponseEntity<Object>(HttpStatus.OK);
-			} catch (Exception e) {
-				e.printStackTrace();
-				return new ResponseEntity<Object>(HttpStatus.INTERNAL_SERVER_ERROR);
-			}
-		}
-		return new ResponseEntity<Object>(HttpStatus.NOT_FOUND);
-	}
-	
-	@ApiOperation(value="查询所有属性dto", notes="树形结构")
-	@GetMapping(value="/property/all/{coursePropertyId}")
-	public ResponseEntity<Object> findAllProperty(@PathVariable String coursePropertyId){
-		User user = getAccessUser(); 
-		if(user == null){
-			return new ResponseEntity<Object>(HttpStatus.NOT_FOUND);
-		}
-		List<PropertyDto> propertyDtos = propertyService.propertyDtos(Long.parseLong(coursePropertyId), user);
-		return new ResponseEntity<Object>(propertyDtos,HttpStatus.OK);
-	}
-	
-	@ApiOperation(value="更新属性", notes="更新属性")
-	@PutMapping(value="/property/save")
-	public ResponseEntity<Object> updateProperty(@RequestBody Property property){
-		User user = getAccessUser(); 
-		if(user != null){
-			try {
-				propertyService.saveProperty(property, user);
-				return new ResponseEntity<Object>(HttpStatus.OK);
-			} catch (Exception e) {
-				e.printStackTrace();
-				return new ResponseEntity<Object>(HttpStatus.INTERNAL_SERVER_ERROR);
-			}
-		}
-		return new ResponseEntity<Object>(HttpStatus.NOT_FOUND);
-	}
-	
-	@ApiOperation(value="删除属性", notes="删除属性")
-	@DeleteMapping(value="/property/delete/{propertyId}/{coursePropertyId}")
-	public ResponseEntity<Object> deleteProperty(@PathVariable Long propertyId, @PathVariable Long coursePropertyId){
-		User user = getAccessUser(); 
-		if(user != null){
-			propertyService.deleteProperty(propertyId, coursePropertyId, user);
-			return new ResponseEntity<Object>(HttpStatus.OK);
-		}
-		return new ResponseEntity<Object>(HttpStatus.NOT_FOUND);
-	}
-	
-	@ApiOperation(value="查询所有属性", notes="查询所有属性")
-	@GetMapping(value="/property/{coursePropertyId}")
-	public ResponseEntity<Object> findAll(@PathVariable String coursePropertyId){
-		User user = getAccessUser(); 
-		if(user != null){
-			List<Property> properties = propertyService.findAll(Long.parseLong(coursePropertyId), user);
-			return new ResponseEntity<Object>(properties,HttpStatus.OK);
-		}
-		return new ResponseEntity<Object>(HttpStatus.NOT_FOUND);
-	}
-	
-	@ApiOperation(value="根据一级查询二级所有属性", notes="查询所有属性")
-	@GetMapping(value="/property/second/{propertyId}")
-	public ResponseEntity<Object> findSons(@PathVariable Long propertyId){
-		User user = getAccessUser(); 
-		if(user != null){
-			List<Property> properties = propertyService.findPropertySons(propertyId);
-			return new ResponseEntity<Object>(properties,HttpStatus.OK);
-		}
-		return new ResponseEntity<Object>(HttpStatus.NOT_FOUND);
-	}
-	
-	@ApiOperation(value="根据课程属性id所有一级属性", notes="查询所有属性")
-	@GetMapping(value="/property/first/{coursePropertyId}")
-	public ResponseEntity<Object> findParents(@PathVariable Long coursePropertyId){
-		User user = getAccessUser(); 
-		if(user != null){
-			List<Property> properties = propertyService.findPropertyParents(coursePropertyId, user.getRootOrgId());
-			return new ResponseEntity<Object>(properties,HttpStatus.OK);
-		}
-		return new ResponseEntity<Object>(HttpStatus.NOT_FOUND);
-	}
-	
-	@ApiOperation(value="上移",notes="上移")
-	@PutMapping(value="/property/moveUp")
-	public ResponseEntity<Object> moveUp(@RequestBody Property property){
-		User user = getAccessUser(); 
-		if(user != null){
-			try {
-				property.setOrgId(user.getRootOrgId());
-				propertyService.moveUp(property);
-				return new ResponseEntity<Object>(HttpStatus.OK);
-			} catch (Exception e) {
-				e.printStackTrace();
-				return new ResponseEntity<Object>(HttpStatus.INTERNAL_SERVER_ERROR);
-			}
-		}
-		return new ResponseEntity<Object>(HttpStatus.NOT_FOUND);
-	}
-	
-	@ApiOperation(value="下移",notes="下移")
-	@PutMapping(value="/property/moveDown")
-	public ResponseEntity<Object> moveDown(@RequestBody Property property){
-		User user = getAccessUser(); 
-		if(user != null){
-			try {
-				property.setOrgId(user.getRootOrgId());
-				propertyService.moveDown(property);
-				return new ResponseEntity<Object>(HttpStatus.OK);
-			} catch (Exception e) {
-				e.printStackTrace();
-				return new ResponseEntity<Object>(HttpStatus.INTERNAL_SERVER_ERROR);
-			}
-		}
-		return new ResponseEntity<Object>(HttpStatus.NOT_FOUND);
-	}
+    @Autowired
+    private PropertyService propertyService;
+
+    @ApiOperation(value = "新增属性", notes = "新增属性")
+    @PostMapping(value = "/property/save")
+    public ResponseEntity<Object> saveProperty(@RequestBody Property property) {
+        User user = getAccessUser();
+        if (user != null) {
+            try {
+                propertyService.saveProperty(property, user);
+                return new ResponseEntity<Object>(HttpStatus.OK);
+            } catch (Exception e) {
+                e.printStackTrace();
+                return new ResponseEntity<Object>(HttpStatus.INTERNAL_SERVER_ERROR);
+            }
+        }
+        return new ResponseEntity<Object>(HttpStatus.NOT_FOUND);
+    }
+
+    @ApiOperation(value = "查询所有属性dto", notes = "树形结构")
+    @GetMapping(value = "/property/all/{coursePropertyId}")
+    public ResponseEntity<Object> findAllProperty(@PathVariable String coursePropertyId) {
+        User user = getAccessUser();
+        if (user == null) {
+            return new ResponseEntity<Object>(HttpStatus.NOT_FOUND);
+        }
+        List<PropertyDto> propertyDtos = propertyService.propertyDtos(Long.parseLong(coursePropertyId), user);
+        return new ResponseEntity<Object>(propertyDtos, HttpStatus.OK);
+    }
+
+    @ApiOperation(value = "更新属性", notes = "更新属性")
+    @PutMapping(value = "/property/save")
+    public ResponseEntity<Object> updateProperty(@RequestBody Property property) {
+        User user = getAccessUser();
+        if (user != null) {
+            try {
+                propertyService.saveProperty(property, user);
+                return new ResponseEntity<Object>(HttpStatus.OK);
+            } catch (Exception e) {
+                e.printStackTrace();
+                return new ResponseEntity<Object>(HttpStatus.INTERNAL_SERVER_ERROR);
+            }
+        }
+        return new ResponseEntity<Object>(HttpStatus.NOT_FOUND);
+    }
+
+    @ApiOperation(value = "删除属性", notes = "删除属性")
+    @DeleteMapping(value = "/property/delete/{propertyId}/{coursePropertyId}")
+    public ResponseEntity<Object> deleteProperty(@PathVariable Long propertyId, @PathVariable Long coursePropertyId) {
+        User user = getAccessUser();
+        if (user != null) {
+            propertyService.deleteProperty(propertyId, coursePropertyId, user);
+            return new ResponseEntity<Object>(HttpStatus.OK);
+        }
+        return new ResponseEntity<Object>(HttpStatus.NOT_FOUND);
+    }
+
+    @ApiOperation(value = "查询所有属性", notes = "查询所有属性")
+    @GetMapping(value = "/property/{coursePropertyId}")
+    public ResponseEntity<Object> findAll(@PathVariable String coursePropertyId) {
+        User user = getAccessUser();
+        if (user != null) {
+            List<Property> properties = propertyService.findAll(Long.parseLong(coursePropertyId), user);
+            return new ResponseEntity<Object>(properties, HttpStatus.OK);
+        }
+        return new ResponseEntity<Object>(HttpStatus.NOT_FOUND);
+    }
+
+    @ApiOperation(value = "根据一级查询二级所有属性", notes = "查询所有属性")
+    @GetMapping(value = "/property/second/{propertyId}")
+    public ResponseEntity<Object> findSons(@PathVariable Long propertyId) {
+        User user = getAccessUser();
+        if (user != null) {
+            List<Property> properties = propertyService.findPropertySons(propertyId);
+            return new ResponseEntity<Object>(properties, HttpStatus.OK);
+        }
+        return new ResponseEntity<Object>(HttpStatus.NOT_FOUND);
+    }
+
+    @ApiOperation(value = "根据课程属性id所有一级属性", notes = "查询所有属性")
+    @GetMapping(value = "/property/first/{coursePropertyId}")
+    public ResponseEntity<Object> findParents(@PathVariable Long coursePropertyId) {
+        User user = getAccessUser();
+        if (user != null) {
+            List<Property> properties = propertyService.findPropertyParents(coursePropertyId, user.getRootOrgId());
+            return new ResponseEntity<Object>(properties, HttpStatus.OK);
+        }
+        return new ResponseEntity<Object>(HttpStatus.NOT_FOUND);
+    }
+
+    @ApiOperation(value = "上移", notes = "上移")
+    @PutMapping(value = "/property/moveUp")
+    public ResponseEntity<Object> moveUp(@RequestBody Property property) {
+        User user = getAccessUser();
+        if (user != null) {
+            try {
+                property.setOrgId(user.getRootOrgId());
+                propertyService.moveUp(property);
+                return new ResponseEntity<Object>(HttpStatus.OK);
+            } catch (Exception e) {
+                e.printStackTrace();
+                return new ResponseEntity<Object>(HttpStatus.INTERNAL_SERVER_ERROR);
+            }
+        }
+        return new ResponseEntity<Object>(HttpStatus.NOT_FOUND);
+    }
+
+    @ApiOperation(value = "下移", notes = "下移")
+    @PutMapping(value = "/property/moveDown")
+    public ResponseEntity<Object> moveDown(@RequestBody Property property) {
+        User user = getAccessUser();
+        if (user != null) {
+            try {
+                property.setOrgId(user.getRootOrgId());
+                propertyService.moveDown(property);
+                return new ResponseEntity<Object>(HttpStatus.OK);
+            } catch (Exception e) {
+                e.printStackTrace();
+                return new ResponseEntity<Object>(HttpStatus.INTERNAL_SERVER_ERROR);
+            }
+        }
+        return new ResponseEntity<Object>(HttpStatus.NOT_FOUND);
+    }
 }

+ 24 - 18
examcloud-core-questions-api-provider/src/main/java/cn/com/qmth/examcloud/core/questions/api/QuesController.java

@@ -45,6 +45,7 @@ public class QuesController extends ControllerSupport {
 
     /**
      * 获取试题
+     *
      * @param id
      * @return
      */
@@ -58,20 +59,22 @@ public class QuesController extends ControllerSupport {
 
     /**
      * 分页查询试题
+     *
      * @return
      */
     @ApiOperation(value = "分页查询试题", notes = "分页查询试题")
     @GetMapping(value = "/question/{curPage}/{pageSize}")
     public ResponseEntity<Object> getAllQuestion(@ModelAttribute QuestionSearchCondition searchCondition,
-                                        		 @PathVariable int curPage, 
-                                        		 @PathVariable int pageSize) {
-    	User user = getAccessUser();
+                                                 @PathVariable int curPage,
+                                                 @PathVariable int pageSize) {
+        User user = getAccessUser();
         searchCondition.setOrgId(user.getRootOrgId().toString());
         return new ResponseEntity<Object>(quesService.findAll(searchCondition, curPage, pageSize), HttpStatus.OK);
     }
 
     /**
      * 更新试题信息
+     *
      * @param
      * @return
      */
@@ -84,6 +87,7 @@ public class QuesController extends ControllerSupport {
 
     /**
      * 新增试题
+     *
      * @param question
      * @return
      */
@@ -95,6 +99,7 @@ public class QuesController extends ControllerSupport {
 
     /**
      * 删除试题
+     *
      * @param id
      * @return
      */
@@ -107,6 +112,7 @@ public class QuesController extends ControllerSupport {
 
     /**
      * 删除套题子题
+     *
      * @param id
      * @return
      */
@@ -121,31 +127,31 @@ public class QuesController extends ControllerSupport {
 
     @ApiOperation(value = "查询题目数量", notes = "查询题目数量")
     @GetMapping(value = "/question/count")
-    public ResponseEntity<Object> getQuesCount(@ModelAttribute QuestionSearchCondition searchCondition){
-    	User user = getAccessUser();
+    public ResponseEntity<Object> getQuesCount(@ModelAttribute QuestionSearchCondition searchCondition) {
+        User user = getAccessUser();
         searchCondition.setOrgId(user.getRootOrgId().toString());
         long count = quesService.findQuesCount(searchCondition);
         return new ResponseEntity<Object>(count, HttpStatus.OK);
     }
-    
+
     @ApiOperation(value = "根据试卷ids更新试题属性", notes = "根据试卷ids更新试题属性")
     @PutMapping(value = "/question/updatePro/paperIds/{ids}/{difficultyDegree}/{publicity}")
     public ResponseEntity<Object> updateProByPapers(@PathVariable String ids,
-    												@PathVariable Double difficultyDegree,
-    												@PathVariable Boolean publicity){
-    	User user = getAccessUser();
-    	List<String> paperList = Stream.of(ids.split(",")).collect(Collectors.toList());
-    	quesService.updateProByPapers(paperList,difficultyDegree,publicity,user);
-    	return new ResponseEntity<Object>(HttpStatus.OK);
+                                                    @PathVariable Double difficultyDegree,
+                                                    @PathVariable Boolean publicity) {
+        User user = getAccessUser();
+        List<String> paperList = Stream.of(ids.split(",")).collect(Collectors.toList());
+        quesService.updateProByPapers(paperList, difficultyDegree, publicity, user);
+        return new ResponseEntity<Object>(HttpStatus.OK);
     }
-    
+
     @ApiOperation(value = "根据课程代码更新试题属性", notes = "根据课程代码更新试题属性")
     @PutMapping(value = "/question/updatePro/courseCode/{courseCode}/{difficultyDegree}/{publicity}/{orgId}")
     public ResponseEntity<Object> updateProByCourse(@PathVariable String courseCode,
-													@PathVariable Double difficultyDegree,
-													@PathVariable Boolean publicity,
-													@PathVariable String orgId){
-    	quesService.updateProByCourse(courseCode,difficultyDegree,publicity,orgId);
-    	return new ResponseEntity<Object>(HttpStatus.OK);
+                                                    @PathVariable Double difficultyDegree,
+                                                    @PathVariable Boolean publicity,
+                                                    @PathVariable String orgId) {
+        quesService.updateProByCourse(courseCode, difficultyDegree, publicity, orgId);
+        return new ResponseEntity<Object>(HttpStatus.OK);
     }
 }

+ 18 - 18
examcloud-core-questions-api-provider/src/main/java/cn/com/qmth/examcloud/core/questions/api/QuestionAudioController.java

@@ -14,30 +14,30 @@ import cn.com.qmth.examcloud.core.questions.dao.entity.QuestionAudio;
 import cn.com.qmth.examcloud.core.questions.service.QuestionAudioService;
 
 /**
- * @author  	chenken
- * @date    	2017年8月2日 下午1:49:04
- * @company 	QMTH
+ * @author chenken
+ * @date 2017年8月2日 下午1:49:04
+ * @company QMTH
  * @description QuestionAudioController.java
  */
 @RestController
 @RequestMapping("${api_cqb}/")
 public class QuestionAudioController {
-	
-	@Autowired
-	private QuestionAudioService questionAudioService;
-	
-	@ApiOperation(value = "通过questionId和fileName获取试题音频文件", notes = "通过questionId和fileName获取试题音频文件")
+
+    @Autowired
+    private QuestionAudioService questionAudioService;
+
+    @ApiOperation(value = "通过questionId和fileName获取试题音频文件", notes = "通过questionId和fileName获取试题音频文件")
     @GetMapping(value = "/questionAudio/{fileName}/{questionId}")
-	public ResponseEntity<Object> findQuestionAudio(@PathVariable String fileName,@PathVariable String questionId){
-		QuestionAudio questionAudio = questionAudioService.findByQuestionIdAndFileName(questionId, fileName);
-		return new ResponseEntity<Object>(questionAudio, HttpStatus.OK);
-	}
-	
-	@ApiOperation(value = "通过ID获取试题音频文件", notes = "通过ID获取试题音频文件")
+    public ResponseEntity<Object> findQuestionAudio(@PathVariable String fileName, @PathVariable String questionId) {
+        QuestionAudio questionAudio = questionAudioService.findByQuestionIdAndFileName(questionId, fileName);
+        return new ResponseEntity<Object>(questionAudio, HttpStatus.OK);
+    }
+
+    @ApiOperation(value = "通过ID获取试题音频文件", notes = "通过ID获取试题音频文件")
     @GetMapping(value = "/questionAudio/{questionAudioId}")
-	public ResponseEntity<Object> findQuestionAudioById(@PathVariable String questionAudioId){
-		QuestionAudio questionAudio = questionAudioService.findAudioById(questionAudioId);
-		return new ResponseEntity<Object>(questionAudio, HttpStatus.OK);
-	}
+    public ResponseEntity<Object> findQuestionAudioById(@PathVariable String questionAudioId) {
+        QuestionAudio questionAudio = questionAudioService.findAudioById(questionAudioId);
+        return new ResponseEntity<Object>(questionAudio, HttpStatus.OK);
+    }
 }
 

+ 16 - 12
examcloud-core-questions-api-provider/src/main/java/cn/com/qmth/examcloud/core/questions/api/SettingController.java

@@ -22,52 +22,56 @@ public class SettingController {
 
     @Autowired
     Gson gson;
-    
+
     @Autowired
     SettingRepo settingRepo;
 
     /**
      * 获取全部设置
+     *
      * @return
      */
-    @ApiOperation(value="获取全部设置",notes="获取全部设置")
+    @ApiOperation(value = "获取全部设置", notes = "获取全部设置")
     @GetMapping(value = "/setting")
-    public ResponseEntity<Object> getAllSetting(){
+    public ResponseEntity<Object> getAllSetting() {
         return new ResponseEntity<Object>(settingRepo.findAll(), HttpStatus.OK);
     }
 
     /**
      * 更新设置
+     *
      * @param settingDto
      * @return
      */
-    @ApiOperation(value="更新设置",notes="更新设置")
+    @ApiOperation(value = "更新设置", notes = "更新设置")
     @PutMapping(value = "/setting")
-    public ResponseEntity<Object> updateSetting(@RequestBody SettingDto settingDto){
-    	return new ResponseEntity<Object>(settingRepo.saveAll(settingDto.getSettingList()),HttpStatus.OK);
+    public ResponseEntity<Object> updateSetting(@RequestBody SettingDto settingDto) {
+        return new ResponseEntity<Object>(settingRepo.saveAll(settingDto.getSettingList()), HttpStatus.OK);
     }
 
     /**
      * 新增设置
+     *
      * @param settingDto
      * @return
      */
-    @ApiOperation(value="新增设置",notes="新增设置")
+    @ApiOperation(value = "新增设置", notes = "新增设置")
     @PostMapping(value = "/setting")
-    public ResponseEntity<Object> addSetting(@RequestBody SettingDto settingDto){
-    	return new ResponseEntity<Object>(settingRepo.saveAll(settingDto.getSettingList()),HttpStatus.OK);
+    public ResponseEntity<Object> addSetting(@RequestBody SettingDto settingDto) {
+        return new ResponseEntity<Object>(settingRepo.saveAll(settingDto.getSettingList()), HttpStatus.OK);
     }
 
     /**
      * 删除设置
+     *
      * @param id
      * @return
      */
-    @ApiOperation(value="删除设置",notes="删除设置")
+    @ApiOperation(value = "删除设置", notes = "删除设置")
     @DeleteMapping(value = "/setting/{id}")
-    public ResponseEntity<Object> removeSetting(@PathVariable String id){
+    public ResponseEntity<Object> removeSetting(@PathVariable String id) {
         settingRepo.deleteById(id);
-    	return new ResponseEntity<Object>(HttpStatus.OK);
+        return new ResponseEntity<Object>(HttpStatus.OK);
     }
 
 }

+ 60 - 60
examcloud-core-questions-api-provider/src/main/java/cn/com/qmth/examcloud/core/questions/api/controller/DefaultPaperController.java

@@ -22,72 +22,72 @@ import cn.com.qmth.examcloud.core.questions.service.PaperProviderService;
 import cn.com.qmth.examcloud.question.commons.core.paper.DefaultPaper;
 
 /**
- * @author 		weiwenhai
- * @date		2018.10.8
- * @company		qmth
- * @description	controller
- * @code		016
+ * @author weiwenhai
+ * @date 2018.10.8
+ * @company qmth
+ * @description controller
+ * @code 016
  */
 @RestController
 @RequestMapping("${api_cqb}/default_paper")
 public class DefaultPaperController extends ControllerSupport {
 
-	@Autowired
-	PaperProviderService paperProviderService;
-	
-	@ApiOperation(value = "外部接口组卷", notes = "外部接口组卷")
+    @Autowired
+    PaperProviderService paperProviderService;
+
+    @ApiOperation(value = "外部接口组卷", notes = "外部接口组卷")
     @PostMapping("/genPaper")
-	public ResponseEntity<Object> genPaper(@RequestBody GetQuestionListReq req){
-		User user = getAccessUser();
-		if(user == null){
-			throw new StatusException("Q-016038", "用户不存在!");
-		}
-		//组卷
-		String paperId = paperProviderService.genPaper(req.getQuestionIds(), req.getMap(), req.getName(), user.getRootOrgId().toString(),user.getDisplayName());
-		return new ResponseEntity<Object>(paperId,HttpStatus.OK);
-	}
-	
-	@ApiOperation(value = "外部接口查询试卷", notes = "外部接口查询试卷")
+    public ResponseEntity<Object> genPaper(@RequestBody GetQuestionListReq req) {
+        User user = getAccessUser();
+        if (user == null) {
+            throw new StatusException("Q-016038", "用户不存在!");
+        }
+        //组卷
+        String paperId = paperProviderService.genPaper(req.getQuestionIds(), req.getMap(), req.getName(), user.getRootOrgId().toString(), user.getDisplayName());
+        return new ResponseEntity<Object>(paperId, HttpStatus.OK);
+    }
+
+    @ApiOperation(value = "外部接口查询试卷", notes = "外部接口查询试卷")
     @PostMapping("/findPaper")
-	public ResponseEntity<Object> findPaper(@RequestBody GetPaperReq req){
-		String paperId  = req.getPaperId();
-		if(StringUtils.isBlank(paperId)){
-			throw new StatusException("Q-016057", "paperId is null");
-		}
-		DefaultPaper defaultPaper = paperProviderService.findPaper(paperId);
-		return new ResponseEntity<Object>(defaultPaper,HttpStatus.OK);
-	}
-	
-	@ApiOperation(value = "外部接口查询试卷", notes = "外部接口查询试卷")
+    public ResponseEntity<Object> findPaper(@RequestBody GetPaperReq req) {
+        String paperId = req.getPaperId();
+        if (StringUtils.isBlank(paperId)) {
+            throw new StatusException("Q-016057", "paperId is null");
+        }
+        DefaultPaper defaultPaper = paperProviderService.findPaper(paperId);
+        return new ResponseEntity<Object>(defaultPaper, HttpStatus.OK);
+    }
+
+    @ApiOperation(value = "外部接口查询试卷", notes = "外部接口查询试卷")
     @PostMapping("/findExamPaper")
-	public ResponseEntity<Object> findExamPaper(@RequestBody GetExtractConfigReq req){
-		String rootOrgId = req.getRootOrgId();
-		if(StringUtils.isBlank(rootOrgId)){
-			throw new StatusException("Q-016068", "rootOrgId is null");
-		}
-		Long examId = req.getExamId();
-		if(null == examId){
-			throw new StatusException("Q-016073", "examId is null");
-		}
-		DefaultPaper defaultPaper = paperProviderService.findExamPaper(rootOrgId,examId);
-		return new ResponseEntity<Object>(defaultPaper,HttpStatus.OK);
-	}
-	
-	@ApiOperation(value = "外部接口组卷并绑定考卷", notes = "外部接口组卷并绑定考卷")
-	@PostMapping("/genAndExamPaper")
-	public ResponseEntity<Object> genPaperAndExamPaper(@RequestBody GetExtractConfigReq req){
-		String rootOrgId = req.getRootOrgId();
-		if(StringUtils.isBlank(rootOrgId)){
-			throw new StatusException("Q-016087", "rootOrgId is null");
-		}
-		Long examId = req.getExamId();
-		if(null == examId){
-			throw new StatusException("Q-016091", "examId is null");
-		}
-		//组卷
-		String paperId = paperProviderService.genPaper(req.getQuestionIds(), req.getMap(), req.getPaperName(), req.getRootOrgId(), req.getUserName());
-	    paperProviderService.examPaper(req.getRootOrgId(), paperId, req.getExamId());
-		return new ResponseEntity<Object>(HttpStatus.OK);
-	}
-	
+    public ResponseEntity<Object> findExamPaper(@RequestBody GetExtractConfigReq req) {
+        String rootOrgId = req.getRootOrgId();
+        if (StringUtils.isBlank(rootOrgId)) {
+            throw new StatusException("Q-016068", "rootOrgId is null");
+        }
+        Long examId = req.getExamId();
+        if (null == examId) {
+            throw new StatusException("Q-016073", "examId is null");
+        }
+        DefaultPaper defaultPaper = paperProviderService.findExamPaper(rootOrgId, examId);
+        return new ResponseEntity<Object>(defaultPaper, HttpStatus.OK);
+    }
+
+    @ApiOperation(value = "外部接口组卷并绑定考卷", notes = "外部接口组卷并绑定考卷")
+    @PostMapping("/genAndExamPaper")
+    public ResponseEntity<Object> genPaperAndExamPaper(@RequestBody GetExtractConfigReq req) {
+        String rootOrgId = req.getRootOrgId();
+        if (StringUtils.isBlank(rootOrgId)) {
+            throw new StatusException("Q-016087", "rootOrgId is null");
+        }
+        Long examId = req.getExamId();
+        if (null == examId) {
+            throw new StatusException("Q-016091", "examId is null");
+        }
+        //组卷
+        String paperId = paperProviderService.genPaper(req.getQuestionIds(), req.getMap(), req.getPaperName(), req.getRootOrgId(), req.getUserName());
+        paperProviderService.examPaper(req.getRootOrgId(), paperId, req.getExamId());
+        return new ResponseEntity<Object>(HttpStatus.OK);
+    }
+
 }

+ 88 - 88
examcloud-core-questions-api-provider/src/main/java/cn/com/qmth/examcloud/core/questions/api/controller/DefaultQuesionController.java

@@ -28,98 +28,98 @@ import cn.com.qmth.examcloud.core.questions.service.QuestionProviderService;
 import cn.com.qmth.examcloud.question.commons.core.question.DefaultQuestion;
 
 /**
- * @author 		weiwenhai
- * @date 		20180.9.10
- * @company		qmth
- * @description	controller
- * @code		013
+ * @author weiwenhai
+ * @date 20180.9.10
+ * @company qmth
+ * @description controller
+ * @code 013
  */
 @RestController
 @RequestMapping("${api_cqb}/default_question")
 public class DefaultQuesionController extends ControllerSupport {
 
-	@Autowired
-	private QuestionProviderService questionProviderService;
-	
-	@Autowired
-	private ExtractConfigProviderService extractConfigExamService;
-	
-	@ApiOperation(value = "外部接口保存单个试题", notes = "外部接口保存单个试题")
+    @Autowired
+    private QuestionProviderService questionProviderService;
+
+    @Autowired
+    private ExtractConfigProviderService extractConfigExamService;
+
+    @ApiOperation(value = "外部接口保存单个试题", notes = "外部接口保存单个试题")
     @PostMapping("/save")
-	public ResponseEntity<Object> save(@RequestBody GetDefaultQuesionReq req) {
-		User user = getAccessUser();
-		if(user == null){
-			throw new StatusException("Q-013041", "用户不存在!");
-		}
-		DefaultQuestion defaultQuestion = req.getDefaultQuestion();
-		if(defaultQuestion.getRootOrgId() == null){
-			throw new StatusException("Q-013045", "rootOrgId is null");
-		}
-		String id = questionProviderService.save(defaultQuestion);
-		return new ResponseEntity<Object>(id,HttpStatus.OK);
-	}
-	
-	@ApiOperation(value = "修改试题")
-	@PutMapping("/update")
-	public ResponseEntity<Object> update(@RequestBody GetDefaultQuesionReq req) {
-		User user = getAccessUser();
-		if(user == null){
-			throw new StatusException("Q-013057", "用户不存在!");
-		}
-		DefaultQuestion defaultQuestion = req.getDefaultQuestion();
-		if(defaultQuestion.getRootOrgId() == null){
-			throw new StatusException("Q-013061", "rootOrgId is null");
-		}
-		String id = questionProviderService.save(defaultQuestion);
-		return new ResponseEntity<Object>(id,HttpStatus.OK);
-	}
-	
-	@ApiOperation(value = "查询试题")
-	@PostMapping("/find")
-	public ResponseEntity<Object> find(@RequestBody GetDefaultQuesionsReq req) {
-		User user = getAccessUser();
-		if(user == null){
-			throw new StatusException("Q-013075", "用户不存在!");
-		}
-		Long rootOrgId = req.getRootOrgId();
-		if(rootOrgId == null){
-			throw new StatusException("Q-011079", "rootOrgId is null");
-		}
-		Page<DefaultQuestion> defaultQuestions = questionProviderService.findQustions(rootOrgId,req.getProperties(),req.getCurPage(),req.getPageSize());
-		return new ResponseEntity<Object>(defaultQuestions,HttpStatus.OK);
-	}
-	
-	@ApiOperation(value = "查询试题")
-	@PostMapping("/find_questions")
-	public ResponseEntity<Object> find(@RequestBody GetQuestionListReq req) {
-		Set<String> questionIds = req.getQuestionIds();
-		if(questionIds == null || questionIds.size()<1){
-			throw new StatusException("Q-011089", "questionId is null");
-		}
-		List<DefaultQuestion> defaultQuestions = questionProviderService.findQuestions(questionIds);
-		return new ResponseEntity<Object>(defaultQuestions,HttpStatus.OK);
-	}
-	
-	@ApiOperation(value = "查询试题")
-	@PostMapping("/question")
-	public ResponseEntity<Object> findOne(@RequestBody GetQuestionReq questionReq){
-		Long examId = questionReq.getExamId();
-		if (null == examId) {
-			throw new StatusException("Q-010078", "examId is null");
-		}
-		String courseCode = questionReq.getCourseCode(); 
-		if(StringUtils.isBlank(courseCode)){
-			throw new StatusException("Q-010082", "courseCode is null");
-		}
-		String groupCode = questionReq.getGroupCode();
-		if(StringUtils.isBlank(groupCode)){
-			throw new StatusException("Q-010086", "groupCode is null");
-		}
-		String questionId = questionReq.getQuestionId();
-		if(StringUtils.isBlank(questionId)){
-			throw new StatusException("Q-010090", "questionId is null");
-		}
-		DefaultQuestion defaultQuestion = extractConfigExamService.getDefaultQuestion(examId, courseCode, groupCode, questionId);
-		return new ResponseEntity<Object>(defaultQuestion,HttpStatus.OK);
-	}
+    public ResponseEntity<Object> save(@RequestBody GetDefaultQuesionReq req) {
+        User user = getAccessUser();
+        if (user == null) {
+            throw new StatusException("Q-013041", "用户不存在!");
+        }
+        DefaultQuestion defaultQuestion = req.getDefaultQuestion();
+        if (defaultQuestion.getRootOrgId() == null) {
+            throw new StatusException("Q-013045", "rootOrgId is null");
+        }
+        String id = questionProviderService.save(defaultQuestion);
+        return new ResponseEntity<Object>(id, HttpStatus.OK);
+    }
+
+    @ApiOperation(value = "修改试题")
+    @PutMapping("/update")
+    public ResponseEntity<Object> update(@RequestBody GetDefaultQuesionReq req) {
+        User user = getAccessUser();
+        if (user == null) {
+            throw new StatusException("Q-013057", "用户不存在!");
+        }
+        DefaultQuestion defaultQuestion = req.getDefaultQuestion();
+        if (defaultQuestion.getRootOrgId() == null) {
+            throw new StatusException("Q-013061", "rootOrgId is null");
+        }
+        String id = questionProviderService.save(defaultQuestion);
+        return new ResponseEntity<Object>(id, HttpStatus.OK);
+    }
+
+    @ApiOperation(value = "查询试题")
+    @PostMapping("/find")
+    public ResponseEntity<Object> find(@RequestBody GetDefaultQuesionsReq req) {
+        User user = getAccessUser();
+        if (user == null) {
+            throw new StatusException("Q-013075", "用户不存在!");
+        }
+        Long rootOrgId = req.getRootOrgId();
+        if (rootOrgId == null) {
+            throw new StatusException("Q-011079", "rootOrgId is null");
+        }
+        Page<DefaultQuestion> defaultQuestions = questionProviderService.findQustions(rootOrgId, req.getProperties(), req.getCurPage(), req.getPageSize());
+        return new ResponseEntity<Object>(defaultQuestions, HttpStatus.OK);
+    }
+
+    @ApiOperation(value = "查询试题")
+    @PostMapping("/find_questions")
+    public ResponseEntity<Object> find(@RequestBody GetQuestionListReq req) {
+        Set<String> questionIds = req.getQuestionIds();
+        if (questionIds == null || questionIds.size() < 1) {
+            throw new StatusException("Q-011089", "questionId is null");
+        }
+        List<DefaultQuestion> defaultQuestions = questionProviderService.findQuestions(questionIds);
+        return new ResponseEntity<Object>(defaultQuestions, HttpStatus.OK);
+    }
+
+    @ApiOperation(value = "查询试题")
+    @PostMapping("/question")
+    public ResponseEntity<Object> findOne(@RequestBody GetQuestionReq questionReq) {
+        Long examId = questionReq.getExamId();
+        if (null == examId) {
+            throw new StatusException("Q-010078", "examId is null");
+        }
+        String courseCode = questionReq.getCourseCode();
+        if (StringUtils.isBlank(courseCode)) {
+            throw new StatusException("Q-010082", "courseCode is null");
+        }
+        String groupCode = questionReq.getGroupCode();
+        if (StringUtils.isBlank(groupCode)) {
+            throw new StatusException("Q-010086", "groupCode is null");
+        }
+        String questionId = questionReq.getQuestionId();
+        if (StringUtils.isBlank(questionId)) {
+            throw new StatusException("Q-010090", "questionId is null");
+        }
+        DefaultQuestion defaultQuestion = extractConfigExamService.getDefaultQuestion(examId, courseCode, groupCode, questionId);
+        return new ResponseEntity<Object>(defaultQuestion, HttpStatus.OK);
+    }
 }

+ 140 - 140
examcloud-core-questions-api-provider/src/main/java/cn/com/qmth/examcloud/core/questions/api/provider/ExtractConfigCloudServiceProvider.java

@@ -33,148 +33,148 @@ import cn.com.qmth.examcloud.question.commons.core.paper.DefaultPaper;
 import cn.com.qmth.examcloud.question.commons.core.question.DefaultQuestion;
 
 /**
- * @author 		weiwenhai
- * @date		2018.8.15
- * @company		qmth
- * @describle	调卷规则远程调用请求接口实现类
- * @code		010
+ * @author weiwenhai
+ * @date 2018.8.15
+ * @company qmth
+ * @describle 调卷规则远程调用请求接口实现类
+ * @code 010
  */
 @Transactional
 @RestController
 @RequestMapping("${$rmp.cloud.questions}" + "extract_config")
-public class ExtractConfigCloudServiceProvider implements ExtractConfigCloudService{
-	
-	protected ExamCloudLog log = ExamCloudLogFactory.getLog(this.getClass());
-
-	private static final long serialVersionUID = 2346453260179681094L;
-	
-	@Autowired
-	private ExtractConfigProviderService extractConfigExamService;
-
-	@ApiOperation(value = "根据调卷规则抽取考试试卷")
-	@PostMapping("getPaper")
-	@Override
-	public GetPaperResp getPaper(@RequestBody GetPaperReq paperReq) {
-		Long examId = paperReq.getExamId();
-		if (null == examId) {
-			throw new StatusException("Q-010053", "examId is null");
-		}
-		String courseCode = paperReq.getCourseCode(); 
-		if(StringUtils.isBlank(courseCode)){
-			throw new StatusException("Q-010057", "courseCode is null");
-		}
-		String groupCode = paperReq.getGroupCode();
-		if(StringUtils.isBlank(groupCode)){
-			throw new StatusException("Q-010061", "groupCode is null");
-		}
-		Map<String, Object> map = extractConfigExamService.getDefaultPaper(paperReq.getExamId(),paperReq.getCourseCode(),paperReq.getGroupCode());
-		GetPaperResp resp = new GetPaperResp();
-		resp.setSortOptionOrder((Short)map.get("upSetOptionOrder") == 0 ? false:true);
-		resp.setSortQuestionOrder((Short)map.get("upSetQuestionOrder") == 0 ? false:true);
-		resp.setPaperId((String)map.get("paperId"));
-		resp.setDefaultPaper((DefaultPaper)map.get("defaultPaper"));
-		return resp;
-	}
-
-	@ApiOperation(value = "根据调卷规则抽取考试试题")
-	@PostMapping("getQuestion")
-	@Override
-	public GetQuestionResp getQuestion(@RequestBody GetQuestionReq questionReq) {
-		Long examId = questionReq.getExamId();
-		if (null == examId) {
-			throw new StatusException("Q-010078", "examId is null");
-		}
-		String courseCode = questionReq.getCourseCode(); 
-		if(StringUtils.isBlank(courseCode)){
-			throw new StatusException("Q-010082", "courseCode is null");
-		}
-		String groupCode = questionReq.getGroupCode();
-		if(StringUtils.isBlank(groupCode)){
-			throw new StatusException("Q-010086", "groupCode is null");
-		}
-		String questionId = questionReq.getQuestionId();
-		if(StringUtils.isBlank(questionId)){
-			throw new StatusException("Q-010090", "questionId is null");
-		}
-		DefaultQuestion defaultQuestion = extractConfigExamService.getDefaultQuestion(examId, courseCode, groupCode, questionId);
-		GetQuestionResp resp = new GetQuestionResp();
-		resp.setDefaultQuestion(defaultQuestion);
-		return resp;
-	}
-
-
-	@ApiOperation(value = "根据试卷id获取试卷结构")
-	@PostMapping("getBasePaper")
-	@Override
-	public GetBasePaperResp getBasePaper(@RequestBody GetBasePaperReq req) {
-		String paperId = req.getPaperId();
-		if (null == paperId) {
-			throw new StatusException("Q-010105", "paperId is null");
-		}
-		DefaultPaper defaultPaper = extractConfigExamService.getBaseDefaultPaper(paperId);
-		GetBasePaperResp resp = new GetBasePaperResp();
-		resp.setDefaultPaper(defaultPaper);
-		return resp;
-	}
-
-	@ApiOperation(value = "根据试题id集合获取试题集合")
-	@PostMapping("getQuestionList")
-	@Override
-	public GetQuestionListResp getQuestionList(@RequestBody GetQuestionListReq req) {
-		Set<String> questionIds = req.getQuestionIds();
-		if(questionIds == null || questionIds.size()<1){
-			throw new StatusException("Q-010119", "questionIds is null");
-		}
-		Map<String, DefaultQuestion> map = extractConfigExamService.getDefaultQuestions(questionIds);
-		GetQuestionListResp resp = new GetQuestionListResp();
-		resp.setMap(map);
-		return resp;
-	}
-
-	@Override  
-	@ApiOperation(value = "跟试题id查询试题答案")
-	@PostMapping("getQuestionAnswerList")
-	public GetQuestionAnswerResp getQuestionAnswer(GetQuestionAnswerReq req) {
-		if(StringUtils.isBlank(req.getQuestionId())){
-			throw new StatusException("Q-010135", "questionId is null");
-		}
-		List<String> list = extractConfigExamService.getAnswer(req.getQuestionId());
-		GetQuestionAnswerResp resp = new GetQuestionAnswerResp();
-		resp.setAnswerList(list);
-		return resp;
-	}
-
-	@ApiOperation(value = "根据试题id集合获取试题集合")
-	@PostMapping("getBaseQuestion")
-	@Override
-	public GetQuestionResp getBaseQuestion(@RequestBody GetQuestionReq req) {
-		String id = req.getQuestionId();
-		if(StringUtils.isBlank(id)){
-			throw new StatusException("Q-010149", "questionId is null");
-		}
-		DefaultQuestion defaultQuestion = extractConfigExamService.getDefaultQuestion(null, null, null, id);
-		GetQuestionResp resp = new GetQuestionResp();
-		resp.setDefaultQuestion(defaultQuestion);
-		return resp;
-	}
-
-	@ApiOperation(value = "根据试卷id查询主观题与客观题数量")
-	@PostMapping("getQuestionStructure")
-	@Override
-	public GetQuestionListResp getQuestionStructure(@RequestBody GetBasePaperReq req) {
-		String paperId = req.getPaperId();
-		if (null == paperId) {
-			throw new StatusException("Q-010163", "paperId is null");
-		}
-		try {
-			String json = extractConfigExamService.getQuestionStructure(paperId);
-			GetQuestionListResp resp = new GetQuestionListResp();
-			resp.setJson(json);
-			return resp;
-		} catch (Exception e) {
-			log.error(e.getMessage(),e);
-		}
-		return null;
-	}
-	
+public class ExtractConfigCloudServiceProvider implements ExtractConfigCloudService {
+
+    protected ExamCloudLog log = ExamCloudLogFactory.getLog(this.getClass());
+
+    private static final long serialVersionUID = 2346453260179681094L;
+
+    @Autowired
+    private ExtractConfigProviderService extractConfigExamService;
+
+    @ApiOperation(value = "根据调卷规则抽取考试试卷")
+    @PostMapping("getPaper")
+    @Override
+    public GetPaperResp getPaper(@RequestBody GetPaperReq paperReq) {
+        Long examId = paperReq.getExamId();
+        if (null == examId) {
+            throw new StatusException("Q-010053", "examId is null");
+        }
+        String courseCode = paperReq.getCourseCode();
+        if (StringUtils.isBlank(courseCode)) {
+            throw new StatusException("Q-010057", "courseCode is null");
+        }
+        String groupCode = paperReq.getGroupCode();
+        if (StringUtils.isBlank(groupCode)) {
+            throw new StatusException("Q-010061", "groupCode is null");
+        }
+        Map<String, Object> map = extractConfigExamService.getDefaultPaper(paperReq.getExamId(), paperReq.getCourseCode(), paperReq.getGroupCode());
+        GetPaperResp resp = new GetPaperResp();
+        resp.setSortOptionOrder((Short) map.get("upSetOptionOrder") == 0 ? false : true);
+        resp.setSortQuestionOrder((Short) map.get("upSetQuestionOrder") == 0 ? false : true);
+        resp.setPaperId((String) map.get("paperId"));
+        resp.setDefaultPaper((DefaultPaper) map.get("defaultPaper"));
+        return resp;
+    }
+
+    @ApiOperation(value = "根据调卷规则抽取考试试题")
+    @PostMapping("getQuestion")
+    @Override
+    public GetQuestionResp getQuestion(@RequestBody GetQuestionReq questionReq) {
+        Long examId = questionReq.getExamId();
+        if (null == examId) {
+            throw new StatusException("Q-010078", "examId is null");
+        }
+        String courseCode = questionReq.getCourseCode();
+        if (StringUtils.isBlank(courseCode)) {
+            throw new StatusException("Q-010082", "courseCode is null");
+        }
+        String groupCode = questionReq.getGroupCode();
+        if (StringUtils.isBlank(groupCode)) {
+            throw new StatusException("Q-010086", "groupCode is null");
+        }
+        String questionId = questionReq.getQuestionId();
+        if (StringUtils.isBlank(questionId)) {
+            throw new StatusException("Q-010090", "questionId is null");
+        }
+        DefaultQuestion defaultQuestion = extractConfigExamService.getDefaultQuestion(examId, courseCode, groupCode, questionId);
+        GetQuestionResp resp = new GetQuestionResp();
+        resp.setDefaultQuestion(defaultQuestion);
+        return resp;
+    }
+
+
+    @ApiOperation(value = "根据试卷id获取试卷结构")
+    @PostMapping("getBasePaper")
+    @Override
+    public GetBasePaperResp getBasePaper(@RequestBody GetBasePaperReq req) {
+        String paperId = req.getPaperId();
+        if (null == paperId) {
+            throw new StatusException("Q-010105", "paperId is null");
+        }
+        DefaultPaper defaultPaper = extractConfigExamService.getBaseDefaultPaper(paperId);
+        GetBasePaperResp resp = new GetBasePaperResp();
+        resp.setDefaultPaper(defaultPaper);
+        return resp;
+    }
+
+    @ApiOperation(value = "根据试题id集合获取试题集合")
+    @PostMapping("getQuestionList")
+    @Override
+    public GetQuestionListResp getQuestionList(@RequestBody GetQuestionListReq req) {
+        Set<String> questionIds = req.getQuestionIds();
+        if (questionIds == null || questionIds.size() < 1) {
+            throw new StatusException("Q-010119", "questionIds is null");
+        }
+        Map<String, DefaultQuestion> map = extractConfigExamService.getDefaultQuestions(questionIds);
+        GetQuestionListResp resp = new GetQuestionListResp();
+        resp.setMap(map);
+        return resp;
+    }
+
+    @Override
+    @ApiOperation(value = "跟试题id查询试题答案")
+    @PostMapping("getQuestionAnswerList")
+    public GetQuestionAnswerResp getQuestionAnswer(GetQuestionAnswerReq req) {
+        if (StringUtils.isBlank(req.getQuestionId())) {
+            throw new StatusException("Q-010135", "questionId is null");
+        }
+        List<String> list = extractConfigExamService.getAnswer(req.getQuestionId());
+        GetQuestionAnswerResp resp = new GetQuestionAnswerResp();
+        resp.setAnswerList(list);
+        return resp;
+    }
+
+    @ApiOperation(value = "根据试题id集合获取试题集合")
+    @PostMapping("getBaseQuestion")
+    @Override
+    public GetQuestionResp getBaseQuestion(@RequestBody GetQuestionReq req) {
+        String id = req.getQuestionId();
+        if (StringUtils.isBlank(id)) {
+            throw new StatusException("Q-010149", "questionId is null");
+        }
+        DefaultQuestion defaultQuestion = extractConfigExamService.getDefaultQuestion(null, null, null, id);
+        GetQuestionResp resp = new GetQuestionResp();
+        resp.setDefaultQuestion(defaultQuestion);
+        return resp;
+    }
+
+    @ApiOperation(value = "根据试卷id查询主观题与客观题数量")
+    @PostMapping("getQuestionStructure")
+    @Override
+    public GetQuestionListResp getQuestionStructure(@RequestBody GetBasePaperReq req) {
+        String paperId = req.getPaperId();
+        if (null == paperId) {
+            throw new StatusException("Q-010163", "paperId is null");
+        }
+        try {
+            String json = extractConfigExamService.getQuestionStructure(paperId);
+            GetQuestionListResp resp = new GetQuestionListResp();
+            resp.setJson(json);
+            return resp;
+        } catch (Exception e) {
+            log.error(e.getMessage(), e);
+        }
+        return null;
+    }
+
 }

+ 146 - 146
examcloud-core-questions-api-provider/src/main/java/cn/com/qmth/examcloud/core/questions/api/provider/HandleSyncCloudServiceProvider.java

@@ -44,94 +44,94 @@ import org.springframework.data.mongodb.core.query.Criteria;
 import org.springframework.data.mongodb.core.query.Query;
 
 /**
- * @author 		weiwenhai
- * @date		2018.10.11
- * @company		qmth
- * @description	同步课程
- * @code		018
+ * @author weiwenhai
+ * @date 2018.10.11
+ * @company qmth
+ * @description 同步课程
+ * @code 018
  */
 @Transactional
 @RestController
 @RequestMapping("${$rmp.cloud.questions}" + "dataSync")
 public class HandleSyncCloudServiceProvider extends ControllerSupport implements HandleSyncCloudService {
 
-	private static final long serialVersionUID = -2121791220624238299L;
+    private static final long serialVersionUID = -2121791220624238299L;
 
-	@Autowired
+    @Autowired
     ExtractConfigRepo extractConfigRepo;
-	
-	@Autowired
+
+    @Autowired
     QuesRepo quesRepo;
 
     @Autowired
     PaperRepo paperRepo;
-    
-	@Autowired
+
+    @Autowired
     MongoTemplate mongoTemplate;
-	
-	@ApiOperation(value = "同步课程")
-	@PostMapping("syncCourse")
-	@Override
-	public SyncCourseResp syncCourse(@RequestBody SyncCourseReq req) {
-		String courseCode = req.getCode();
-		Long rootOrgId = req.getRootOrgId();
-		String courseName = req.getName();
-		String courseLevel = req.getLevel();
-		Boolean enable = req.getEnable();
-		Long courseId = req.getId();
-		if (StringUtils.isBlank(courseName)) {
-			throw new StatusException("Q-018073", "courseName is null");
-		}
-		if (null == courseId) {
-			throw new StatusException("Q-018076", "courseId is null");
-		}
-		if (StringUtils.isBlank(courseLevel)) {
-			throw new StatusException("Q-018079", "courseLevel is null");
-		}
-		if (null == rootOrgId) {
-			throw new StatusException("Q-018082", "rootOrgId is null");
-		}
-		//同步调卷规则
-	    List<ExtractConfig> extractConfigs= extractConfigRepo.findByCourseCodeAndOrgId(courseCode,rootOrgId.toString());
-		if (extractConfigs != null && extractConfigs.size() > 0) {
-			int i = 0;
-		    for (ExtractConfig extractConfig : extractConfigs) {
-		        extractConfig.setCourseName(courseName);
-		        Course course = extractConfig.getCourse();
-		        if(course != null){
-		            course.setName(courseName);
-		            course.setLevel(courseLevel);
-		            course.setEnable(enable.toString());
-		            course.setUpdateTime(CommonUtils.getCurDateTime());
-		            extractConfig.setCourse(course);
-		        }else{
-		            Course tempCourse = new Course();
-		            tempCourse.setCode(courseCode);
-		            tempCourse.setName(courseName);
-		            tempCourse.setLevel(courseLevel);
-		            tempCourse.setEnable(enable.toString());
-		            tempCourse.setOrgId(rootOrgId.toString());
-		            tempCourse.setCreateTime(CommonUtils.getCurDateTime());
-		            extractConfig.setCourse(tempCourse);
-		        }
-		        i++;
-		    }
-		    extractConfigRepo.saveAll(extractConfigs);
-		    log.debug("调卷规则同步完成,已经同步数量:"+ i);
-		}
-		//同步试卷
-		List<Paper> papers = paperRepo.findByCourseNoAndOrgId(courseCode, rootOrgId.toString());
+
+    @ApiOperation(value = "同步课程")
+    @PostMapping("syncCourse")
+    @Override
+    public SyncCourseResp syncCourse(@RequestBody SyncCourseReq req) {
+        String courseCode = req.getCode();
+        Long rootOrgId = req.getRootOrgId();
+        String courseName = req.getName();
+        String courseLevel = req.getLevel();
+        Boolean enable = req.getEnable();
+        Long courseId = req.getId();
+        if (StringUtils.isBlank(courseName)) {
+            throw new StatusException("Q-018073", "courseName is null");
+        }
+        if (null == courseId) {
+            throw new StatusException("Q-018076", "courseId is null");
+        }
+        if (StringUtils.isBlank(courseLevel)) {
+            throw new StatusException("Q-018079", "courseLevel is null");
+        }
+        if (null == rootOrgId) {
+            throw new StatusException("Q-018082", "rootOrgId is null");
+        }
+        //同步调卷规则
+        List<ExtractConfig> extractConfigs = extractConfigRepo.findByCourseCodeAndOrgId(courseCode, rootOrgId.toString());
+        if (extractConfigs != null && extractConfigs.size() > 0) {
+            int i = 0;
+            for (ExtractConfig extractConfig : extractConfigs) {
+                extractConfig.setCourseName(courseName);
+                Course course = extractConfig.getCourse();
+                if (course != null) {
+                    course.setName(courseName);
+                    course.setLevel(courseLevel);
+                    course.setEnable(enable.toString());
+                    course.setUpdateTime(CommonUtils.getCurDateTime());
+                    extractConfig.setCourse(course);
+                } else {
+                    Course tempCourse = new Course();
+                    tempCourse.setCode(courseCode);
+                    tempCourse.setName(courseName);
+                    tempCourse.setLevel(courseLevel);
+                    tempCourse.setEnable(enable.toString());
+                    tempCourse.setOrgId(rootOrgId.toString());
+                    tempCourse.setCreateTime(CommonUtils.getCurDateTime());
+                    extractConfig.setCourse(tempCourse);
+                }
+                i++;
+            }
+            extractConfigRepo.saveAll(extractConfigs);
+            log.debug("调卷规则同步完成,已经同步数量:" + i);
+        }
+        //同步试卷
+        List<Paper> papers = paperRepo.findByCourseNoAndOrgId(courseCode, rootOrgId.toString());
         if (papers != null && papers.size() > 0) {
-        	int i = 0;
+            int i = 0;
             for (Paper paper : papers) {
                 Course course = paper.getCourse();
-                if(course != null){
+                if (course != null) {
                     course.setName(courseName);
                     course.setLevel(courseLevel);
                     course.setEnable(enable.toString());
                     course.setUpdateTime(CommonUtils.getCurDateTime());
                     paper.setCourse(course);
-                }else{
+                } else {
                     Course tempCourse = new Course();
                     tempCourse.setCode(courseCode);
                     tempCourse.setName(courseName);
@@ -144,7 +144,7 @@ public class HandleSyncCloudServiceProvider extends ControllerSupport implements
                 i++;
             }
             paperRepo.saveAll(papers);
-            log.debug("试卷同步完成,已经同步数量:"+ i);
+            log.debug("试卷同步完成,已经同步数量:" + i);
         }
         //同步试题
         Query query = new Query();
@@ -152,16 +152,16 @@ public class HandleSyncCloudServiceProvider extends ControllerSupport implements
         query.addCriteria(Criteria.where("course.code").is(courseCode));
         List<Question> questions = this.mongoTemplate.find(query, Question.class);
         if (questions != null && questions.size() > 0) {
-        	int i = 0;
+            int i = 0;
             for (Question question : questions) {
                 Course course = question.getCourse();
-                if(course != null){
+                if (course != null) {
                     course.setName(courseName);
                     course.setLevel(courseLevel);
                     course.setEnable(enable.toString());
                     course.setUpdateTime(CommonUtils.getCurDateTime());
                     question.setCourse(course);
-                }else{
+                } else {
                     Course tempCourse = new Course();
                     tempCourse.setCode(courseCode);
                     tempCourse.setName(courseName);
@@ -174,81 +174,81 @@ public class HandleSyncCloudServiceProvider extends ControllerSupport implements
                 i++;
             }
             quesRepo.saveAll(questions);
-            log.debug("试题同步完成,已经同步数量:"+ i);
+            log.debug("试题同步完成,已经同步数量:" + i);
         }
         SyncCourseResp resp = new SyncCourseResp();
-		return resp;
-	}
-
-	@Override
-	public SyncOrgResp syncOrg(SyncOrgReq req) {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	@Override
-	public SyncStudentResp syncStudent(SyncStudentReq req) {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	@Override
-	public SyncExamStudentResp syncExamStudent(SyncExamStudentReq req) {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	@Override
-	public SyncSpecialtyResp syncSpecialty(SyncSpecialtyReq req) {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	@ApiOperation(value = "同步考试")
-	@PostMapping("syncExam")
-	@Override
-	public SyncExamResp syncExam(@RequestBody SyncExamReq req) {
-		Long rootOrgId = req.getRootOrgId();
-		Long id = req.getId();
-		String name = req.getName();
-		String examType = req.getExamType();
-		if (StringUtils.isBlank(name)) {
-			throw new StatusException("Q-018213", "name is null");
-		}
-		if (null == id) {
-			throw new StatusException("Q-018216", "id is null");
-		}
-		if (null == rootOrgId) {
-			throw new StatusException("Q-018219", "rootOrgId is null");
-		}
-		if (StringUtils.isBlank(examType)) {
-			throw new StatusException("Q-018223", "examType is null");
-		}
-		//同步调卷规则
-		Query query = new Query();
-		query.addCriteria(Criteria.where("orgId").is(rootOrgId.toString()));
-		query.addCriteria(Criteria.where("examId").is(id));
-		List<ExtractConfig> extractConfigs = this.mongoTemplate.find(query, ExtractConfig.class);
-		log.debug("调卷规则总数量:"+extractConfigs.size());
-		if (extractConfigs != null && extractConfigs.size() > 0) {
-			int i = 0;
-		    for (ExtractConfig extractConfig : extractConfigs) {
-		    	i++;
-		    	extractConfig.setExamName(name);
-		    	extractConfig.setExamType(examType);
-		    	extractConfig.setExamType(examType);
-		    }
-		    extractConfigRepo.saveAll(extractConfigs);
-		    log.debug("调卷规则同步完成,已经同步数量:"+ i);
-		}
-		SyncExamResp resp = new SyncExamResp();
-		return resp;
-	}
-
-	@Override
-	public SyncUserResp syncUser(SyncUserReq req) {
-		// TODO Auto-generated method stub
-		return null;
-	}
-	
+        return resp;
+    }
+
+    @Override
+    public SyncOrgResp syncOrg(SyncOrgReq req) {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+    @Override
+    public SyncStudentResp syncStudent(SyncStudentReq req) {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+    @Override
+    public SyncExamStudentResp syncExamStudent(SyncExamStudentReq req) {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+    @Override
+    public SyncSpecialtyResp syncSpecialty(SyncSpecialtyReq req) {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+    @ApiOperation(value = "同步考试")
+    @PostMapping("syncExam")
+    @Override
+    public SyncExamResp syncExam(@RequestBody SyncExamReq req) {
+        Long rootOrgId = req.getRootOrgId();
+        Long id = req.getId();
+        String name = req.getName();
+        String examType = req.getExamType();
+        if (StringUtils.isBlank(name)) {
+            throw new StatusException("Q-018213", "name is null");
+        }
+        if (null == id) {
+            throw new StatusException("Q-018216", "id is null");
+        }
+        if (null == rootOrgId) {
+            throw new StatusException("Q-018219", "rootOrgId is null");
+        }
+        if (StringUtils.isBlank(examType)) {
+            throw new StatusException("Q-018223", "examType is null");
+        }
+        //同步调卷规则
+        Query query = new Query();
+        query.addCriteria(Criteria.where("orgId").is(rootOrgId.toString()));
+        query.addCriteria(Criteria.where("examId").is(id));
+        List<ExtractConfig> extractConfigs = this.mongoTemplate.find(query, ExtractConfig.class);
+        log.debug("调卷规则总数量:" + extractConfigs.size());
+        if (extractConfigs != null && extractConfigs.size() > 0) {
+            int i = 0;
+            for (ExtractConfig extractConfig : extractConfigs) {
+                i++;
+                extractConfig.setExamName(name);
+                extractConfig.setExamType(examType);
+                extractConfig.setExamType(examType);
+            }
+            extractConfigRepo.saveAll(extractConfigs);
+            log.debug("调卷规则同步完成,已经同步数量:" + i);
+        }
+        SyncExamResp resp = new SyncExamResp();
+        return resp;
+    }
+
+    @Override
+    public SyncUserResp syncUser(SyncUserReq req) {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
 }

+ 42 - 43
examcloud-core-questions-api-provider/src/main/java/cn/com/qmth/examcloud/core/questions/api/provider/PaperCloudServiceProvider.java

@@ -3,7 +3,6 @@ package cn.com.qmth.examcloud.core.questions.api.provider;
 import io.swagger.annotations.ApiOperation;
 
 
-
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
@@ -21,57 +20,57 @@ import cn.com.qmth.examcloud.core.questions.api.response.GetPaperResp;
 import cn.com.qmth.examcloud.core.questions.service.PaperProviderService;
 
 /**
- * @author 		weiwenhai
- * @date 		20180.10.10
- * @company		qmth
- * @description	试卷对象外部接口增删改查请求接口实现类
- * @code		017
+ * @author weiwenhai
+ * @date 20180.10.10
+ * @company qmth
+ * @description 试卷对象外部接口增删改查请求接口实现类
+ * @code 017
  */
 
 @Transactional
 @RestController
 @RequestMapping("${$rmp.cloud.questions}" + "default_paper")
-public class PaperCloudServiceProvider implements PaperCloudService{
+public class PaperCloudServiceProvider implements PaperCloudService {
+
+    private static final long serialVersionUID = -7354673848303599874L;
 
-	private static final long serialVersionUID = -7354673848303599874L;
-	
-	@Autowired
-	PaperProviderService paperProviderService;
+    @Autowired
+    PaperProviderService paperProviderService;
 
-	@ApiOperation(value = "外部接口组卷", notes = "外部接口组卷")
+    @ApiOperation(value = "外部接口组卷", notes = "外部接口组卷")
     @PostMapping("/genPaper")
-	@Override
-	public GetPaperResp genPaper(@RequestBody GetQuestionListReq req) {
-		if(StringUtils.isBlank(req.getOrgId())){
-			throw new StatusException("Q-017043", "orgId is null");
-		}
-		if(StringUtils.isBlank(req.getUserName())){
-			throw new StatusException("Q-017046", "userName is null");
-		}
-		//组卷
-		String paperId = paperProviderService.genPaper(req.getQuestionIds(), req.getMap(), req.getName(), req.getOrgId(),req.getUserName());
-		GetPaperResp resp = new GetPaperResp();
-		resp.setPaperId(paperId);
-		return resp;
-	}
+    @Override
+    public GetPaperResp genPaper(@RequestBody GetQuestionListReq req) {
+        if (StringUtils.isBlank(req.getOrgId())) {
+            throw new StatusException("Q-017043", "orgId is null");
+        }
+        if (StringUtils.isBlank(req.getUserName())) {
+            throw new StatusException("Q-017046", "userName is null");
+        }
+        //组卷
+        String paperId = paperProviderService.genPaper(req.getQuestionIds(), req.getMap(), req.getName(), req.getOrgId(), req.getUserName());
+        GetPaperResp resp = new GetPaperResp();
+        resp.setPaperId(paperId);
+        return resp;
+    }
 
-	@ApiOperation(value = "外部接口组卷", notes = "外部接口组卷")
+    @ApiOperation(value = "外部接口组卷", notes = "外部接口组卷")
     @PostMapping("/examPaper")
-	@Override
-	public GetCommonResp examPaper(@RequestBody GetExtractConfigReq req) {
-		if(StringUtils.isBlank(req.getRootOrgId())){
-			throw new StatusException("Q-017063", "rootOrgId is null");
-		}
-		if(StringUtils.isBlank(req.getPaperId())){
-			throw new StatusException("Q-017066", "paperId is null");
-		}
-		if(StringUtils.isBlank(req.getExamId()+"")){
-			throw new StatusException("Q-017069", "examId is null");
-		}
-		String extractConfigId = paperProviderService.examPaper(req.getRootOrgId(), req.getPaperId(), req.getExamId());
-		GetCommonResp resp = new GetCommonResp();
-		resp.setMessage(extractConfigId);
-		return resp;
-	}
+    @Override
+    public GetCommonResp examPaper(@RequestBody GetExtractConfigReq req) {
+        if (StringUtils.isBlank(req.getRootOrgId())) {
+            throw new StatusException("Q-017063", "rootOrgId is null");
+        }
+        if (StringUtils.isBlank(req.getPaperId())) {
+            throw new StatusException("Q-017066", "paperId is null");
+        }
+        if (StringUtils.isBlank(req.getExamId() + "")) {
+            throw new StatusException("Q-017069", "examId is null");
+        }
+        String extractConfigId = paperProviderService.examPaper(req.getRootOrgId(), req.getPaperId(), req.getExamId());
+        GetCommonResp resp = new GetCommonResp();
+        resp.setMessage(extractConfigId);
+        return resp;
+    }
 
 }

+ 59 - 59
examcloud-core-questions-api-provider/src/main/java/cn/com/qmth/examcloud/core/questions/api/provider/QuestionCloudServiceProvider.java

@@ -22,74 +22,74 @@ import cn.com.qmth.examcloud.core.questions.service.QuestionProviderService;
 import cn.com.qmth.examcloud.question.commons.core.question.DefaultQuestion;
 
 /**
- * @author 		weiwenhai
- * @date 		20180.9.10
- * @company		qmth
- * @description	试题对象外部接口增删改查请求接口实现类
- * @code		011
+ * @author weiwenhai
+ * @date 20180.9.10
+ * @company qmth
+ * @description 试题对象外部接口增删改查请求接口实现类
+ * @code 011
  */
 
 @Transactional
 @RestController
 @RequestMapping("${$rmp.cloud.questions}" + "default_question")
-public class QuestionCloudServiceProvider implements QuestionCloudService{
+public class QuestionCloudServiceProvider implements QuestionCloudService {
 
-	private static final long serialVersionUID = 263247747318241591L;
-	
-	@Autowired
-	QuestionProviderService questionProviderService;
+    private static final long serialVersionUID = 263247747318241591L;
 
-	@ApiOperation(value = "保存试题")
-	@PostMapping("save")
-	@Override
-	public GetDefaultQuesionIdResp saveQuestion(@RequestBody GetDefaultQuesionReq req) {
-		DefaultQuestion defaultQuestion = req.getDefaultQuestion();
-		if(defaultQuestion.getRootOrgId() == null){
-			throw new StatusException("Q-011028", "rootOrgId is null");
-		}
-		String id = questionProviderService.save(defaultQuestion);
-		GetDefaultQuesionIdResp resp = new GetDefaultQuesionIdResp();
-		resp.setId(id);
-		return resp;
-	}
+    @Autowired
+    QuestionProviderService questionProviderService;
 
-	@ApiOperation(value = "修改试题")
-	@PostMapping("update")
-	@Override
-	public GetDefaultQuesionIdResp updateQuestion(@RequestBody GetDefaultQuesionReq req) {
-		DefaultQuestion defaultQuestion = req.getDefaultQuestion();
-		if(defaultQuestion.getRootOrgId() == null){
-			throw new StatusException("Q-011058", "rootOrgId is null");
-		}
-		String id = questionProviderService.save(defaultQuestion);
-		GetDefaultQuesionIdResp resp = new GetDefaultQuesionIdResp();
-		resp.setId(id);
-		return resp;
-	}
+    @ApiOperation(value = "保存试题")
+    @PostMapping("save")
+    @Override
+    public GetDefaultQuesionIdResp saveQuestion(@RequestBody GetDefaultQuesionReq req) {
+        DefaultQuestion defaultQuestion = req.getDefaultQuestion();
+        if (defaultQuestion.getRootOrgId() == null) {
+            throw new StatusException("Q-011028", "rootOrgId is null");
+        }
+        String id = questionProviderService.save(defaultQuestion);
+        GetDefaultQuesionIdResp resp = new GetDefaultQuesionIdResp();
+        resp.setId(id);
+        return resp;
+    }
 
-	@ApiOperation(value = "查询试题")
-	@PostMapping("find")
-	@Override
-	public GetDefaultQuestionsResp findQuestions(@RequestBody GetDefaultQuesionsReq req) {
-		Long rootOrgId = req.getRootOrgId();
-		if(rootOrgId == null){
-			throw new StatusException("Q-011058", "rootOrgId is null");
-		}
-		Page<DefaultQuestion> defaultQuestions = questionProviderService.findQustions(rootOrgId,req.getProperties(),req.getCurPage(),req.getPageSize());
-		GetDefaultQuestionsResp resp = new GetDefaultQuestionsResp();
-		resp.setDefaultQuestions(defaultQuestions);
-		return resp;
-	}
+    @ApiOperation(value = "修改试题")
+    @PostMapping("update")
+    @Override
+    public GetDefaultQuesionIdResp updateQuestion(@RequestBody GetDefaultQuesionReq req) {
+        DefaultQuestion defaultQuestion = req.getDefaultQuestion();
+        if (defaultQuestion.getRootOrgId() == null) {
+            throw new StatusException("Q-011058", "rootOrgId is null");
+        }
+        String id = questionProviderService.save(defaultQuestion);
+        GetDefaultQuesionIdResp resp = new GetDefaultQuesionIdResp();
+        resp.setId(id);
+        return resp;
+    }
 
-	@ApiOperation(value = "保存多个试题")
-	@PostMapping("save_list")
-	@Override
-	public GetCommonResp saveQuestionList(@RequestBody GetDefaultQuesionListReq req) {
-		List<DefaultQuestion> defaultQuestions = req.getDefaultQuestions();
-		String message = questionProviderService.saveList(defaultQuestions);
-		GetCommonResp resp = new GetCommonResp();
-		resp.setMessage(message);
-		return resp;
-	}
+    @ApiOperation(value = "查询试题")
+    @PostMapping("find")
+    @Override
+    public GetDefaultQuestionsResp findQuestions(@RequestBody GetDefaultQuesionsReq req) {
+        Long rootOrgId = req.getRootOrgId();
+        if (rootOrgId == null) {
+            throw new StatusException("Q-011058", "rootOrgId is null");
+        }
+        Page<DefaultQuestion> defaultQuestions = questionProviderService.findQustions(rootOrgId, req.getProperties(), req.getCurPage(), req.getPageSize());
+        GetDefaultQuestionsResp resp = new GetDefaultQuestionsResp();
+        resp.setDefaultQuestions(defaultQuestions);
+        return resp;
+    }
+
+    @ApiOperation(value = "保存多个试题")
+    @PostMapping("save_list")
+    @Override
+    public GetCommonResp saveQuestionList(@RequestBody GetDefaultQuesionListReq req) {
+        List<DefaultQuestion> defaultQuestions = req.getDefaultQuestions();
+        String message = questionProviderService.saveList(defaultQuestions);
+        GetCommonResp resp = new GetCommonResp();
+        resp.setMessage(message);
+        return resp;
+    }
 
 }

+ 14 - 14
examcloud-core-questions-api-provider/src/main/java/cn/com/qmth/examcloud/service/core/api/initQuesHash/InitQuesHashController.java

@@ -14,23 +14,23 @@ import cn.com.qmth.examcloud.web.support.ControllerSupport;
 import cn.com.qmth.examcloud.core.questions.service.initQuesHash.InitQuesHashService;
 
 /**
- * @author 		weiwenhai
- * @date 		2018.7.17
- * @company		qmth
- * @describle	初始化所有题目题干的Hash
+ * @author weiwenhai
+ * @date 2018.7.17
+ * @company qmth
+ * @describle 初始化所有题目题干的Hash
  */
 
 @RestController
 @RequestMapping("${api_cqb}/")
-public class InitQuesHashController extends ControllerSupport{
+public class InitQuesHashController extends ControllerSupport {
 
-	@Autowired
-	private InitQuesHashService initQuesHashService;
-	
-	@ApiOperation(value="根据机构初始化题干hash", notes="根据机构初始化题干hash")
-	@GetMapping(value="/initQuesHash/{orgId}")
-	public ResponseEntity<Object> initQuesHash(@PathVariable String orgId){
-		initQuesHashService.initHash(orgId);
-		return new ResponseEntity<Object>(HttpStatus.OK);
-	}
+    @Autowired
+    private InitQuesHashService initQuesHashService;
+
+    @ApiOperation(value = "根据机构初始化题干hash", notes = "根据机构初始化题干hash")
+    @GetMapping(value = "/initQuesHash/{orgId}")
+    public ResponseEntity<Object> initQuesHash(@PathVariable String orgId) {
+        initQuesHashService.initHash(orgId);
+        return new ResponseEntity<Object>(HttpStatus.OK);
+    }
 }

+ 3 - 5
examcloud-core-questions-api-provider/src/test/java/org/examcloud/core/questions/api/provider/AppTest.java

@@ -7,14 +7,12 @@ import org.junit.Test;
 /**
  * Unit test for simple App.
  */
-public class AppTest 
-{
+public class AppTest {
     /**
      * Rigorous Test :-)
      */
     @Test
-    public void shouldAnswerWithTrue()
-    {
-        assertTrue( true );
+    public void shouldAnswerWithTrue() {
+        assertTrue(true);
     }
 }