From dd2554435b9ced61e2a6a06627145fca3bf2685b Mon Sep 17 00:00:00 2001 From: Fixiaobai <fixiaobai@163.com> Date: 星期一, 04 九月 2023 17:17:17 +0800 Subject: [PATCH] 修改bug --- user-server/src/main/java/com/yuanchu/limslaboratory/service/impl/RoleManagerServiceImpl.java | 70 +++++++++++++++++++++++++++++++---- 1 files changed, 62 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 735ee30..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 @@ -2,9 +2,11 @@ import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.IdUtil; -import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +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; @@ -15,7 +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; @@ -29,6 +34,7 @@ * @Date 2023/8/23 */ @Service +@Slf4j public class RoleManagerServiceImpl implements RoleManagerService { @Resource @@ -71,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; @@ -94,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(); @@ -119,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 @@ -136,6 +151,45 @@ return roleManageMapper.selectAllRoleAndMenuByRoleId(roleId); } + @Override + public List<Map<String, Object>> getUserListRole() { + 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