xuhy
2025-01-02 b94fffb01c94100b34e2908b4fe79c1c554b0912
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);