diff --git a/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/SysRoleServiceImpl.java b/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/SysRoleServiceImpl.java index 5357388d..d34afd8b 100644 --- a/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/SysRoleServiceImpl.java +++ b/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/SysRoleServiceImpl.java @@ -254,16 +254,15 @@ public class SysRoleServiceImpl extends ServiceImpl imp BeanUtil.copyProperties(roleEditDTO, role); boolean b = updateById(role); if (b) { - if (roleEditDTO.getAdminMenuIdList() != null && !roleEditDTO.getAdminMenuIdList().isEmpty() || roleEditDTO.getCashMenuIdList() != null && !roleEditDTO.getCashMenuIdList().isEmpty()) { - sysRolesMenusService.updateChain().eq(SysRolesMenus::getRoleId, role.getId()).remove(); - } - if (roleEditDTO.getAdminMenuIdList() != null && !roleEditDTO.getAdminMenuIdList().isEmpty()) { - addMenu(role.getId(), roleEditDTO.getAdminMenuIdList(), true); + sysRolesMenusService.updateChain().eq(SysRolesMenus::getRoleId, role.getId()).eq(SysRolesMenus::getType, 0).remove(); + + addMenu(role.getId(), roleEditDTO.getAdminMenuIdList().stream().distinct().toList(), true); } if (roleEditDTO.getCashMenuIdList() != null && !roleEditDTO.getCashMenuIdList().isEmpty()) { - addMenu(role.getId(), roleEditDTO.getCashMenuIdList(), false); + sysRolesMenusService.updateChain().eq(SysRolesMenus::getRoleId, role.getId()).eq(SysRolesMenus::getType, 1).remove(); + addMenu(role.getId(), roleEditDTO.getCashMenuIdList().stream().distinct().toList(), false); } return true; }