From 6c56f35bef519265b4e7ae98fda6ca87855daf9f Mon Sep 17 00:00:00 2001 From: zhanghua <314079846@qq.com> Date: 星期四, 15 十二月 2022 11:29:08 +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/UmsDepartManageServiceImpl.java | 71 +++++++++++++++++++++++++++++++++-- 1 files changed, 67 insertions(+), 4 deletions(-) diff --git a/ycl-common/src/main/java/com/ycl/service/user/impl/UmsDepartManageServiceImpl.java b/ycl-common/src/main/java/com/ycl/service/user/impl/UmsDepartManageServiceImpl.java index 514b105..3038c3c 100644 --- a/ycl-common/src/main/java/com/ycl/service/user/impl/UmsDepartManageServiceImpl.java +++ b/ycl-common/src/main/java/com/ycl/service/user/impl/UmsDepartManageServiceImpl.java @@ -5,18 +5,23 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ycl.api.BasePageDTO; import com.ycl.entity.depart.UmsDepart; -import com.ycl.entity.user.UmsAdmin; -import com.ycl.entity.user.UmsDepartManage; +import com.ycl.entity.user.*; +import com.ycl.mapper.user.AdminMenuRelationMapper; +import com.ycl.mapper.user.UmsAdminRoleRelationMapper; import com.ycl.mapper.user.UmsDepartManageMapper; +import com.ycl.mapper.user.UmsRoleMenuRelationMapper; import com.ycl.service.depart.UmsDepartService; -import com.ycl.service.user.UmsDepartManageService; import com.ycl.service.user.UmsAdminService; +import com.ycl.service.user.UmsDepartManageService; import com.ycl.vo.depart.DepartVO; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.util.ArrayList; +import java.util.Date; import java.util.List; +import java.util.stream.Collectors; /** * <p> @@ -35,6 +40,12 @@ private UmsDepartService sccgDepartService; @Resource private UmsAdminService umsAdminService; + @Resource + UmsAdminRoleRelationMapper umsAdminRoleRelationMapper; + @Resource + AdminMenuRelationMapper adminMenuRelationMapper; + @Resource + UmsRoleMenuRelationMapper roleMenuRelationMapper; @Override public List<UmsDepartManage> queryByDepartId(Long departId) { @@ -87,4 +98,56 @@ return basePageDTO; } -} + @Override + public void userUpdateRoles(Long id, List<Long> roles) { + //瑙i櫎鐢ㄦ埛瑙掕壊缁戝畾 + umsAdminRoleRelationMapper.delete(new LambdaQueryWrapper<UmsAdminRoleRelation>().eq(UmsAdminRoleRelation::getAdminId, id)); + //瑙i櫎鐢ㄦ埛缁戝畾瑙掕壊缁戝畾鑿滃崟 + adminMenuRelationMapper.delete(new LambdaQueryWrapper<AdminMenuRelation>().eq(AdminMenuRelation::getAdminId, id)); + //缁戝畾瑙掕壊浜庣敤鎴� + if (!roles.isEmpty()) { + for (Long role : roles) { + UmsAdminRoleRelation urr = new UmsAdminRoleRelation(); + urr.setAdminId(id); + urr.setRoleId(role); + umsAdminRoleRelationMapper.insert(urr); + } + } + //缁戝畾鑿滃崟浜庣敤鎴� + ArrayList<UmsRoleMenuRelation> umsRoleMenuRelations = new ArrayList<>(); + for (Long role : roles) { + umsRoleMenuRelations.addAll(roleMenuRelationMapper + .selectList(new LambdaQueryWrapper<UmsRoleMenuRelation>() + .eq(UmsRoleMenuRelation::getRoleId, role))); + } + umsRoleMenuRelations + .stream() + .map(item -> item.getMenuId()) + .collect(Collectors.toList()) + .stream() + .distinct() + .collect(Collectors.toList()) + .stream() + .forEach(item -> { + AdminMenuRelation adminMenuRelation = new AdminMenuRelation(); + adminMenuRelation.setAdminId(id); + adminMenuRelation.setMenuId(item); + adminMenuRelationMapper.insert(adminMenuRelation); + }); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void userUpdateDepart(Long userId,Long departId) { + umsDepartManageMapper.delete(new LambdaQueryWrapper<UmsDepartManage>().eq(UmsDepartManage::getUserId,userId)); + UmsDepartManage umsDepartManage = new UmsDepartManage(); + umsDepartManage.setUserId(userId); + umsDepartManage.setCreateTime(new Date()); + umsDepartManage.setDepartId(departId); + umsDepartManageMapper.insert(umsDepartManage); + UmsAdmin umsAdmin = new UmsAdmin(); + //umsAdmin.setDepartmentId(departId); + umsAdmin.setId(userId); + umsAdminService.updateById(umsAdmin); + } +} \ No newline at end of file -- Gitblit v1.8.0