deason 5 rokov pred
rodič
commit
661bbda839

+ 2 - 4
examcloud-core-questions-dao/src/main/java/cn/com/qmth/examcloud/core/questions/dao/QuestionAudioRepo.java

@@ -10,15 +10,13 @@ import java.util.List;
  * @author chenken
  * @date 2017年8月1日 上午11:31:23
  * @company QMTH
- * @description QuestionRadioRepo.java
  */
 public interface QuestionAudioRepo extends MongoRepository<QuestionAudio, String>, QueryByExampleExecutor<QuestionAudio> {
 
     public List<QuestionAudio> findByQuestionId(String questionId);
 
-    public QuestionAudio findByQuestionIdAndFileName(String questionId, String fileName);
+    public List<QuestionAudio> findByQuestionIdAndFileName(String questionId, String fileName);
 
     public List<QuestionAudio> findByQuestionIdIn(List<String> ids);
 
-}
-
+}

+ 11 - 3
examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/impl/QuestionAudioServiceImpl.java

@@ -10,6 +10,7 @@ import cn.com.qmth.examcloud.core.questions.dao.entity.QuestionAudio;
 import cn.com.qmth.examcloud.core.questions.service.QuestionAudioService;
 import cn.com.qmth.examcloud.core.questions.service.config.SysProperty;
 import main.java.com.UpYun;
+import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -39,7 +40,7 @@ public class QuestionAudioServiceImpl implements QuestionAudioService {
 
     @Override
     public void saveQuestionAudio(QuestionAudio questionAudio, User user) {
-        QuestionAudio questionAudio2 = findByQuestionIdAndFileName(questionAudio.getQuestionId(), questionAudio.getFileName());
+        QuestionAudio questionAudio2 = this.findByQuestionIdAndFileName(questionAudio.getQuestionId(), questionAudio.getFileName());
         if (questionAudio2 != null) {
             questionAudio.setId(questionAudio2.getId());
             UpYun upYun = new UpYun(sysProperty.getBucketName(), sysProperty.getUserName(), sysProperty.getPassword());
@@ -62,7 +63,13 @@ public class QuestionAudioServiceImpl implements QuestionAudioService {
         if (StringUtils.isBlank(questionId) || StringUtils.isBlank(fileName)) {
             return null;
         }
-        return questionAudioRepo.findByQuestionIdAndFileName(questionId, fileName);
+
+        List<QuestionAudio> audioList = questionAudioRepo.findByQuestionIdAndFileName(questionId, fileName);
+        if (CollectionUtils.isNotEmpty(audioList)) {
+            return audioList.get(0);
+        }
+
+        return null;
     }
 
     @Override
@@ -76,6 +83,7 @@ public class QuestionAudioServiceImpl implements QuestionAudioService {
                     buffer.append(option.getOptionBody());
                 }
             }
+
             String questionBodyAndOptionStr = buffer.toString();
             Iterator<QuestionAudio> audioIterator = questionAudios.iterator();
             while (audioIterator.hasNext()) {
@@ -147,7 +155,7 @@ public class QuestionAudioServiceImpl implements QuestionAudioService {
             String fileName = key;
             String value = map.get(key).replace("@temp", "");
             str = str.replace(map.get(key), value);
-            QuestionAudio questionAudio = questionAudioRepo.findByQuestionIdAndFileName(question.getId(), fileName);
+            QuestionAudio questionAudio = this.findByQuestionIdAndFileName(question.getId(), fileName);
             questionAudio.setFileName(value);
             questionAudioRepo.save(questionAudio);
         }