From 5be07b1a021f596b003eac001f4cb77416ae6c7b Mon Sep 17 00:00:00 2001 From: xuhy <3313886187@qq.com> Date: 星期三, 11 十二月 2024 17:08:47 +0800 Subject: [PATCH] 修改 --- ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TIndexMenuController.java | 87 +++++++++++++++++++++++++++++-------------- 1 files changed, 58 insertions(+), 29 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TIndexMenuController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TIndexMenuController.java index 10a5ee5..e957ffe 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TIndexMenuController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TIndexMenuController.java @@ -21,6 +21,7 @@ import javax.annotation.Resource; import java.time.LocalDate; import java.util.*; +import java.util.stream.Collectors; /** * <p> @@ -80,19 +81,16 @@ public R getByProvinceName() { List<TRegion> list1 = regionService.lambdaQuery().groupBy(TRegion::getProvinceName).list(); for (TRegion tRegion : list1) { - - - List<TRegion> list = regionService.lambdaQuery().eq(TRegion::getProvinceName, tRegion.getProvinceName()).list(); - List<Integer> regionIds = new ArrayList<>(); - list.forEach(region -> regionIds.add(region.getId())); - if (!regionIds.isEmpty()) { - Long count = consultationService.lambdaQuery().in(TConsultation::getRegionId, regionIds).count(); - - - tRegion.setCount(count); - }else { - tRegion.setCount(0L); - } + List<TRegion> list = regionService.lambdaQuery().eq(TRegion::getProvinceName, tRegion.getProvinceName()).list(); + List<Integer> regionIds = new ArrayList<>(); + list.forEach(region -> regionIds.add(region.getId())); + if (!regionIds.isEmpty()) { + Long count = consultationService.lambdaQuery().in(TConsultation::getRegionId, regionIds) + .in(TConsultation::getClassificationId,Arrays.asList(1,2,3)).count(); + tRegion.setCount(count); + }else { + tRegion.setCount(0L); + } } return R.ok(list1); @@ -133,22 +131,51 @@ Long userId = tokenService.getLoginUser().getUserId(); TUserChange one = changeService.lambdaQuery().eq(TUserChange::getUserId, userId).orderByDesc(TUserChange::getCreateTime).last("limit 1").one(); List<TConsultation> notices = new ArrayList<>(); - if (one!=null){ - List<TUserChangeDetail> list = changeDetailService.lambdaQuery().eq(TUserChangeDetail::getChangeId, one.getId()).list(); - for (TUserChangeDetail tUserChangeDetail : list) { - List<TConsultation> list1 = consultationService.lambdaQuery().eq(TConsultation::getClassificationId,type).eq(TConsultation::getRegionId,tUserChangeDetail.getRegionId()).eq(TConsultation::getMajorId, tUserChangeDetail.getMajorId()).eq(TConsultation::getLevel, tUserChangeDetail.getLevelId()).list(); - notices.addAll(list1); - } - notices.sort(Comparator.comparing(TConsultation::getCreateTime).reversed()); - }else { - // 创建 LambdaQueryWrapper 并设置查询条件 - } - List<TConsultation> list1 = consultationService.lambdaQuery().eq(TConsultation::getClassificationId,type).last("ORDER BY RAND() LIMIT 16").list(); - notices.addAll(list1); - if (notices.size() > 16) { - // 只保留前 16 条记录 - notices = new ArrayList<>(notices.subList(0, 16)); + if (type==1){ + if (one!=null){ + List<TUserChangeDetail> list = changeDetailService.lambdaQuery().eq(TUserChangeDetail::getChangeId, one.getId()).list(); + for (TUserChangeDetail tUserChangeDetail : list) { + List<TConsultation> list1 = consultationService.lambdaQuery().eq(TConsultation::getClassificationId,type) + .eq(TConsultation::getRegionId,tUserChangeDetail.getRegionId()) + .eq(TConsultation::getMajorId, tUserChangeDetail.getMajorId()) + .eq(TConsultation::getLevel, tUserChangeDetail.getLevelId()) + .eq(TConsultation::getIsRecommend,1) + .orderByDesc(TConsultation::getClassificationSort,TConsultation::getCreateTime).list(); + notices.addAll(list1); + } + notices.sort(Comparator.comparing(TConsultation::getCreateTime).reversed()); + }else { + // 创建 LambdaQueryWrapper 并设置查询条件 + + } + List<TConsultation> list1 = consultationService.lambdaQuery().eq(TConsultation::getClassificationId,type).eq(TConsultation::getIsRecommend,1).last("ORDER BY RAND() LIMIT 16").list(); + notices.addAll(list1); + if (notices.size() > 16) { + // 只保留前 16 条记录 + notices = new ArrayList<>(notices.subList(0, 16)); + } + }else { + if (one!=null){ + List<TUserChangeDetail> list = changeDetailService.lambdaQuery().eq(TUserChangeDetail::getChangeId, one.getId()).list(); + for (TUserChangeDetail tUserChangeDetail : list) { + List<TConsultation> list1 = consultationService.lambdaQuery().eq(TConsultation::getClassificationId,type) + .eq(TConsultation::getRegionId,tUserChangeDetail.getRegionId()) + .eq(TConsultation::getMajorId, tUserChangeDetail.getMajorId()) + .eq(TConsultation::getLevel, tUserChangeDetail.getLevelId()).list(); + notices.addAll(list1); + } + notices.sort(Comparator.comparing(TConsultation::getCreateTime).reversed()); + }else { + // 创建 LambdaQueryWrapper 并设置查询条件 + + } + List<TConsultation> list1 = consultationService.lambdaQuery().eq(TConsultation::getClassificationId,type).last("ORDER BY RAND() LIMIT 16").list(); + notices.addAll(list1); + if (notices.size() > 16) { + // 只保留前 16 条记录 + notices = new ArrayList<>(notices.subList(0, 16)); + } } return R.ok(notices); } @@ -185,9 +212,10 @@ @PostMapping(value = "/allert") public R allert() { Long userId = tokenService.getLoginUser().getUserId(); + TAppUser byId = appUserService.getById(userId); Object cacheObject = redisCache.getCacheObject("ALLERT:"+userId); - if (cacheObject!=null){ + if (cacheObject!=null && byId.getIsSetPreference() == 1){ return R.ok(cacheObject); }else { return R.ok(false); @@ -277,6 +305,7 @@ // 只保留前 16 条记录 notices = new ArrayList<>(notices.subList(0, 16)); } + notices = notices.stream().distinct().collect(Collectors.toList()); return R.ok(notices); } -- Gitblit v1.7.1