From f1c38047fad7066bc5f981521bb88641cff7507d Mon Sep 17 00:00:00 2001
From: zhanghua <314079846@qq.com>
Date: 星期四, 09 三月 2023 17:27:44 +0800
Subject: [PATCH] bug修改
---
ycl-common/src/main/java/com/ycl/service/user/impl/UmsRoleServiceImpl.java | 63 ++++++++++++++++++++++++-------
1 files changed, 48 insertions(+), 15 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 2dae3bd..3d35c0e 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,15 @@
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.DataDictionaryMapper;
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.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -20,23 +21,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 DataDictionaryMapper dataDictionaryMapper;
+
@Override
public boolean create(UmsRole role) {
role.setCreateTime(new Date());
@@ -54,19 +67,39 @@
@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 = dataDictionaryMapper.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<UmsMenu> listMenu(Long roleId) {
@@ -82,7 +115,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 +133,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<>();
@@ -119,11 +152,11 @@
public Boolean updateStatusBatch(List<Long> ids, Integer status) {
List<UmsRole> roles = new ArrayList<>();
for (Long id : ids) {
- UmsRole umsRole = UmsRole.builder().
+ UmsRole umsRole = UmsRole.builder().
id(id).status(status).build();
roles.add(umsRole);
}
- updateBatchById(roles,roles.size());
+ updateBatchById(roles, roles.size());
adminCacheService.delResourceListByRoleIds(ids);
return true;
}
--
Gitblit v1.8.0