From 187bca28db728904da9a9136bcae751767879045 Mon Sep 17 00:00:00 2001 From: wl <173@qq.com> Date: 星期三, 12 十月 2022 15:50:44 +0800 Subject: [PATCH] 菜单权限 和启用菜单 然后日志功能 --- ycl-common/src/main/java/com/ycl/service/user/impl/UmsAdminServiceImpl.java | 64 +++++++++++++++++++++++++------ 1 files changed, 51 insertions(+), 13 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 a88c754..c4f418f 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 @@ -13,12 +13,8 @@ import com.ycl.entity.depart.UmsDepart; import com.ycl.entity.user.*; import com.ycl.exception.Asserts; -import com.ycl.mapper.user.UmsAdminLoginLogMapper; -import com.ycl.mapper.user.UmsAdminMapper; -import com.ycl.mapper.user.UmsResourceMapper; -import com.ycl.mapper.user.UmsRoleMapper; +import com.ycl.mapper.user.*; import com.ycl.service.depart.UmsDepartService; -import com.ycl.service.user.UmsDepartManageService; import com.ycl.service.redis.RedisService; import com.ycl.service.user.UmsAdminCacheService; import com.ycl.service.user.UmsAdminRoleRelationService; @@ -53,6 +49,7 @@ import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.stream.Collectors; /** * 鍚庡彴绠$悊鍛樼鐞哠ervice瀹炵幇绫� @@ -76,9 +73,13 @@ @Resource private UmsDepartService departService; @Resource - private UmsDepartManageService umsAdminDepartService; - @Resource private RedisService redisService; + @Resource + private UmsDepartManageMapper umsDepartManageMapper; + @Resource + UmsRoleMenuRelationMapper umsRoleMenuRelationMapper; + @Resource + AdminMenuRelationMapper adminMenuRelationMapper; @Override public UmsAdmin getAdminByUsername(String username) { @@ -120,13 +121,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())); @@ -343,8 +369,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; @@ -361,12 +387,24 @@ 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; } + + @Override + 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()); + QueryWrapper<UmsAdmin> wrapperUser = new QueryWrapper<>(); + wrapperUser.in("id", userIds); + List<UmsAdmin> adminList = baseMapper.selectList(wrapperUser); + return adminList; + } } -- Gitblit v1.8.0