Răsfoiți Sursa

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

weiwenhai 7 ani în urmă
părinte
comite
51af05c9dd

+ 3 - 3
cqb-comm-utils/src/main/java/com/qmth/cqb/utils/StringSimilarityUtils.java

@@ -272,13 +272,12 @@ public class StringSimilarityUtils {
      * @return
      */
     public static String stringFilter(String str) {
-        String regEx = "[_`~!@#$%^&*()+=|{}':;',\\[\\].<>/?~!@#¥%……&*()——+|{}【】‘;:”“’。,、?]";
+        String regEx = "\\&[a-zA-Z]{1,10};|[_`~!@#$%^&*()+=|{}':;',\\[\\].<>/?~!@#¥%……&*()——+|{}【】‘;:”“’。,、?]";
         return str.replaceAll(regEx, "").trim();
-
     }
 
     public static void main(String[] args) {
-        String str1 = "秦汉以i am filter he is hehe abc来的公文程式构成有\n<><>_________________ !!!!!";
+        String str1 = "秦汉以i am filter he is hehe abc来的公文程式构成有\n<><>_________________ !!!!!&nbsp;&copy;&lt;&gt;&nbsp;&nbsp;";
         String str2 = "More roads than one lead to the mountain village.";
         // System.out.println(StringSimilarityUtils.stringFilter(str1));
         // System.out.println(StringSimilarityUtils.stringFilter(str2));
@@ -293,6 +292,7 @@ public class StringSimilarityUtils {
         // System.out.println(similarity_cos);
         // System.out.println(similarity_dice);
         // System.out.println(similarity_diceopt);
+        System.out.println(stringFilter(str1));
         System.out.println(segmentText(stringFilter(str1)));
     }
 }

+ 4 - 2
cqb-comm-utils/src/main/java/com/qmth/cqb/utils/word/DocxProcessUtil.java

@@ -271,7 +271,7 @@ public final class DocxProcessUtil {
         String htmlStr = formatHtmlByPath(tmpHtmlPath);
         // 删除临时html文件
         FileUtils.deleteQuietly(tmpHtml);
-
+        FileUtils.deleteQuietly(new File(TEMP_FILE_IMP + "_files"));
         return htmlStr;
     }
 
@@ -450,6 +450,7 @@ public final class DocxProcessUtil {
      * @return
      */
     public static String getTextInHtml(String htmlStr){
+        htmlStr = htmlStr.replaceAll("\\&[a-zA-Z]{1,10};", "").trim();
         if(!htmlStr.startsWith("<p>")){
             return htmlStr;
         }
@@ -457,8 +458,9 @@ public final class DocxProcessUtil {
             org.jsoup.nodes.Document doc = Jsoup.parse(htmlStr);
             String textStr = "";
             Elements links = doc.select("p").removeAttr("img");
+
             for (Element link : links) {
-                textStr += link.text();
+                textStr += link.text().trim();
             }
             return textStr;
         } catch (Exception e) {

+ 18 - 16
cqb-paper/src/main/java/com/qmth/cqb/paper/service/impl/ExtractConfigServiceImpl.java

@@ -554,23 +554,23 @@ public class ExtractConfigServiceImpl implements ExtractConfigService {
 	 * @param questionDto
 	 */ 
 	private void buildQuestionDto(QuestionDto questionDto, String examId,String courseCode,String groupCode){
-		//判断questionDto是否含有音频,如果有添加音频播放次数
 		if(questionDto.getHasAudio() != null && questionDto.getHasAudio() == true){
+			//1.判断questionDto是否含有音频,如果有添加音频播放次数
 			AudioTimeConfig audioTimeConfig = audioTimeConfigRepo.findOne(Example.of(new AudioTimeConfig(examId,courseCode,groupCode,questionDto.getId())));
 			questionDto.setPlayTime(audioTimeConfig != null?audioTimeConfig.getPlayTime():null);
+			//2.1 取到题干,给a标签添加url
+			String quesBody = questionDto.getQuesBody();
+			questionDto.setQuesBody(buildBody(quesBody, questionDto));
+			//2.2取到选项,给a标签添加url
+			List<QuesOptionDto> quesOptionDtoList = questionDto.getQuesOptions();
+			if(quesOptionDtoList!=null&&quesOptionDtoList.size()>0){
+				for(QuesOptionDto quesOptionDto:quesOptionDtoList){
+					quesOptionDto.setOptionBody(buildBody(quesOptionDto.getOptionBody(), questionDto));
+				}
+			}
 		}else {
 			questionDto.setPlayTime(null);
 		}
-		//2.1 取到题干,给a标签添加url
-		String quesBody = questionDto.getQuesBody();
-		questionDto.setQuesBody(buildBody(quesBody, questionDto));
-		//2.2取到选项,给a标签添加url
-		List<QuesOptionDto> quesOptionDtoList = questionDto.getQuesOptions();
-		if(quesOptionDtoList!=null&&quesOptionDtoList.size()>0){
-			for(QuesOptionDto quesOptionDto:quesOptionDtoList){
-				quesOptionDto.setOptionBody(buildBody(quesOptionDto.getOptionBody(), questionDto));
-			}
-		}
 	}
 	
 	//给题目和选项添加url
@@ -583,11 +583,13 @@ public class ExtractConfigServiceImpl implements ExtractConfigService {
 				if(containAStr.indexOf("<a")>-1){
 					String questionAudioId = matchAudioName(containAStr, "a", "id");
 					QuestionAudio questionAudio = questionAudioService.findAudioById(questionAudioId);
-					String url = downloadUrl + questionAudio.getFileUrl();
-					if(questionDto.getPlayTime()!=null){
-						containAStr += " question-audio url=\""+url+"\" playTime=\""+questionDto.getPlayTime()+"\""+"></a>";
-					}else{
-						containAStr += " question-audio url=\""+url+"\""+"></a>";
+					if(questionAudio!=null){
+						String url = downloadUrl + questionAudio.getFileUrl();
+						if(questionDto.getPlayTime()!=null){
+							containAStr += " question-audio url=\""+url+"\" playTime=\""+questionDto.getPlayTime()+"\""+"></a>";
+						}else{
+							containAStr += " question-audio url=\""+url+"\""+"></a>";
+						}
 					}
 				}
 				resultBody+=containAStr;