From 3f9ebf19e687c33287b0eaec64d4564a212f57db Mon Sep 17 00:00:00 2001
From: mg <maokecheng@163.com>
Date: 星期三, 12 十月 2022 16:59:57 +0800
Subject: [PATCH] Merge branch 'master' of http://42.193.1.25:9521/r/sccg_server

---
 ycl-common/src/main/java/com/ycl/service/user/impl/UmsAdminServiceImpl.java |   45 +++++++++++++++++++++++++++++++++++++--------
 1 files changed, 37 insertions(+), 8 deletions(-)

diff --git a/ycl-common/src/main/java/com/ycl/service/user/impl/UmsAdminServiceImpl.java b/ycl-common/src/main/java/com/ycl/service/user/impl/UmsAdminServiceImpl.java
index 4c6c5a6..9125d9e 100644
--- a/ycl-common/src/main/java/com/ycl/service/user/impl/UmsAdminServiceImpl.java
+++ b/ycl-common/src/main/java/com/ycl/service/user/impl/UmsAdminServiceImpl.java
@@ -77,6 +77,10 @@
     private RedisService redisService;
     @Resource
     private UmsDepartManageMapper umsDepartManageMapper;
+    @Resource
+    UmsRoleMenuRelationMapper umsRoleMenuRelationMapper;
+    @Resource
+    AdminMenuRelationMapper adminMenuRelationMapper;
 
     @Override
     public UmsAdmin getAdminByUsername(String username) {
@@ -118,13 +122,38 @@
         List<Long> ids = umsAdminParam.getRoleIds();
         if (!ids.isEmpty()) {
             List<UmsAdminRoleRelation> roleIds = new ArrayList<>();
-            for(Long id:ids){
+            for (Long id : ids) {
                 UmsAdminRoleRelation urr = new UmsAdminRoleRelation();
                 urr.setAdminId(umsAdmin.getId());
                 urr.setRoleId(id);
                 roleIds.add(urr);
-             }
+            }
             umsAdminRoleRelationService.saveBatch(roleIds);
+        }
+        //缁戝畾鑿滃崟浜庣敤鎴�
+        if (!ids.isEmpty()) {
+            Integer size = 0;
+            Long maxId = null;
+            for (Long id : ids) {
+                if (size < umsRoleMenuRelationMapper
+                        .selectList(new LambdaQueryWrapper<UmsRoleMenuRelation>()
+                                .eq(UmsRoleMenuRelation::getRoleId, id)).size()) {
+                    size = umsRoleMenuRelationMapper
+                            .selectList(new LambdaQueryWrapper<UmsRoleMenuRelation>()
+                                    .eq(UmsRoleMenuRelation::getRoleId, id)).size();
+                    maxId = id;
+                }
+            }
+            umsRoleMenuRelationMapper
+                    .selectList(new LambdaQueryWrapper<UmsRoleMenuRelation>()
+                            .eq(UmsRoleMenuRelation::getRoleId, maxId))
+                    .stream()
+                    .forEach(item->{
+                        AdminMenuRelation adminMenuRelation = new AdminMenuRelation();
+                        adminMenuRelation.setAdminId(umsAdmin.getId());
+                        adminMenuRelation.setMenuId(item.getMenuId());
+                        adminMenuRelationMapper.insert(adminMenuRelation);
+                    });
         }
         //瀵圭敤鎴峰悕绯荤粺榛樿娣诲姞
         umsAdmin.setNickName(RandomUtils.getUserId(umsAdmin.getId()));
@@ -341,8 +370,8 @@
                     e.setDepartName(umsDepart.getDepartName());
                 }
                 //鑾峰彇瑙掕壊鍒楄〃
-               List<UmsRole> roles = umsRoleMapper.getRoleList(e.getId());
-               e.setRoles(roles);
+                List<UmsRole> roles = umsRoleMapper.getRoleList(e.getId());
+                e.setRoles(roles);
             });
         }
         return page1;
@@ -359,11 +388,11 @@
     public boolean updateStatusBatch(List<Long> ids, Integer status) {
         List<UmsAdmin> users = new ArrayList<>();
         for (Long id : ids) {
-            UmsAdmin umsAdmin =  UmsAdmin.builder().
+            UmsAdmin umsAdmin = UmsAdmin.builder().
                     id(id).status(status).build();
             users.add(umsAdmin);
         }
-        updateBatchById(users,users.size());
+        updateBatchById(users, users.size());
         getCacheService().delBatchAdmin(ids);
         return true;
     }
@@ -372,8 +401,8 @@
     public List<UmsAdmin> getDepartUser(Long departId) {
         QueryWrapper<UmsDepartManage> wrapper = new QueryWrapper<>();
         wrapper.lambda().eq(UmsDepartManage::getDepartId, departId);
-        List<UmsDepartManage>  list = umsDepartManageMapper.selectList(wrapper);
-        List<Long> userIds  = list.stream().map(UmsDepartManage::getUserId).collect(Collectors.toList());
+        List<UmsDepartManage> list = umsDepartManageMapper.selectList(wrapper);
+        List<Long> userIds = list.stream().map(UmsDepartManage::getUserId).collect(Collectors.toList());
         QueryWrapper<UmsAdmin> wrapperUser = new QueryWrapper<>();
         wrapperUser.in("id", userIds);
         List<UmsAdmin> adminList = baseMapper.selectList(wrapperUser);

--
Gitblit v1.8.0