Ver código fonte

fix getPaperStructs

deason 4 anos atrás
pai
commit
f94dc3fc6a

+ 17 - 8
examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/PaperStructService.java

@@ -28,9 +28,7 @@ import org.springframework.data.mongodb.core.query.Query;
 import org.springframework.stereotype.Service;
 
 import java.math.BigDecimal;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
+import java.util.*;
 import java.util.stream.Collectors;
 
 /**
@@ -64,6 +62,8 @@ public class PaperStructService {
         //     return Page.empty();
         // }
 
+        // todo userDataRule
+
         Query query = new Query();
         query.addCriteria(Criteria.where("orgId").is(searchInfo.getOrgId()));
         query.addCriteria(Criteria.where("type").is(searchInfo.getType()));
@@ -109,15 +109,24 @@ public class PaperStructService {
             return Page.empty();
         }
 
+        Map<String, String> courseNameMaps = new HashMap<>();
+
         for (PaperStruct paperStruct : paperStructs) {
             if (StringUtils.isBlank(paperStruct.getCourseNo())) {
                 paperStruct.setCourseName("公用");
             } else {
-                GetCourseReq req = new GetCourseReq();
-                req.setRootOrgId(Long.valueOf(paperStruct.getOrgId()));
-                req.setCode(paperStruct.getCourseNo());
-                GetCourseResp resp = courseCloudService.getCourse(req);
-                paperStruct.setCourseName(resp.getCourseBean().getName());
+                String courseName = courseNameMaps.get(paperStruct.getCourseNo());
+
+                if (StringUtils.isEmpty(courseName)) {
+                    GetCourseReq req = new GetCourseReq();
+                    req.setRootOrgId(Long.valueOf(paperStruct.getOrgId()));
+                    req.setCode(paperStruct.getCourseNo());
+                    GetCourseResp resp = courseCloudService.getCourse(req);
+                    courseName = resp.getCourseBean().getName();
+                    courseNameMaps.put(paperStruct.getCourseNo(), courseName);
+                }
+
+                paperStruct.setCourseName(courseName);
             }
         }