Commit 0726081a92ded2698b8eb5924fdca313f13339fb

Authored by xp.Huang
1 parent 34e0ebb5

fix: 修改租户多角色,违反唯一约束的bug

@@ -356,13 +356,19 @@ public class TkTenantServiceImpl extends AbstractBaseService<TenantMapper, SysTe @@ -356,13 +356,19 @@ public class TkTenantServiceImpl extends AbstractBaseService<TenantMapper, SysTe
356 * @param roleIds 角色IDS 356 * @param roleIds 角色IDS
357 */ 357 */
358 private void saveTenantMapping(String tenantId, String[] roleIds) { 358 private void saveTenantMapping(String tenantId, String[] roleIds) {
  359 + Set<String> allMenus = new HashSet<>();
359 // 添加租户角色关系 360 // 添加租户角色关系
360 for (String roleId : roleIds) { 361 for (String roleId : roleIds) {
361 saveTenantRoleMapping(roleId, tenantId); 362 saveTenantRoleMapping(roleId, tenantId);
362 // 查询roleId有多少菜单 363 // 查询roleId有多少菜单
363 Set<String> menuIds = roleMapper.getMenuIdsByRoleId(roleId); 364 Set<String> menuIds = roleMapper.getMenuIdsByRoleId(roleId);
364 - // 添加租户菜单关系  
365 - for (String menuId : menuIds) { 365 + if (null != menuIds && !menuIds.isEmpty()) {
  366 + allMenus.addAll(menuIds);
  367 + }
  368 + }
  369 + // 添加租户菜单关系
  370 + if (!allMenus.isEmpty()) {
  371 + for (String menuId : allMenus) {
366 saveTenantMenuMapping(menuId, tenantId); 372 saveTenantMenuMapping(menuId, tenantId);
367 } 373 }
368 } 374 }