WANG 6 tahun lalu
induk
melakukan
a485d2f606

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

@@ -3,6 +3,7 @@ package cn.com.qmth.examcloud.core.basic.api.controller;
 import java.util.Arrays;
 import java.util.List;
 import java.util.Map;
+import java.util.Optional;
 import java.util.Set;
 
 import org.apache.commons.collections.CollectionUtils;
@@ -39,10 +40,13 @@ import cn.com.qmth.examcloud.core.basic.dao.PrivilegeGroupRepo;
 import cn.com.qmth.examcloud.core.basic.dao.PrivilegeRepo;
 import cn.com.qmth.examcloud.core.basic.dao.RolePrivilegeRelationRepo;
 import cn.com.qmth.examcloud.core.basic.dao.RoleRepo;
+import cn.com.qmth.examcloud.core.basic.dao.RootOrgPrivilegeRelationRepo;
 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.dao.entity.RootOrgPrivilegeRelationEntity;
+import cn.com.qmth.examcloud.core.basic.dao.entity.RootOrgPrivilegeRelationPK;
 import cn.com.qmth.examcloud.core.basic.service.RolePrivilegeService;
 import cn.com.qmth.examcloud.core.basic.service.bean.RoleInfo;
 import cn.com.qmth.examcloud.web.helpers.GlobalHelper;
@@ -83,6 +87,9 @@ public class RolePrivilegeController extends ControllerSupport {
 	@Autowired
 	RolePrivilegeRelationRepo rolePrivilegeRelationRepo;
 
+	@Autowired
+	RootOrgPrivilegeRelationRepo rootOrgPrivilegeRelationRepo;
+
 	@Autowired
 	RolePrivilegeService rolePrivilegeService;
 
@@ -362,7 +369,7 @@ public class RolePrivilegeController extends ControllerSupport {
 		return privilege;
 	}
 
-	@ApiOperation(value = "校验权限")
+	@ApiOperation(value = "校验权限(角色判断)")
 	@PostMapping("checkPrivileges")
 	public Map<String, Boolean> checkPrivileges(@RequestParam String privilegeCodes) {
 
@@ -393,6 +400,30 @@ public class RolePrivilegeController extends ControllerSupport {
 		return ret;
 	}
 
+	@ApiOperation(value = "校验权限(机构判断)")
+	@PostMapping("checkRootOrgPrivileges")
+	public Map<String, Boolean> checkRootOrgPrivileges(@RequestParam String privilegeCodes) {
+
+		List<String> privilegeCodeList = RegExpUtil.findAll(privilegeCodes, "[0-9A-Za-z_]+");
+
+		User accessUser = getAccessUser();
+
+		List<PrivilegeEntity> privilegeEntityList = privilegeRepo
+				.findAllByCodeIn(privilegeCodeList);
+
+		Map<String, Boolean> ret = Maps.newHashMap();
+
+		for (PrivilegeEntity cur : privilegeEntityList) {
+
+			Optional<RootOrgPrivilegeRelationEntity> optional = rootOrgPrivilegeRelationRepo
+					.findById(
+							new RootOrgPrivilegeRelationPK(cur.getId(), accessUser.getRootOrgId()));
+			ret.put(cur.getCode(), optional.isPresent());
+		}
+
+		return ret;
+	}
+
 	@ApiOperation(value = "添加角色")
 	@PostMapping("addRole")
 	public RoleEntity addRole(@RequestBody RoleDomain req) {