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 | 23 +++++++++++++++-------- 1 files changed, 15 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 90affac..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,7 +3,7 @@ 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; @@ -17,6 +17,7 @@ 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; @@ -76,9 +77,7 @@ ,createTime )); }); - if(roleMenuList.size()<1){ - roleMenuList.add(new RoleMenu(null,nextId,39L,true,false,false,false,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; @@ -127,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 -- Gitblit v1.9.3