Переглянути джерело

Merge branch 'dev0410' of https://git.oschina.net/songyue123456/comm-ques-bank into dev0410

chenken 7 роки тому
батько
коміт
cf98727b12

+ 4 - 0
cqb-paper/src/main/java/com/qmth/cqb/paper/dao/AudioTimeConfigRepo.java

@@ -1,5 +1,7 @@
 package com.qmth.cqb.paper.dao;
 
+import java.util.List;
+
 import org.springframework.data.mongodb.repository.MongoRepository;
 import org.springframework.data.repository.query.QueryByExampleExecutor;
 
@@ -18,6 +20,8 @@ public interface AudioTimeConfigRepo  extends MongoRepository<AudioTimeConfig,St
 	 * @param examId
 	 */
 	public void deleteByExamId(String examId);
+	
+	List<AudioTimeConfig> findByExamIdAndCourseCode(String examId,String courseCode);
 
 }
 

+ 11 - 0
cqb-paper/src/main/java/com/qmth/cqb/paper/model/AudioTimeConfig.java

@@ -27,6 +27,11 @@ public class AudioTimeConfig implements Serializable {
 	 * 考试名称
 	 */
 	private String examName;
+	
+	/**
+	 * 课程ID
+	 */
+	private String courseCode;
 	/**
      * 关联试卷
      */
@@ -104,5 +109,11 @@ public class AudioTimeConfig implements Serializable {
 	public void setGroupCode(String groupCode) {
 		this.groupCode = groupCode;
 	}
+	public String getCourseCode() {
+		return courseCode;
+	}
+	public void setCourseCode(String courseCode) {
+		this.courseCode = courseCode;
+	}
 }
 

+ 8 - 1
cqb-paper/src/main/java/com/qmth/cqb/paper/service/AudioTimeConfigService.java

@@ -35,12 +35,19 @@ public interface AudioTimeConfigService {
 	 * @param audioTimeConfig
 	 * @return
 	 */
-	public List<AudioTimeConfig> findAudioTimeConfigList(AudioTimeConfig audioTimeConfig);
+	public List<AudioTimeConfig> findAudioTimeConfigList(List<AudioTimeConfig> audioTimeConfigModelList);
 	
 	/**
 	 * 新增音频播放次数
 	 * @param audioTimeConfig
 	 */
 	public void addAudioTimeConfig(AudioTimeConfig audioTimeConfig);
+	
+	/**
+	 * 根据考试id和课程id查询音频试题
+	 * @param examId
+	 * @return
+	 */
+	public List<AudioTimeConfig> findAudioTimeConfigByExamId(String examId,String courseCode);
 }
 

+ 38 - 20
cqb-paper/src/main/java/com/qmth/cqb/paper/service/impl/AudioTimeConfigServiceImpl.java

@@ -10,6 +10,7 @@ import org.springframework.stereotype.Service;
 
 import cn.com.qmth.examcloud.common.uac.entity.AccessUser;
 
+import com.netflix.infix.lang.infix.antlr.EventFilterParser.null_predicate_return;
 import com.qmth.cqb.paper.dao.AudioTimeConfigRepo;
 import com.qmth.cqb.paper.dao.PaperDetailUnitRepo;
 import com.qmth.cqb.paper.dao.PaperRepo;
@@ -18,6 +19,7 @@ import com.qmth.cqb.paper.model.Paper;
 import com.qmth.cqb.paper.model.PaperDetailUnit;
 import com.qmth.cqb.paper.service.AudioTimeConfigService;
 import com.qmth.cqb.question.model.Question;
+import com.qmth.cqb.question.service.QuesService;
 
 /**
  * @author  	chenken
@@ -37,6 +39,9 @@ public class AudioTimeConfigServiceImpl implements AudioTimeConfigService{
 	@Autowired
 	private PaperDetailUnitRepo paperDetailUnitRepo;
 	
+	@Autowired
+	private QuesService quesService;
+	
 	@Override
 	public void saveAudioTimeConfig(List<AudioTimeConfig> audioTimeConfigs,AccessUser user) {
 		this.deleteByExamId(audioTimeConfigs.get(0).getExamId());
@@ -59,27 +64,31 @@ public class AudioTimeConfigServiceImpl implements AudioTimeConfigService{
 	}
 
 	@Override
-	public List<AudioTimeConfig> findAudioTimeConfigList(AudioTimeConfig audioTimeConfig) {
+	public List<AudioTimeConfig> findAudioTimeConfigList(List<AudioTimeConfig> audioTimeConfigModelList) {
 		List<AudioTimeConfig> audioTimeConfigList = new ArrayList<AudioTimeConfig>();
-	    Paper paper = paperRepo.findOne(audioTimeConfig.getPaper().getId());
-	    //判断是否为音频卷
-	    if(paper.getHasAudio()){
-	    	//根据试卷查询所有小题
-	    	List<PaperDetailUnit> list = paperDetailUnitRepo.findByPaper(paper);
-	    	for(PaperDetailUnit paperDetailUnit:list){
-	    		if(paperDetailUnit.getQuestion().getHasAudio()){
-	    			AudioTimeConfig audioTimeCon = new AudioTimeConfig();
-	    			audioTimeCon.setExamId(audioTimeConfig.getExamId());
-	    			audioTimeCon.setExamName(audioTimeConfig.getExamName());
-	    			audioTimeCon.setGroupCode(audioTimeConfig.getGroupCode());
-	    			audioTimeCon.setPaper(paper);
-	    			audioTimeCon.setPaperDetailUnit(paperDetailUnit);
-	    			audioTimeConfigList.add(audioTimeCon);
-	    		}
-	    	}
-	    	return audioTimeConfigList;
-	    }
-		return null;
+		for(AudioTimeConfig audioTimeConfig:audioTimeConfigModelList){
+			Paper paper = paperRepo.findOne(audioTimeConfig.getPaper().getId());
+			//判断是否为音频卷
+		    if(paper != null && paper.getHasAudio() != null && paper.getHasAudio() == true){
+		    	//根据试卷查询所有小题
+		    	List<PaperDetailUnit> list = paperDetailUnitRepo.findByPaper(paper);
+		    	for(PaperDetailUnit paperDetailUnit:list){
+		    		if(paperDetailUnit.getQuestion().getHasAudio() != null && paperDetailUnit.getQuestion().getHasAudio() == true){
+		    			AudioTimeConfig audioTimeCon = new AudioTimeConfig();
+		    			audioTimeCon.setExamId(audioTimeConfig.getExamId());
+		    			audioTimeCon.setExamName(audioTimeConfig.getExamName());
+		    			audioTimeCon.setGroupCode(audioTimeConfig.getGroupCode());
+		    			audioTimeCon.setPaper(paper);
+		    			audioTimeCon.setCourseCode(audioTimeConfig.getCourseCode());
+		    			quesService.formatQues(paperDetailUnit.getQuestion());
+		    			audioTimeCon.setPaperDetailUnit(paperDetailUnit);
+		    			audioTimeConfigList.add(audioTimeCon);
+		    		}
+		    	}
+		    	
+		    }
+		}
+		return audioTimeConfigList;
 	}
 
 	@Override
@@ -88,5 +97,14 @@ public class AudioTimeConfigServiceImpl implements AudioTimeConfigService{
 		audioTimeConfigRepo.save(audioTimeConfig);
 	}
 
+	@Override
+	public List<AudioTimeConfig> findAudioTimeConfigByExamId(String examId,String courseCode) {
+		List<AudioTimeConfig> list = audioTimeConfigRepo.findByExamIdAndCourseCode(examId,courseCode);
+		for(AudioTimeConfig audioTimeConfig : list){
+			quesService.formatQues(audioTimeConfig.getPaperDetailUnit().getQuestion());
+		}
+		return list;
+	}
+
 }
 

+ 9 - 11
cqb-paper/src/main/java/com/qmth/cqb/paper/web/AudioTimeConfigController.java

@@ -2,6 +2,7 @@ package com.qmth.cqb.paper.web;
 
 import io.swagger.annotations.ApiOperation;
 
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 
@@ -38,28 +39,25 @@ public class AudioTimeConfigController {
 	private AudioTimeConfigService audioTimeConfigService;
 	
 	@ApiOperation(value = "根据examId查询音频设置 ", notes = "根据examId查询音频设置")
-	@PostMapping(value = "/audioTimeConfig/{examId}")
-	public ResponseEntity findAudioTimeConfig(@PathVariable String examId){
-		AudioTimeConfig audioTimeConfig = new AudioTimeConfig();
-		audioTimeConfig.setExamId(examId);
-		List<AudioTimeConfig> audioTimeConfigs = audioTimeConfigService.findByAudioTimeConfig(audioTimeConfig);
+	@PostMapping(value = "/audioTimeConfig/{examId}/{courseCode}")
+	public ResponseEntity findAudioTimeConfig(@PathVariable String examId,@PathVariable String courseCode){
+		List<AudioTimeConfig> audioTimeConfigs = audioTimeConfigService.findAudioTimeConfigByExamId(examId,courseCode);
 		return new ResponseEntity(audioTimeConfigs,HttpStatus.OK);
 	}
 	
 	@ApiOperation(value="根据传入的对象查询音频题",notes="根据传入的对象查询音频题")
-	@GetMapping("/audioTimeConfig/all")
-	public ResponseEntity findAudioTimeConfigList(@ModelAttribute AudioTimeConfig audioTimeConfig){
-		List<AudioTimeConfig> list = audioTimeConfigService.findAudioTimeConfigList(audioTimeConfig);
+	@PostMapping("/audioTimeConfig/all")
+	public ResponseEntity findAudioTimeConfigList(@RequestBody List<AudioTimeConfig> audioTimeConfigModelList){
+		List<AudioTimeConfig> list = audioTimeConfigService.findAudioTimeConfigList(audioTimeConfigModelList);
 		return new ResponseEntity(list,HttpStatus.OK);
 	}
 	
 	@ApiOperation(value="新增音频播放次数",notes="新增音频播放次数")
 	@PostMapping("/addAudioTimeConfig")
-	public ResponseEntity addAudioTimeConfig(@RequestBody AudioTimeConfig audioTimeConfig,HttpServletRequest request){
+	public ResponseEntity addAudioTimeConfig(@RequestBody List<AudioTimeConfig> audioTimeConfigList,HttpServletRequest request){
 		AccessUser accessUser = (AccessUser)request.getAttribute("accessUser");
 		if(accessUser != null){
-			audioTimeConfig.setCreateUser(accessUser.getName());
-			audioTimeConfigService.addAudioTimeConfig(audioTimeConfig);
+			audioTimeConfigService.saveAudioTimeConfig(audioTimeConfigList, accessUser);
 			return new ResponseEntity(HttpStatus.OK);
 		}
 		return new ResponseEntity(HttpStatus.NOT_FOUND);