From 130d97bd8e29c8fb6de18133cc3606f5fd00628e Mon Sep 17 00:00:00 2001 From: wl <173@qq.com> Date: 星期五, 30 九月 2022 11:47:04 +0800 Subject: [PATCH] 部门批量删除和细节修改 --- ycl-common/src/main/java/com/ycl/service/user/impl/UmsRoleServiceImpl.java | 117 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 117 insertions(+), 0 deletions(-) diff --git a/ycl-common/src/main/java/com/ycl/service/user/impl/UmsRoleServiceImpl.java b/ycl-common/src/main/java/com/ycl/service/user/impl/UmsRoleServiceImpl.java new file mode 100644 index 0000000..9bfaf58 --- /dev/null +++ b/ycl-common/src/main/java/com/ycl/service/user/impl/UmsRoleServiceImpl.java @@ -0,0 +1,117 @@ +package com.ycl.service.user.impl; + +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ycl.entity.user.*; +import com.ycl.mapper.user.UmsMenuMapper; +import com.ycl.mapper.user.UmsResourceMapper; +import com.ycl.mapper.user.UmsRoleMapper; +import com.ycl.service.user.UmsAdminCacheService; +import com.ycl.service.user.UmsRoleMenuRelationService; +import com.ycl.service.user.UmsRoleResourceRelationService; +import com.ycl.service.user.UmsRoleService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +/** + * 鍚庡彴瑙掕壊绠$悊Service瀹炵幇绫� + * Created by macro on 2018/9/30. + */ +@Service +public class UmsRoleServiceImpl extends ServiceImpl<UmsRoleMapper, UmsRole>implements UmsRoleService { + @Autowired + private UmsAdminCacheService adminCacheService; + @Autowired + private UmsRoleMenuRelationService roleMenuRelationService; + @Autowired + private UmsRoleResourceRelationService roleResourceRelationService; + @Resource + private UmsMenuMapper umsMenuMapper; + @Resource + private UmsResourceMapper umsResourceMapper; + @Override + public boolean create(UmsRole role) { + role.setCreateTime(new Date()); + role.setAdminCount(0); + role.setSort(0); + return save(role); + } + + @Override + public boolean delete(List<Long> ids) { + boolean success = removeByIds(ids); + adminCacheService.delResourceListByRoleIds(ids); + return success; + } + + @Override + public Page<UmsRole> list(String keyword, Integer pageSize, Integer pageNum) { + Page<UmsRole> page = new Page<>(pageNum,pageSize); + QueryWrapper<UmsRole> wrapper = new QueryWrapper<>(); + LambdaQueryWrapper<UmsRole> lambda = wrapper.lambda(); + if(StrUtil.isNotEmpty(keyword)){ + lambda.like(UmsRole::getName,keyword); + } + return page(page,wrapper); + } + + @Override + public List<UmsMenu> getMenuList(Long adminId) { + return umsMenuMapper.getMenuList(adminId); + } + + @Override + public List<UmsMenu> listMenu(Long roleId) { + return umsMenuMapper.getMenuListByRoleId(roleId); + } + + @Override + public List<UmsResource> listResource(Long roleId) { + return umsResourceMapper.getResourceListByRoleId(roleId); + } + + @Override + public int allocMenu(Long roleId, List<Long> menuIds) { + //鍏堝垹闄ゅ師鏈夊叧绯� + QueryWrapper<UmsRoleMenuRelation> wrapper = new QueryWrapper<>(); + wrapper.lambda().eq(UmsRoleMenuRelation::getRoleId,roleId); + roleMenuRelationService.remove(wrapper); + //鎵归噺鎻掑叆鏂板叧绯� + List<UmsRoleMenuRelation> relationList = new ArrayList<>(); + for (Long menuId : menuIds) { + UmsRoleMenuRelation relation = new UmsRoleMenuRelation(); + relation.setRoleId(roleId); + relation.setMenuId(menuId); + relationList.add(relation); + } + roleMenuRelationService.saveBatch(relationList); + return menuIds.size(); + } + + @Override + public int allocResource(Long roleId, List<Long> resourceIds) { + //鍏堝垹闄ゅ師鏈夊叧绯� + QueryWrapper<UmsRoleResourceRelation> wrapper = new QueryWrapper<>(); + wrapper.lambda().eq(UmsRoleResourceRelation::getRoleId,roleId); + roleResourceRelationService.remove(wrapper); + //鎵归噺鎻掑叆鏂板叧绯� + List<UmsRoleResourceRelation> relationList = new ArrayList<>(); + for (Long resourceId : resourceIds) { + UmsRoleResourceRelation relation = new UmsRoleResourceRelation(); + relation.setRoleId(roleId); + relation.setResourceId(resourceId); + relationList.add(relation); + } + roleResourceRelationService.saveBatch(relationList); + adminCacheService.delResourceListByRole(roleId); + return resourceIds.size(); + } +} -- Gitblit v1.8.0