From b6373daa40c3dc17ca107f3666fd252f3b6b0778 Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期五, 03 一月 2025 18:34:52 +0800
Subject: [PATCH] 代码

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TConsultationController.java |   24 ++++++++++++++++++------
 1 files changed, 18 insertions(+), 6 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TConsultationController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TConsultationController.java
index 509b651..21b28ea 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TConsultationController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TConsultationController.java
@@ -15,6 +15,7 @@
 import com.ruoyi.web.controller.query.ConsultationQuery;
 import com.ruoyi.web.controller.query.InformationQuery;
 import io.swagger.annotations.ApiOperation;
+import org.springframework.util.CollectionUtils;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
@@ -182,14 +183,25 @@
             }
         }
 
-
+        List<TConsultation> records = page.getRecords();
+        if(CollectionUtils.isEmpty(records)){
+            return R.ok(new Page<>());
+        }
         Set<Long> cacheSet = redisCache.getCacheSet("Consultation:" + userId);
-        List<TRegion> regions = regionService.lambdaQuery().list();
-        List<TTechnicalTitle> tTechnicalTitles = tTechnicalTitleService.lambdaQuery().list();
-        List<TTitleMajor> tTitleMajors = majorService.lambdaQuery().list();
-        List<TConsultationClassification> consultationClassifications = consultationClassificationService.lambdaQuery().list();
 
-        for (TConsultation record : page.getRecords()) {
+        List<Integer> regionIds = records.stream().map(TConsultation::getRegionId).collect(Collectors.toList());
+        List<TRegion> regions = regionService.lambdaQuery().in(TRegion::getId, regionIds).list();
+
+        List<Long> technicalIds = records.stream().map(TConsultation::getTitleId).collect(Collectors.toList());
+        List<TTechnicalTitle> tTechnicalTitles = tTechnicalTitleService.lambdaQuery().in(TTechnicalTitle::getId, technicalIds).list();
+
+        List<Long> majorIds = records.stream().map(TConsultation::getMajorId).collect(Collectors.toList());
+        List<TTitleMajor> tTitleMajors = majorService.lambdaQuery().in(TTitleMajor::getId, majorIds).list();
+
+        List<Long> classificationIds = records.stream().map(TConsultation::getClassificationId).collect(Collectors.toList());
+        List<TConsultationClassification> consultationClassifications = consultationClassificationService.lambdaQuery().in(TConsultationClassification::getId, classificationIds).list();
+
+        for (TConsultation record : records) {
             TRegion region = regions.stream().filter(e -> e.getId().equals(record.getRegionId())).findFirst().orElse(null);
             TTechnicalTitle tTechnicalTitle = tTechnicalTitles.stream().filter(e -> e.getId().equals(record.getTitleId())).findFirst().orElse(null);
             TTitleMajor tTitleMajor = tTitleMajors.stream().filter(e -> e.getId().equals(record.getMajorId())).findFirst().orElse(null);

--
Gitblit v1.7.1