diff --git a/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/controller/RoleController.java b/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/controller/RoleController.java
index 30b6203c..4bc2fe70 100644
--- a/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/controller/RoleController.java
+++ b/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/controller/RoleController.java
@@ -12,15 +12,17 @@ import com.cloud.kicc.common.core.api.R;
import com.cloud.kicc.common.core.constant.AppConstants;
import com.cloud.kicc.common.core.util.PinyinUtil;
import com.cloud.kicc.common.log.annotation.SysLog;
-import com.cloud.kicc.system.api.entity.Role;
-import com.cloud.kicc.system.api.entity.RoleMenu;
+import com.cloud.kicc.system.api.entity.*;
import com.cloud.kicc.system.service.RoleMenuService;
import com.cloud.kicc.system.service.RoleService;
+import com.cloud.kicc.system.service.RoleTenantService;
import lombok.AllArgsConstructor;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import java.util.Arrays;
+import java.util.List;
+import java.util.stream.Collectors;
/**
*
@@ -37,6 +39,7 @@ public class RoleController {
private final RoleService roleService;
private final RoleMenuService roleMenuService;
+ private final RoleTenantService tenantService;
private LambdaQueryWrapper getQueryWrapper(Role role) {
return new LambdaQueryWrapper()
@@ -53,7 +56,15 @@ public class RoleController {
@GetMapping("/{id:\\w+}")
public R getById(@PathVariable("id") String id) {
- return R.ok(roleService.getById(id));
+ Role role = roleService.getById(id);
+ List tenantIds;
+ // 设置角色多租户信息
+ if (role != null) {
+ tenantIds = tenantService.list(new LambdaQueryWrapper().eq(RoleTenant::getRoleId, role.getId()))
+ .stream().map(roleTenant -> roleTenant.getMultiTenantId()).collect(Collectors.toList());
+ role.setTenantIds(ArrayUtil.toArray(tenantIds, String.class));
+ }
+ return R.ok(role);
}
@SysLog("角色新增")
diff --git a/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/service/impl/RoleServiceImpl.java b/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/service/impl/RoleServiceImpl.java
index a962223b..114854f2 100644
--- a/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/service/impl/RoleServiceImpl.java
+++ b/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/service/impl/RoleServiceImpl.java
@@ -29,7 +29,7 @@ import java.util.List;
public class RoleServiceImpl extends ServiceImpl implements RoleService {
private final RoleMenuService roleMenuService;
- private final RoleTenantService RoleTenantService;
+ private final RoleTenantService roleTenantService;
@Override
@Transactional(rollbackFor = Exception.class)
@@ -46,6 +46,9 @@ public class RoleServiceImpl extends ServiceImpl implements Ro
baseMapper.updateById(role);
// 删除角色与菜单关联
roleMenuService.remove(new LambdaQueryWrapper().eq(RoleMenu::getRoleId, role.getId()));
+ // 删除角色与多租户关联
+ roleTenantService.remove(new LambdaQueryWrapper().eq(RoleTenant::getRoleId, role.getId()));
+ insertRoleTenant(role);
return insertRoleMenu(role);
}
@@ -76,7 +79,7 @@ public class RoleServiceImpl extends ServiceImpl implements Ro
list.add(rt);
}
if (list.size() > 0) {
- rows = RoleTenantService.saveBatch(list);
+ rows = roleTenantService.saveBatch(list);
}
return rows;
}
diff --git a/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/resources/mapper/MenuMapper.xml b/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/resources/mapper/MenuMapper.xml
index 3c8eee2a..f410d0f6 100644
--- a/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/resources/mapper/MenuMapper.xml
+++ b/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/resources/mapper/MenuMapper.xml
@@ -39,15 +39,15 @@