浏览代码

练习册bug修改

chen 5 年之前
父节点
当前提交
06c16df806

+ 1 - 1
ssj-kmt-exercise-service-impl/src/main/resources/application.properties

@@ -1,7 +1,7 @@
 #\u670D\u52A1\u542F\u52A8\u7AEF\u53E3
 server.port=9090
 spring.application.name=ssj-kmt-exercise-service-provider
-logger.level=trace
+logger.level=INFO
 dubbo.scan.base-packages=com.ssj
 dubbo.application.id=ssj-kmt-exercise-service-provider
 dubbo.application.name=ssj-kmt-exercise-service-provider

+ 58 - 8
ssj-mybatis-service-impl/src/main/java/com/ssj/service/kmt/exercise/KmtExerciseMapperServiceImpl.java

@@ -1352,6 +1352,56 @@ public class KmtExerciseMapperServiceImpl implements KmtExerciseMapperService {
         return result;
     }
 
+    private ExerciseQuetionDto parseMapToExerciseQuestion (Map map) {
+        ExerciseQuetionDto temp = new ExerciseQuetionDto();
+        if (map != null){
+            String bookCourseId;
+            KmtExerciseBookCourse kmtExerciseBookCourse;
+
+            temp.setQuestionId(map.getOrDefault("id", "").toString());
+            temp.setCourseName(map.getOrDefault("courseName", "").toString());
+            temp.setHandleUserId(map.getOrDefault("handleUserId", "").toString());
+            temp.setAuditingUserId(map.getOrDefault("auditingUserId", "").toString());
+            temp.setAnalysisUserId(map.getOrDefault("analysisUserId", "").toString());
+            temp.setAnalysisAuditerId(map.getOrDefault("analysisAuditerId", "").toString());
+            bookCourseId = map.getOrDefault("bookCourseId", "").toString();
+            temp.setCourseId(bookCourseId);
+            if (StringUtils.isNotBlank(bookCourseId)) {
+                // 查询练习册单元课时信息
+                kmtExerciseBookCourse = kmtExerciseBookCourseService.getById(bookCourseId);
+                if (kmtExerciseBookCourse != null) {
+                    temp.setBookName(kmtExerciseBookCourse.getBookName());
+                    temp.setUnit(kmtExerciseBookCourse.getUnit());
+                    temp.setPeriod(kmtExerciseBookCourse.getPeriod());
+                    temp.setGrade(kmtExerciseBookCourse.getGrade());
+                    temp.setSemester(kmtExerciseBookCourse.getSemester());
+                    temp.setVersionName(knowledgeVersion.getVersionNameBySubjectAndVersionNum(temp.getCourseName(), kmtExerciseBookCourse.getVersion()));
+                }
+            }
+            temp.setBigQuestionIndex(map.getOrDefault("bigQuestionIndex", "").toString());
+            temp.setSmallQuestionIndex(Integer.parseInt(map.getOrDefault("num", "0").toString()) + "");
+            temp.setQuestion(map.getOrDefault("question", "").toString());
+            temp.setQuestionText(map.getOrDefault("questionText", "").toString());
+            temp.setAnswer(map.getOrDefault("optionAnswer", "").toString());
+            temp.setAnswerJson(map.getOrDefault("answerJson", "").toString());
+            temp.setQuestionStatus(Integer.parseInt(map.getOrDefault("dealStatus", "0").toString()));
+            temp.setCreateTime(map.getOrDefault("createTime", "").toString());
+            temp.setReason(map.getOrDefault("remark", "").toString());
+            temp.setQuestionAnalysis(map.getOrDefault("analysis", "").toString());
+            temp.setAnalysisJson(map.getOrDefault("analysisJson", "").toString());
+            temp.setQuestionTypes(Integer.parseInt(map.getOrDefault("questionType", "0").toString()));
+            temp.setDifficultyLevels(Integer.parseInt(map.getOrDefault("difficultyLevel", "0").toString()));
+            temp.setRealExamTypes(map.getOrDefault("realExamType", "").toString());
+            temp.setTrainingSkills(map.getOrDefault("trainingSkill", "").toString());
+            temp.setParentId(map.getOrDefault("parentId", "").toString());
+            temp.setQuestionImage(map.getOrDefault("image", "").toString());
+            temp.setFromUserId(map.getOrDefault("fromUserId", "").toString());
+            temp.setToUserId(map.getOrDefault("toUserId", "").toString());
+            temp.setUpdateType(map.getOrDefault("updateType", "").toString());
+        }
+        return  temp;
+    }
+
     /**
      * 根据科目年级版本上下册查询kmt题目列表
      * @param request
@@ -1484,16 +1534,16 @@ public class KmtExerciseMapperServiceImpl implements KmtExerciseMapperService {
     @Override
     public List<ExerciseBookCourseClassDto> findClassifyQuestionsByIds(List<String> questionIds) {
         List<Map> tmpList = exerciseQuestionSearchService.findAllExerciseQuestionsByQuestionIds(questionIds);
-        List<ExerciseQuetionDto> temps = this.parseMapToExerciseQuestionList(tmpList);
+//        List<ExerciseQuetionDto> temps = this.parseMapToExerciseQuestionList(tmpList);
         List<ExerciseQuetionDto> questions = new ArrayList<>();
         ExerciseQuetionDto qTmp = null;
-        for (String questionId : questionIds){
-            for (ExerciseQuetionDto temp : temps){
-                if (questionId.equals(temp.getQuestionId())){
-                    qTmp = new ExerciseQuetionDto();
-                    BeanUtils.copyProperties(temp, qTmp);
-                    questions.add(qTmp);
-                    break;
+        if (tmpList != null){
+            for (String questionId : questionIds){
+                for (Map map : tmpList){
+                    if (questionId.equals(map.getOrDefault("id", "").toString())){
+                        questions.add(this.parseMapToExerciseQuestion(map));
+                        break;
+                    }
                 }
             }
         }

+ 14 - 18
ssj-mybatis-service-impl/src/main/java/com/ssj/utils/SortByChineseUtil.java

@@ -5,11 +5,14 @@ import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType;
 import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat;
 import net.sourceforge.pinyin4j.format.HanyuPinyinToneType;
 import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.text.Collator;
 import java.util.*;
 
 public class SortByChineseUtil {
+    private static Logger logger = LoggerFactory.getLogger(SortByChineseUtil.class);
 
     public static List sort(List list) {
 
@@ -72,23 +75,23 @@ public class SortByChineseUtil {
      * @return
      */
      public static String ToPinyin(String chinese){
-         String pinyinStr = "";
+         StringBuilder pinyingStr = new StringBuilder();
          char[] newChar = chinese.toCharArray();
          HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();
          defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);
          defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
          for (int i = 0; i < newChar.length; i++) {
-             if (newChar[i] > 128) {
-                 try {
-                     pinyinStr += PinyinHelper.toHanyuPinyinStringArray(newChar[i], defaultFormat)[0];
-                 } catch (BadHanyuPinyinOutputFormatCombination e) {
-                     e.printStackTrace();
+             try {
+                 if (Character.toString(newChar[i]).matches("[\\u4E00-\\u9FA5]+")){
+                     pinyingStr.append(PinyinHelper.toHanyuPinyinStringArray(newChar[i], defaultFormat)[0]);
+                 } else {
+                     pinyingStr.append(newChar[i]);
                  }
-             }else{
-                 pinyinStr += newChar[i];
+             } catch (BadHanyuPinyinOutputFormatCombination e) {
+                 logger.error("异常", e);
              }
          }
-         return pinyinStr.toLowerCase();
+         return pinyingStr.toString().toLowerCase();
      }
 
     /**
@@ -104,14 +107,7 @@ public class SortByChineseUtil {
     }
 
     public static void main(String[] args) {
-        HashMap map = new HashMap();
-        map.put("2","日本");
-        map.put("3","俄国");
-        map.put(1,"中国");
-        map.put(77,"IT服务");
-        map.put(8,"it");
-        map.put(99,",");
-        System.out.println(SortByChineseUtil.sortByValue(map));
-        System.out.println(SortByChineseUtil.ToPinyin("1+1天天练A(2020)"));
+        String  str1 = SortByChineseUtil.ToPinyin("深圳市小学英语\"第1课堂\"(2021)");
+        System.out.println("str=" + str1);
     }
 }