wangwei преди 6 години
родител
ревизия
36c8f9fdf1

+ 12 - 6
examcloud-core-basic-api-provider/src/main/java/cn/com/qmth/examcloud/core/basic/api/controller/RolePrivilegeController.java

@@ -44,6 +44,7 @@ import cn.com.qmth.examcloud.core.basic.dao.RoleRepo;
 import cn.com.qmth.examcloud.core.basic.dao.entity.AppEntity;
 import cn.com.qmth.examcloud.core.basic.dao.entity.PrivilegeEntity;
 import cn.com.qmth.examcloud.core.basic.dao.entity.PrivilegeGroupEntity;
+import cn.com.qmth.examcloud.core.basic.dao.entity.RoleEntity;
 import cn.com.qmth.examcloud.core.basic.dao.entity.RolePrivilegeRelationEntity;
 import cn.com.qmth.examcloud.core.basic.service.RolePrivilegeService;
 import io.swagger.annotations.ApiOperation;
@@ -84,15 +85,20 @@ public class RolePrivilegeController extends ControllerSupport {
 	@Autowired
 	RolePrivilegeService rolePrivilegeService;
 
-	@ApiOperation(value = "查询所有角色", notes = "")
-	@PostMapping("getAllRoles")
-	public List<RoleBean> getAllRoles(@RequestParam Boolean withSuperAdmin) {
-		List<cn.com.qmth.examcloud.core.basic.dao.entity.RoleEntity> roleList = roleRepo.findAll();
+	@ApiOperation(value = "查询角色", notes = "")
+	@PostMapping("getRoles")
+	public List<RoleBean> getRoles(@RequestParam Boolean includeSuperAdmin,
+			@RequestParam Long rootOrgId) {
+		List<RoleEntity> roleList = roleRepo.findByRootOrgIdIsNull();
+		if (null != rootOrgId) {
+			List<RoleEntity> rootOrgRoleList = roleRepo.findByRootOrgId(rootOrgId);
+			roleList.addAll(rootOrgRoleList);
+		}
 		List<RoleBean> roleBeanList = Lists.newArrayList();
 
-		for (cn.com.qmth.examcloud.core.basic.dao.entity.RoleEntity cur : roleList) {
+		for (RoleEntity cur : roleList) {
 
-			if ((!withSuperAdmin) && cur.getCode().equals(RoleMeta.SUPER_ADMIN.name())) {
+			if ((!includeSuperAdmin) && cur.getCode().equals(RoleMeta.SUPER_ADMIN.name())) {
 				continue;
 			}
 

+ 6 - 0
examcloud-core-basic-dao/src/main/java/cn/com/qmth/examcloud/core/basic/dao/RoleRepo.java

@@ -1,5 +1,7 @@
 package cn.com.qmth.examcloud.core.basic.dao;
 
+import java.util.List;
+
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
 import org.springframework.data.repository.query.QueryByExampleExecutor;
@@ -16,4 +18,8 @@ public interface RoleRepo
 
 	RoleEntity findByCodeAndRootOrgId(String code, Long rootOrgId);
 
+	List<RoleEntity> findByRootOrgIdIsNull();
+
+	List<RoleEntity> findByRootOrgId(Long rootOrgId);
+
 }