From 0a1533fd30ec1a2f4624ccda4ff11f2535ea8a46 Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期三, 11 十二月 2024 18:37:14 +0800
Subject: [PATCH] 修改

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TIndexMenuController.java |   91 ++++++++++++++++++++++++++++++---------------
 1 files changed, 61 insertions(+), 30 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..853a319 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
@@ -19,8 +19,10 @@
 import oshi.driver.mac.net.NetStat;
 
 import javax.annotation.Resource;
+import java.math.BigDecimal;
 import java.time.LocalDate;
 import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -80,19 +82,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 +132,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 +213,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);
@@ -204,7 +233,7 @@
         Long payCount = courseCount -courseFreeCount;
         Long recordsCount = generatedRecordsService.lambdaQuery().count();
         Long infoCount = informationService.lambdaQuery().count();
-        Long infoFreeCount = informationService.lambdaQuery().count();
+        Long infoFreeCount = informationService.lambdaQuery().eq(TInformation::getInformationPrice,new BigDecimal(0)).count();
         Long infoPayCount = infoCount-infoFreeCount;
         ManageCountDto manageCountDto = new ManageCountDto();
         manageCountDto.setUserCount(userCount);
@@ -214,6 +243,7 @@
         manageCountDto.setRecordsCount(recordsCount);
         manageCountDto.setInfoFreeCount(infoFreeCount);
         manageCountDto.setInfoPayCount(infoPayCount);
+        manageCountDto.setInfoCount(infoCount);
         return R.ok(manageCountDto);
     }
 
@@ -277,6 +307,7 @@
             // 只保留前 16 条记录
             notices = new ArrayList<>(notices.subList(0, 16));
         }
+        notices = notices.stream().distinct().collect(Collectors.toList());
         return R.ok(notices);
     }
 

--
Gitblit v1.7.1