From e090805989dd874b06fa6f784a805008eff081e1 Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期四, 18 五月 2023 18:46:20 +0800
Subject: [PATCH] BUG修改

---
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/UserMgrController.java |   47 ++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 40 insertions(+), 7 deletions(-)

diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/UserMgrController.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/UserMgrController.java
index 959b34b..0e6227c 100644
--- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/UserMgrController.java
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/UserMgrController.java
@@ -25,17 +25,19 @@
 import com.stylefeng.guns.modular.system.controller.util.UUIDUtil;
 import com.stylefeng.guns.modular.system.dao.UserMapper;
 import com.stylefeng.guns.modular.system.factory.UserFactory;
+import com.stylefeng.guns.modular.system.model.TAgent;
+import com.stylefeng.guns.modular.system.model.TBranchOffice;
 import com.stylefeng.guns.modular.system.model.TCompany;
 import com.stylefeng.guns.modular.system.model.User;
-import com.stylefeng.guns.modular.system.service.ITCompanyService;
-import com.stylefeng.guns.modular.system.service.ITDriverService;
-import com.stylefeng.guns.modular.system.service.IUserService;
+import com.stylefeng.guns.modular.system.service.*;
 import com.stylefeng.guns.modular.system.transfer.UserDto;
 import com.stylefeng.guns.modular.system.util.OssUploadUtil;
 import com.stylefeng.guns.modular.system.util.huawei.OBSUtil;
+import org.apache.poi.ss.formula.functions.T;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.Model;
+import org.springframework.util.CollectionUtils;
 import org.springframework.validation.BindingResult;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
@@ -46,6 +48,7 @@
 import java.io.File;
 import java.io.InputStream;
 import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * 系统管理员控制器
@@ -67,6 +70,10 @@
 
     @Autowired
     private ITDriverService itDriverService;
+    @Autowired
+    private ITAgentService agentService;
+    @Autowired
+    private ITBranchOfficeService branchOfficeService;
 
 
     /**
@@ -187,10 +194,36 @@
             page.setRecords(userService.getUserListPage(page,null, name, beginTime, endTime, deptid));
             return super.packForBT(page);
         } else {
-            DataScope dataScope = new DataScope(ShiroKit.getDeptDataScope());
-            Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage();
-            page.setRecords(userService.getUserListPage(page,dataScope, name, beginTime, endTime, deptid));
-            return super.packForBT(page);
+            Integer objectId = Objects.requireNonNull(ShiroKit.getUser()).getObjectId();
+            Integer roleType = Objects.requireNonNull(ShiroKit.getUser()).getRoleType();
+
+            if(roleType == 3){
+                // 查询下级分公司账号
+                TAgent tAgent = agentService.selectById(objectId);
+                List<TBranchOffice> branchOffices = branchOfficeService.selectList(new EntityWrapper<TBranchOffice>()
+                        .eq("agentId", tAgent.getId()));
+
+                List<Integer> officeIds = branchOffices.stream().map(TBranchOffice::getId).collect(Collectors.toList());
+                if(CollectionUtils.isEmpty(officeIds)){
+                    Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage();
+                    page.setRecords(new ArrayList<>());
+                    return super.packForBT(page);
+                }
+
+//                List<User> userList = userService.selectList(new EntityWrapper<User>()
+//                        .in("object_id", officeIds));
+//                List<Integer> userIds = userList.stream().map(User::getId).collect(Collectors.toList());
+
+                DataScope dataScope = new DataScope(ShiroKit.getDeptDataScope());
+                Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage();
+                List<Map<String, Object>> userListPage = userService.getUserListPageAgent(page, null, name, beginTime, endTime, deptid,officeIds);
+                page.setRecords(userListPage);
+                return super.packForBT(page);
+            }else {
+                Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage();
+                page.setRecords(new ArrayList<>());
+                return super.packForBT(page);
+            }
         }
     }
 

--
Gitblit v1.7.1