From 7ef4892f9f24f941aca37e6b3991b808a0aca619 Mon Sep 17 00:00:00 2001 From: zhanghua <314079846@qq.com> Date: 星期五, 08 九月 2023 11:16:35 +0800 Subject: [PATCH] 优化 --- ycl-common/src/main/java/com/ycl/service/user/impl/UmsRoleServiceImpl.java | 77 ++++++++++++++++++++++++++++++++------ 1 files changed, 64 insertions(+), 13 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 index 9bfaf58..9f060c4 100644 --- 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 @@ -5,14 +5,14 @@ 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.dto.UmsMenuNode; +import com.ycl.entity.dict.DataDictionary; import com.ycl.entity.user.*; +import com.ycl.mapper.dict.DataDictionary2Mapper; 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 com.ycl.service.user.*; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -20,23 +20,35 @@ import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.stream.Collectors; /** * 鍚庡彴瑙掕壊绠$悊Service瀹炵幇绫� * Created by macro on 2018/9/30. */ @Service -public class UmsRoleServiceImpl extends ServiceImpl<UmsRoleMapper, UmsRole>implements UmsRoleService { +public class UmsRoleServiceImpl extends ServiceImpl<UmsRoleMapper, UmsRole> implements UmsRoleService { @Autowired private UmsAdminCacheService adminCacheService; @Autowired private UmsRoleMenuRelationService roleMenuRelationService; @Autowired private UmsRoleResourceRelationService roleResourceRelationService; + + private UmsMenuService umsMenuService; + + @Autowired + public void setUmsMenuService(UmsMenuService umsMenuService) { + this.umsMenuService = umsMenuService; + } + @Resource private UmsMenuMapper umsMenuMapper; @Resource private UmsResourceMapper umsResourceMapper; + @Resource + private DataDictionary2Mapper dataDictionary2Mapper; + @Override public boolean create(UmsRole role) { role.setCreateTime(new Date()); @@ -54,18 +66,44 @@ @Override public Page<UmsRole> list(String keyword, Integer pageSize, Integer pageNum) { - Page<UmsRole> page = new Page<>(pageNum,pageSize); + 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); + if (StrUtil.isNotEmpty(keyword)) { + lambda.like(UmsRole::getName, keyword); } - return page(page,wrapper); + Page<UmsRole> resultPage = page(page, wrapper); + List<UmsRole> roles = resultPage.getRecords(); + List<Long> types = roles.stream().map(UmsRole::getType).collect(Collectors.toList()); + if (types.size() > 0) { + LambdaQueryWrapper<DataDictionary> dicQuery = new LambdaQueryWrapper<>(); + dicQuery.in(DataDictionary::getId, types); + List<DataDictionary> dics = dataDictionary2Mapper.selectList(dicQuery); + for (UmsRole role : roles) { + for (DataDictionary dic : dics) { + if (dic.getId().equals(role.getType())) { + role.setTypeText(dic.getName()); + } + } + } + } + return resultPage; } @Override - public List<UmsMenu> getMenuList(Long adminId) { - return umsMenuMapper.getMenuList(adminId); + public List<UmsMenuNode> getMenuList(Long adminId) { + List<UmsMenu> menuList = umsMenuMapper.getMenuList(adminId); + List<UmsMenuNode> result = menuList.stream() + .filter(menu -> menu.getParentId().equals(0L)) + .map(menu -> umsMenuService.covertMenuNode(menu, menuList)).collect(Collectors.toList()); + return result; + } + + + @Override + public List<UmsRole> getRoleListByCodes(List<String> codes) { + LambdaQueryWrapper<UmsRole> wrapper = new LambdaQueryWrapper<UmsRole>().in(UmsRole::getCode, codes); + return baseMapper.selectList(wrapper); } @Override @@ -82,7 +120,7 @@ public int allocMenu(Long roleId, List<Long> menuIds) { //鍏堝垹闄ゅ師鏈夊叧绯� QueryWrapper<UmsRoleMenuRelation> wrapper = new QueryWrapper<>(); - wrapper.lambda().eq(UmsRoleMenuRelation::getRoleId,roleId); + wrapper.lambda().eq(UmsRoleMenuRelation::getRoleId, roleId); roleMenuRelationService.remove(wrapper); //鎵归噺鎻掑叆鏂板叧绯� List<UmsRoleMenuRelation> relationList = new ArrayList<>(); @@ -100,7 +138,7 @@ public int allocResource(Long roleId, List<Long> resourceIds) { //鍏堝垹闄ゅ師鏈夊叧绯� QueryWrapper<UmsRoleResourceRelation> wrapper = new QueryWrapper<>(); - wrapper.lambda().eq(UmsRoleResourceRelation::getRoleId,roleId); + wrapper.lambda().eq(UmsRoleResourceRelation::getRoleId, roleId); roleResourceRelationService.remove(wrapper); //鎵归噺鎻掑叆鏂板叧绯� List<UmsRoleResourceRelation> relationList = new ArrayList<>(); @@ -114,4 +152,17 @@ adminCacheService.delResourceListByRole(roleId); return resourceIds.size(); } + + @Override + public Boolean updateStatusBatch(List<Long> ids, Integer status) { + List<UmsRole> roles = new ArrayList<>(); + for (Long id : ids) { + UmsRole umsRole = UmsRole.builder(). + id(id).status(status).build(); + roles.add(umsRole); + } + updateBatchById(roles, roles.size()); + adminCacheService.delResourceListByRoleIds(ids); + return true; + } } -- Gitblit v1.8.0