wangliang 4 years ago
parent
commit
f195e51681

+ 5 - 1
themis-business/src/main/java/com/qmth/themis/business/service/impl/TEOpenServiceImpl.java

@@ -5,6 +5,8 @@ import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.metadata.OrderItem;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.google.common.reflect.TypeToken;
+import com.google.gson.Gson;
 import com.qmth.themis.business.bean.admin.*;
 import com.qmth.themis.business.cache.RedisKeyHelper;
 import com.qmth.themis.business.cache.bean.ExamCacheBean;
@@ -227,10 +229,12 @@ public class TEOpenServiceImpl implements TEOpenService {
                     //查询所有单题作答结果
                     List<OpenRecordAnswerTempBean> answersTemp = examAnswerService.findByExamRecordId(record.getId());
                     List<OpenRecordAnswerBean> answers = new ArrayList<>(answersTemp.size());
+                    Gson gson = new Gson();
                     answersTemp.forEach(s -> {
                         OpenRecordAnswerBean openRecordAnswerBean = new OpenRecordAnswerBean(s.getMainNumber(), s.getSubNumber(), s.getSubIndex());
                         try {
-                            openRecordAnswerBean.setAnswer(JSONArray.parseArray(s.getAnswer()).toJavaList(OpenRecordAnswerStructBean.class));
+                            openRecordAnswerBean.setAnswer(gson.fromJson(s.getAnswer(), new TypeToken<List<OpenRecordAnswerStructBean>>() {
+                            }.getType()));
                         } catch (Exception e) {
                             log.error("错误答案:{}", s.getAnswer(), e);
                         }