From c9da1b0da1178911e383ddcaebecd1e088fa6004 Mon Sep 17 00:00:00 2001
From: Fixiaobai <fixiaobai@163.com>
Date: 星期二, 05 九月 2023 16:37:07 +0800
Subject: [PATCH] 修改bug
---
user-server/src/main/java/com/yuanchu/limslaboratory/service/impl/RoleManagerServiceImpl.java | 63 +++++++++++++++++++++++++++----
1 files changed, 55 insertions(+), 8 deletions(-)
diff --git a/user-server/src/main/java/com/yuanchu/limslaboratory/service/impl/RoleManagerServiceImpl.java b/user-server/src/main/java/com/yuanchu/limslaboratory/service/impl/RoleManagerServiceImpl.java
index 2a4313b..d352830 100644
--- a/user-server/src/main/java/com/yuanchu/limslaboratory/service/impl/RoleManagerServiceImpl.java
+++ b/user-server/src/main/java/com/yuanchu/limslaboratory/service/impl/RoleManagerServiceImpl.java
@@ -3,9 +3,10 @@
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.IdUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.yuanchu.limslaboratory.exception.AuthException;
import com.yuanchu.limslaboratory.mapper.MenuMapper;
import com.yuanchu.limslaboratory.mapper.RoleManageMapper;
import com.yuanchu.limslaboratory.pojo.Menu;
@@ -16,8 +17,10 @@
import com.yuanchu.limslaboratory.pojo.dto.RoleInfoDto;
import com.yuanchu.limslaboratory.pojo.dto.UpdateRoleMenuDto;
import com.yuanchu.limslaboratory.service.RoleManagerService;
+import com.yuanchu.limslaboratory.utils.ArrayListUtil;
import com.yuanchu.limslaboratory.utils.JsonUtil;
import com.yuanchu.limslaboratory.utils.MyUtil;
+import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -31,6 +34,7 @@
* @Date 2023/8/23
*/
@Service
+@Slf4j
public class RoleManagerServiceImpl implements RoleManagerService {
@Resource
@@ -73,6 +77,7 @@
,createTime
));
});
+ roleMenuList.add(new RoleMenu(null,nextId,39L,true,false,false,false,createTime));
//roleMenuAddList.forEach(System.out::println);
int i = roleManageMapper.insertBatchRoleMenu(roleMenuList);
return insert>0&&i>0;
@@ -96,9 +101,9 @@
.collect(Collectors.toList());
r.setRoleMenuList(collect);
});
- roleAndMenuDtos.forEach(r->{
- r.getRoleMenuList().forEach(System.out::println);
- });
+ //roleAndMenuDtos.forEach(r->{
+ // r.getRoleMenuList().forEach(System.out::println);
+ //});
Map<String, Object>result=new HashMap<>(3);
result.put("list",roleAndMenuDtos);
int size = roleManageMapper.getRoleInfoByName(dto.getName()).size();
@@ -121,16 +126,24 @@
.set(RoleInfo::getUpdateTime,DateUtil.toLocalDateTime(DateUtil.date()))
.eq(RoleInfo::getId,dto.getRoleId());
int update = roleManageMapper.update(null, updateWrapper);
- //鍒犻櫎role_menu淇℃伅
- int deleteRoleMenuByRoleId = roleManageMapper.deleteRoleMenuByRoleId(dto.getRoleId());
+ List<RoleMenu> roleMenuByRoleId = roleManageMapper.getRoleMenuByRoleId(dto.getRoleId());
+ if (roleMenuByRoleId.size()>1){
+ //鍒犻櫎role_menu淇℃伅
+ update = roleManageMapper.deleteRoleMenuByRoleId(dto.getRoleId());
+ }
//娣诲姞鏈�鏂伴�夋嫨銆�
dto.getMenuData().forEach(l->{
l.setRoleId(dto.getRoleId());
l.setCreateTime(DateUtil.toLocalDateTime(DateUtil.date()));
l.setUpdateTime(DateUtil.toLocalDateTime(DateUtil.date()));
});
- int insertBatchRoleMenu = roleManageMapper.insertBatchRoleMenu(dto.getMenuData());
- return update>0&&deleteRoleMenuByRoleId>0&&insertBatchRoleMenu>0;
+ List<RoleMenu> collect = dto.getMenuData().stream().filter(l -> l.getAdded() == false && l.getDeleted() == false && l.getSelected() == false && l.getUpdated() == false).collect(Collectors.toList());
+ List<RoleMenu> roleMenuList = ArrayListUtil.compareNotEqualListBySingleValue(dto.getMenuData(), collect);
+ if(roleMenuList.size()>0){
+ return update>0&&roleManageMapper.insertBatchRoleMenu(roleMenuList)>0;
+ }else {
+ return update>0;
+ }
}
@Override
@@ -143,6 +156,40 @@
return roleManageMapper.getUserListRole();
}
+ @Override
+ public Map<String, Object> getUrlType(String url) {
+ String type=null;
+ Map<String, Object> stringIntegerMap = roleManageMapper.selctInterFaceType(url);
+ if(Objects.isNull(stringIntegerMap)){
+ log.warn("娌℃湁====銆�"+url+"璇锋眰璧勬簮");
+ throw new AuthException("403","娌℃湁璇ヨ祫婧�");
+ }
+ String of = String.valueOf(stringIntegerMap.get("type"));
+ switch (of) {
+ case "0":
+ type="selected";
+ break;
+ case "1":
+ type="added";
+ break;
+ case "2":
+ type="updated";
+ break;
+ case "3":
+ type="deleted";
+ break;
+ default:
+ break;
+ }
+ stringIntegerMap.put("type",type);
+ return stringIntegerMap;
+ }
+
+ @Override
+ public boolean hasUrl(String type, String menuId, String roleId) {
+ return roleManageMapper.hasUrl( type, menuId, roleId).get("num")>0L;
+ }
+
private List<Menu> getEnumChildren(Menu root, List<Menu> all) {
return all.stream()
--
Gitblit v1.9.3