|
@@ -6,13 +6,13 @@ import java.util.HashMap;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
|
|
|
+import org.apache.commons.lang3.StringUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.data.domain.Example;
|
|
|
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;
|
|
@@ -20,120 +20,127 @@ 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;
|
|
|
import com.qmth.cqb.question.service.QuesService;
|
|
|
-
|
|
|
-/**
|
|
|
- * @author chenken
|
|
|
- * @date 2017年8月10日 下午3:16:12
|
|
|
- * @company QMTH
|
|
|
- * @description 音频次数设置service
|
|
|
- */
|
|
|
-@Service("audioTimeConfigService")
|
|
|
-public class AudioTimeConfigServiceImpl implements AudioTimeConfigService{
|
|
|
-
|
|
|
- @Autowired
|
|
|
- private AudioTimeConfigRepo audioTimeConfigRepo;
|
|
|
-
|
|
|
- @Autowired
|
|
|
- private PaperRepo paperRepo;
|
|
|
-
|
|
|
- @Autowired
|
|
|
- private PaperDetailUnitRepo paperDetailUnitRepo;
|
|
|
-
|
|
|
- @Autowired
|
|
|
- private QuesService quesService;
|
|
|
-
|
|
|
- @Override
|
|
|
- public void saveAudioTimeConfig(List<AudioTimeConfig> audioTimeConfigs,AccessUser user) {
|
|
|
- this.deleteByExamIdAndCourseCode(audioTimeConfigs.get(0).getExamId(),audioTimeConfigs.get(0).getCourseCode());
|
|
|
-
|
|
|
- for(AudioTimeConfig audioTimeConfig:audioTimeConfigs){
|
|
|
- audioTimeConfig.setCreateDate(new Date());
|
|
|
- audioTimeConfig.setCreateUser(user.getName());
|
|
|
- }
|
|
|
- audioTimeConfigRepo.save(audioTimeConfigs);
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public List<AudioTimeConfig> findByAudioTimeConfig(AudioTimeConfig audioTimeConfig) {
|
|
|
- return audioTimeConfigRepo.findAll(Example.of(audioTimeConfig));
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public void deleteByExamIdAndCourseCode(String examId,String courseCode) {
|
|
|
- audioTimeConfigRepo.deleteByExamIdAndCourseCode(examId,courseCode);
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public List<AudioTimeConfig> findAudioTimeConfigList(List<AudioTimeConfig> audioTimeConfigModelList) {
|
|
|
- List<AudioTimeConfig> audioTimeConfigList = new ArrayList<AudioTimeConfig>();
|
|
|
- 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
|
|
|
- public void addAudioTimeConfig(AudioTimeConfig audioTimeConfig) {
|
|
|
- audioTimeConfig.setCreateDate(new Date());
|
|
|
- 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;
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public Map findAudioTimeConfigByExamIdAndCourseCodeAndGroupCodeAndPaperDetailUnit(
|
|
|
- String examId, String courseCode, String groupCode,String paperDetailUnitId) {
|
|
|
- Map map = new HashMap();
|
|
|
- if(examId == null || examId.length() <= 0){
|
|
|
- map.put("errMessage", "examId为空");
|
|
|
- return map;
|
|
|
- }
|
|
|
- if(courseCode == null || examId.length() <= 0){
|
|
|
- map.put("errMessage", "courseCode为空");
|
|
|
- return map;
|
|
|
- }
|
|
|
- if(groupCode == null || examId.length() <= 0){
|
|
|
- map.put("errMessage", "groupCode为空");
|
|
|
- return map;
|
|
|
- }
|
|
|
- if(paperDetailUnitId == null || examId.length() <= 0){
|
|
|
- map.put("errMessage", "paperDetailUnitId为空");
|
|
|
- return map;
|
|
|
- }
|
|
|
- PaperDetailUnit paperDetailUnit = paperDetailUnitRepo.findOne(paperDetailUnitId);
|
|
|
- AudioTimeConfig audioTimeConfig = audioTimeConfigRepo.findAudioTimeConfigByExamIdAndCourseCodeAndGroupCodeAndPaperDetailUnit(examId, courseCode, groupCode, paperDetailUnit);
|
|
|
- Integer playTime = audioTimeConfig.getPlayTime();
|
|
|
- map.put("playTime", playTime);
|
|
|
- return map;
|
|
|
- }
|
|
|
-
|
|
|
-}
|
|
|
-
|
|
|
+
|
|
|
+/**
|
|
|
+ * @author chenken
|
|
|
+ * @date 2017年8月10日 下午3:16:12
|
|
|
+ * @company QMTH
|
|
|
+ * @description 音频次数设置service
|
|
|
+ */
|
|
|
+@Service("audioTimeConfigService")
|
|
|
+public class AudioTimeConfigServiceImpl implements AudioTimeConfigService{
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private AudioTimeConfigRepo audioTimeConfigRepo;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private PaperRepo paperRepo;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private PaperDetailUnitRepo paperDetailUnitRepo;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private QuesService quesService;
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void saveAudioTimeConfig(List<AudioTimeConfig> audioTimeConfigs,AccessUser user) {
|
|
|
+ this.deleteByExamIdAndCourseCode(audioTimeConfigs.get(0).getExamId(),audioTimeConfigs.get(0).getCourseCode());
|
|
|
+
|
|
|
+ for(AudioTimeConfig audioTimeConfig:audioTimeConfigs){
|
|
|
+ audioTimeConfig.setCreateDate(new Date());
|
|
|
+ audioTimeConfig.setCreateUser(user.getName());
|
|
|
+ }
|
|
|
+ audioTimeConfigRepo.save(audioTimeConfigs);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<AudioTimeConfig> findByAudioTimeConfig(AudioTimeConfig audioTimeConfig) {
|
|
|
+ return audioTimeConfigRepo.findAll(Example.of(audioTimeConfig));
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void deleteByExamIdAndCourseCode(String examId,String courseCode) {
|
|
|
+ audioTimeConfigRepo.deleteByExamIdAndCourseCode(examId,courseCode);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<AudioTimeConfig> findAudioTimeConfigList(List<AudioTimeConfig> audioTimeConfigModelList) {
|
|
|
+ List<AudioTimeConfig> audioTimeConfigList = new ArrayList<AudioTimeConfig>();
|
|
|
+ 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
|
|
|
+ public void addAudioTimeConfig(AudioTimeConfig audioTimeConfig) {
|
|
|
+ audioTimeConfig.setCreateDate(new Date());
|
|
|
+ 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;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public Map<String, String> findAudioTimeConfigByExamIdAndCourseCodeAndGroupCodeAndPaperDetailUnit(
|
|
|
+ String examId, String courseCode, String groupCode,String paperDetailUnitId) {
|
|
|
+ Map<String, String> map = new HashMap<String, String>();
|
|
|
+ if(StringUtils.isNotBlank(examId)){
|
|
|
+ map.put("errMessage", "examId为空");
|
|
|
+ return map;
|
|
|
+ }
|
|
|
+ if(StringUtils.isNotBlank(courseCode)){
|
|
|
+ map.put("errMessage", "courseCode为空");
|
|
|
+ return map;
|
|
|
+ }
|
|
|
+ if(StringUtils.isNotBlank(groupCode)){
|
|
|
+ map.put("errMessage", "groupCode为空");
|
|
|
+ return map;
|
|
|
+ }
|
|
|
+ if(StringUtils.isNotBlank(paperDetailUnitId)){
|
|
|
+ map.put("errMessage", "paperDetailUnitId为空");
|
|
|
+ return map;
|
|
|
+ }
|
|
|
+ PaperDetailUnit paperDetailUnit = paperDetailUnitRepo.findOne(paperDetailUnitId);
|
|
|
+ AudioTimeConfig audioTime = new AudioTimeConfig();
|
|
|
+ audioTime.setCourseCode(courseCode);
|
|
|
+ audioTime.setExamId(examId);
|
|
|
+ audioTime.setGroupCode(groupCode);
|
|
|
+ audioTime.setPaperDetailUnit(paperDetailUnit);
|
|
|
+ AudioTimeConfig audioTimeConfig = audioTimeConfigRepo.findOne(Example.of(audioTime));
|
|
|
+ if(audioTimeConfig == null){
|
|
|
+ map.put("errMessage", "音频次数未设置");
|
|
|
+ return map;
|
|
|
+ }
|
|
|
+ Integer playTime = audioTimeConfig.getPlayTime();
|
|
|
+ map.put("playTime", playTime.toString());
|
|
|
+ return map;
|
|
|
+ }
|
|
|
+
|
|
|
+}
|