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 | 64 ++++++++++++++++++++------------ 1 files changed, 40 insertions(+), 24 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 3a754ed..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,17 +183,32 @@ } } - + List<TConsultation> records = page.getRecords(); + if(CollectionUtils.isEmpty(records)){ + return R.ok(new Page<>()); + } Set<Long> cacheSet = redisCache.getCacheSet("Consultation:" + userId); - for (TConsultation record : page.getRecords()) { - TRegion byId = regionService.getById(record.getRegionId()); - record.setRegionName(byId.getProvinceName()+"-"+byId.getName()); - TTechnicalTitle byId1 = tTechnicalTitleService.getById(record.getTitleId()); - TTitleMajor byId2 = majorService.getById(record.getMajorId()); - record.setTechnicalName(byId1.getTitileName()+"-"+byId2.getMajorName()); - TConsultationClassification byId3 = consultationClassificationService.getById(record.getClassificationId()); - record.setTConsultationClassificationName(byId3.getConsultationName()); + 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); + record.setRegionName(region.getProvinceName()+"-"+region.getName()); + record.setTechnicalName(tTechnicalTitle.getTitileName()+"-"+tTitleMajor.getMajorName()); + TConsultationClassification tConsultationClassification = consultationClassifications.stream().filter(e -> e.getId().equals(record.getClassificationId())).findFirst().orElse(null); + record.setTConsultationClassificationName(tConsultationClassification.getConsultationName()); if (cacheSet!=null){ if (cacheSet.contains(record.getId())){ record.setIsCollect(1); @@ -211,27 +227,27 @@ @ApiOperation(value = "详情",tags = {"后台-咨询管理-咨询列表","web-咨询查询"}) @PostMapping(value = "/detail") public R<TConsultation> detail(@RequestParam Long id ) { - TConsultation byId = informationService.getById(id); - byId.setWatchNum(byId.getWatchNum()+1); - informationService.updateById(byId); - TTechnicalTitle byId1 = tTechnicalTitleService.getById(byId.getTitleId()); - byId.setTechnicalName(byId1.getTitileName()); - TTitleMajor byId2 = majorService.getById(byId.getMajorId()); - byId.setMajorName(byId2.getMajorName()); - TLevel byId3 = levelService.getById(byId.getLevel()); - byId.setLevelName(byId3.getName()); - TRegion byId4 = regionService.getById(byId.getRegionId()); - byId.setTRegion(byId4); - return R.ok(byId); + TConsultation consultation = informationService.getById(id); + consultation.setWatchNum(consultation.getWatchNum()+1); + informationService.updateById(consultation); + TTechnicalTitle tTechnicalTitle = tTechnicalTitleService.getById(consultation.getTitleId()); + consultation.setTechnicalName(tTechnicalTitle.getTitileName()); + TTitleMajor tTitleMajor = majorService.getById(consultation.getMajorId()); + consultation.setMajorName(tTitleMajor.getMajorName()); + TLevel level = levelService.getById(consultation.getLevel()); + consultation.setLevelName(level.getName()); + TRegion region = regionService.getById(consultation.getRegionId()); + consultation.setTRegion(region); + return R.ok(consultation); } @ApiOperation(value = "观看",tags = {"web-咨询查询"}) @PostMapping(value = "/watch") public R watch(@RequestParam Long id ) { - TConsultation byId = informationService.getById(id); - byId.setWatchNum(byId.getWatchNum()+1); - informationService.updateById(byId); + TConsultation consultation = informationService.getById(id); + consultation.setWatchNum(consultation.getWatchNum()+1); + informationService.updateById(consultation); return R.ok(); } -- Gitblit v1.7.1