Bläddra i källkod

提交音频次数设置代码

weiwenhai 7 år sedan
förälder
incheckning
8701ba5250

+ 42 - 0
cqb-paper/src/main/java/com/qmth/cqb/paper/service/impl/AudioTimeConfigServiceImpl.java

@@ -1,5 +1,6 @@
 package com.qmth.cqb.paper.service.impl;
 
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 
@@ -10,8 +11,13 @@ import org.springframework.stereotype.Service;
 import cn.com.qmth.examcloud.common.uac.entity.AccessUser;
 
 import com.qmth.cqb.paper.dao.AudioTimeConfigRepo;
+import com.qmth.cqb.paper.dao.PaperDetailUnitRepo;
+import com.qmth.cqb.paper.dao.PaperRepo;
 import com.qmth.cqb.paper.model.AudioTimeConfig;
+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;
 
 /**
  * @author  	chenken
@@ -25,6 +31,12 @@ public class AudioTimeConfigServiceImpl implements AudioTimeConfigService{
 	@Autowired
 	private AudioTimeConfigRepo audioTimeConfigRepo;
 	
+	@Autowired
+	private PaperRepo paperRepo;
+	
+	@Autowired
+	private PaperDetailUnitRepo paperDetailUnitRepo;
+	
 	@Override
 	public void saveAudioTimeConfig(List<AudioTimeConfig> audioTimeConfigs,AccessUser user) {
 		this.deleteByExamId(audioTimeConfigs.get(0).getExamId());
@@ -46,5 +58,35 @@ public class AudioTimeConfigServiceImpl implements AudioTimeConfigService{
 		audioTimeConfigRepo.deleteByExamId(examId);
 	}
 
+	@Override
+	public List<AudioTimeConfig> findAudioTimeConfigList(AudioTimeConfig audioTimeConfig) {
+		List<AudioTimeConfig> audioTimeConfigList = new ArrayList<AudioTimeConfig>();
+	    Paper paper = paperRepo.findOne(audioTimeConfig.getPaper().getId());
+	    //判断是否为音频卷
+	    if(paper.getHasAudioQuestion()){
+	    	//根据试卷查询所有小题
+	    	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;
+	}
+
+	@Override
+	public void addAudioTimeConfig(AudioTimeConfig audioTimeConfig) {
+		audioTimeConfig.setCreateDate(new Date());
+		audioTimeConfigRepo.save(audioTimeConfig);
+	}
+
 }
 

+ 27 - 0
cqb-paper/src/main/java/com/qmth/cqb/paper/web/AudioTimeConfigController.java

@@ -2,17 +2,25 @@ package com.qmth.cqb.paper.web;
 
 import io.swagger.annotations.ApiOperation;
 
+import java.util.Date;
 import java.util.List;
 
+import javax.servlet.http.HttpServletRequest;
+
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.ResponseEntity;
 import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.ModelAttribute;
 import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 
+import cn.com.qmth.examcloud.common.uac.entity.AccessUser;
+
+import com.qmth.cqb.paper.dao.AudioTimeConfigRepo;
 import com.qmth.cqb.paper.model.AudioTimeConfig;
 import com.qmth.cqb.paper.model.ExamFile;
 import com.qmth.cqb.paper.service.AudioTimeConfigService;
@@ -39,5 +47,24 @@ public class AudioTimeConfigController {
 		return new ResponseEntity(audioTimeConfigs,HttpStatus.OK);
 	}
 	
+	@ApiOperation(value="根据传入的对象查询音频题",notes="根据传入的对象查询音频题")
+	@GetMapping("/audioTimeConfig/all")
+	public ResponseEntity findAudioTimeConfigList(@ModelAttribute AudioTimeConfig audioTimeConfig){
+		List<AudioTimeConfig> list = audioTimeConfigService.findAudioTimeConfigList(audioTimeConfig);
+		return new ResponseEntity(list,HttpStatus.OK);
+	}
+	
+	@ApiOperation(value="新增音频播放次数",notes="新增音频播放次数")
+	@PostMapping("/addAudioTimeConfig")
+	public ResponseEntity addAudioTimeConfig(@RequestBody AudioTimeConfig audioTimeConfig,HttpServletRequest request){
+		AccessUser accessUser = (AccessUser)request.getAttribute("accessUser");
+		if(accessUser != null){
+			audioTimeConfig.setCreateUser(accessUser.getName());
+			audioTimeConfigService.addAudioTimeConfig(audioTimeConfig);
+			return new ResponseEntity(HttpStatus.OK);
+		}
+		return new ResponseEntity(HttpStatus.NOT_FOUND);
+	}
+	
 }