xuhy
2025-01-03 b6373daa40c3dc17ca107f3666fd252f3b6b0778
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);