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/TAppUserController.java |   53 ++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 36 insertions(+), 17 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TAppUserController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TAppUserController.java
index 80c0040..5c14ec0 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TAppUserController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TAppUserController.java
@@ -25,6 +25,7 @@
 import com.ruoyi.web.controller.query.dto.RegisterDto;
 import io.swagger.annotations.ApiOperation;
 import org.apache.poi.ss.usermodel.Workbook;
+import org.springframework.util.CollectionUtils;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
@@ -279,6 +280,11 @@
                 .orderByDesc(TAppUser::getCreateTime)
                 .page(Page.of(appUserQuery.getPageNum(), appUserQuery.getPageSize()));
 
+        List<TRegion> regions = regionService.lambdaQuery().list();
+        List<TTechnicalTitle> tTechnicalTitles = tTechnicalTitleService.lambdaQuery().list();
+        List<TTitleMajor> tTitleMajors = majorService.lambdaQuery().list();
+        List<TLevel> levels = levelService.lambdaQuery().list();
+
         for (TAppUser record : page.getRecords()) {
             List<String> newString = new ArrayList<>();
             //拿到最新的change
@@ -286,11 +292,11 @@
            if (newest!=null){
               List<TUserChangeDetail> list = tUserChangeDetailService.lambdaQuery().eq(TUserChangeDetail::getChangeId, newest.getId()).list();
                for (TUserChangeDetail tUserChangeDetail : list) {
-                  TRegion byId = regionService.getById(tUserChangeDetail.getRegionId());
-                    TTechnicalTitle byId1 = tTechnicalTitleService.getById(tUserChangeDetail.getTitleId());
-                    TTitleMajor byId2 = majorService.getById(tUserChangeDetail.getMajorId());
-                    TLevel byId3 = levelService.getById(tUserChangeDetail.getLevelId());
-                   newString.add(byId.getName()+"-"+byId1.getTitileName()+"-"+byId2.getMajorName()+"-"+byId3.getName());
+                   TRegion region = regions.stream().filter(e -> e.getId().equals(tUserChangeDetail.getRegionId())).findFirst().orElse(null);
+                   TTechnicalTitle tTechnicalTitle = tTechnicalTitles.stream().filter(e -> e.getId().equals(tUserChangeDetail.getTitleId())).findFirst().orElse(null);
+                   TTitleMajor tTitleMajor = tTitleMajors.stream().filter(e -> e.getId().equals(tUserChangeDetail.getMajorId())).findFirst().orElse(null);
+                   TLevel tLevel = levels.stream().filter(e -> e.getId().equals(tUserChangeDetail.getLevelId())).findFirst().orElse(null);
+                   newString.add(region.getName()+"-"+tTechnicalTitle.getTitileName()+"-"+tTitleMajor.getMajorName()+"-"+tLevel.getName());
                }
            }
 
@@ -301,11 +307,11 @@
             if (latest!=null){
                 List<TUserChangeDetail> list = tUserChangeDetailService.lambdaQuery().eq(TUserChangeDetail::getChangeId, latest.getId()).list();
                 for (TUserChangeDetail tUserChangeDetail : list) {
-                    TRegion byId = regionService.getById(tUserChangeDetail.getRegionId());
-                    TTechnicalTitle byId1 = tTechnicalTitleService.getById(tUserChangeDetail.getTitleId());
-                    TTitleMajor byId2 = majorService.getById(tUserChangeDetail.getMajorId());
-                    TLevel byId3 = levelService.getById(tUserChangeDetail.getLevelId());
-                    lateString.add(byId.getName()+"-"+byId1.getTitileName()+"-"+byId2.getMajorName()+"-"+byId3.getName());
+                    TRegion region = regions.stream().filter(e -> e.getId().equals(tUserChangeDetail.getRegionId())).findFirst().orElse(null);
+                    TTechnicalTitle tTechnicalTitle = tTechnicalTitles.stream().filter(e -> e.getId().equals(tUserChangeDetail.getTitleId())).findFirst().orElse(null);
+                    TTitleMajor tTitleMajor = tTitleMajors.stream().filter(e -> e.getId().equals(tUserChangeDetail.getMajorId())).findFirst().orElse(null);
+                    TLevel tLevel = levels.stream().filter(e -> e.getId().equals(tUserChangeDetail.getLevelId())).findFirst().orElse(null);
+                    lateString.add(region.getName()+"-"+tTechnicalTitle.getTitileName()+"-"+tTitleMajor.getMajorName()+"-"+tLevel.getName());
                 }
             }
 
@@ -402,13 +408,26 @@
             endTime = appUserQuery.getCreateTime2().atTime(23, 59, 59, 999999999);
         }
 
-        List<TAppUser> page = appUserService.lambdaQuery().like(appUserQuery.getName() != null, TAppUser::getName, appUserQuery.getName())
-                .like(appUserQuery.getPhone() != null, TAppUser::getPhone, appUserQuery.getPhone())
-                .eq(appUserQuery.getStatus() != null, TAppUser::getStatus, appUserQuery.getStatus())
-                .ge(appUserQuery.getCreateTime1() != null, TAppUser::getCreateTime, startTime)
-                .le(appUserQuery.getCreateTime2() != null, TAppUser::getCreateTime, endTime)
-                .in(finalIds.size() > 0, TAppUser::getId, finalIds).list()
-                ;
+        int pageSize = 100;
+        int currentPage = 0;
+        List<TAppUser> page = new ArrayList<>();
+
+        while (true) {
+            Page<TAppUser> pageItems = appUserService.lambdaQuery().like(appUserQuery.getName() != null, TAppUser::getName, appUserQuery.getName())
+                    .like(appUserQuery.getPhone() != null, TAppUser::getPhone, appUserQuery.getPhone())
+                    .eq(appUserQuery.getStatus() != null, TAppUser::getStatus, appUserQuery.getStatus())
+                    .ge(appUserQuery.getCreateTime1() != null, TAppUser::getCreateTime,startTime)
+                    .le(appUserQuery.getCreateTime2() != null, TAppUser::getCreateTime,endTime)
+                    .in(finalIds.size() > 0, TAppUser::getId, finalIds)
+                    .orderByDesc(TAppUser::getCreateTime)
+                    .page(Page.of(currentPage * pageSize, pageSize));
+            List<TAppUser> records = pageItems.getRecords();
+            if (CollectionUtils.isEmpty(records)) {
+                break; // 没有更多数据,退出循环
+            }
+            page.addAll(records); // 累加当前页数据
+            currentPage++; // 进入下一页
+        }
         List<Long> collect = page.stream().map(TAppUser::getId).collect(Collectors.toList());
         Map<Long, TUserChange> collect1 = tUserChangeService.lambdaQuery()
                 .in(TUserChange::getUserId, collect).orderByDesc(TUserChange::getCreateTime).list()

--
Gitblit v1.7.1