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/TCourseController.java | 26 ++++++++++++++++++-------- 1 files changed, 18 insertions(+), 8 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TCourseController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TCourseController.java index 4e37a05..2a2fb51 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TCourseController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TCourseController.java @@ -131,13 +131,20 @@ } Set<Long> cacheSet = redisCache.getCacheSet("COURSE:" + userId); - List<TTechnicalTitle> tTechnicalTitles = tTechnicalTitleService.lambdaQuery().list(); - List<TTitleMajor> tTitleMajors = majorService.lambdaQuery().list(); - List<TRegion> regions = regionService.lambdaQuery().list(); + + List<TCourse> records = page.getRecords(); + List<Long> technicalId = records.stream().map(TCourse::getTechnicalId).collect(Collectors.toList()); + List<TTechnicalTitle> tTechnicalTitles = tTechnicalTitleService.lambdaQuery().in(TTechnicalTitle::getId, technicalId).list(); + List<Long> majorId = records.stream().map(TCourse::getMajorId).collect(Collectors.toList()); + List<TTitleMajor> tTitleMajors = majorService.lambdaQuery().in(TTitleMajor::getId, majorId).list(); + List<Integer> regionId = records.stream().map(TCourse::getRegionId).collect(Collectors.toList()); + List<TRegion> regions = regionService.lambdaQuery().in(TRegion::getId,regionId).list(); + List<Long> ids = records.stream().map(TCourse::getId).collect(Collectors.toList()); List<TOrder> orders = orderService.lambdaQuery() .eq(TOrder::getGoodType, 1) - .eq(TOrder::getPaymentStatus, 2).list(); - for (TCourse record : page.getRecords()) { + .eq(TOrder::getPaymentStatus, 2) + .in(TOrder::getGoodId, ids).list(); + for (TCourse record : records) { TTechnicalTitle tTechnicalTitle = tTechnicalTitles.stream().filter(e -> e.getId().equals(record.getTechnicalId())).findFirst().orElse(null); TTitleMajor tTitleMajor = tTitleMajors.stream().filter(e -> e.getId().equals(record.getMajorId())).findFirst().orElse(null); TRegion region = regions.stream().filter(e -> e.getId().equals(record.getRegionId())).findFirst().orElse(null); @@ -170,9 +177,12 @@ @PostMapping(value = "/other") public R<List<TCourse>> other(@RequestParam Long id) { List<TCourse> list = courseService.lambdaQuery().ne(TCourse::getId, id).last("limit 3").list(); - List<TRegion> regions = regionService.lambdaQuery().list(); - List<TTechnicalTitle> tTechnicalTitles = tTechnicalTitleService.lambdaQuery().list(); - List<TTitleMajor> tTitleMajors = majorService.lambdaQuery().list(); + List<Integer> regionId = list.stream().map(TCourse::getRegionId).collect(Collectors.toList()); + List<TRegion> regions = regionService.lambdaQuery().in(TRegion::getId,regionId).list(); + List<Long> technicalId = list.stream().map(TCourse::getTechnicalId).collect(Collectors.toList()); + List<TTechnicalTitle> tTechnicalTitles = tTechnicalTitleService.lambdaQuery().in(TTechnicalTitle::getId,technicalId).list(); + List<Long> majorId = list.stream().map(TCourse::getMajorId).collect(Collectors.toList()); + List<TTitleMajor> tTitleMajors = majorService.lambdaQuery().in(TTitleMajor::getId,majorId).list(); for (TCourse record : list) { TRegion region = regions.stream().filter(e -> e.getId().equals(record.getRegionId())).findFirst().orElse(null); TTechnicalTitle tTechnicalTitle = tTechnicalTitles.stream().filter(e -> e.getId().equals(record.getTechnicalId())).findFirst().orElse(null); -- Gitblit v1.7.1