wangwei 6 jaren geleden
bovenliggende
commit
2560651676

+ 14 - 3
examcloud-core-basic-api-provider/src/main/java/cn/com/qmth/examcloud/core/basic/api/controller/OrgController.java

@@ -344,15 +344,26 @@ public class OrgController extends ControllerSupport {
 	 * 方法注释
 	 *
 	 * @author WANGWEI
-	 * @param parentId
-	 * @param orgName
+	 * @param name
+	 * @param rootOrgId
+	 * @param enable
 	 * @return
 	 */
 	@ApiOperation(value = "查询一级子机构列表")
 	@GetMapping("query")
 	public List<OrgEntity> querySubOrgList(@RequestParam(required = true) String name,
+			@RequestParam(required = false) Long rootOrgId,
 			@RequestParam(required = false) Boolean enable) {
 
+		User accessUser = getAccessUser();
+		if (null == rootOrgId) {
+			rootOrgId = accessUser.getRootOrgId();
+		} else {
+			validateRootOrgIsolation(rootOrgId);
+		}
+
+		Long finalRootOrgId = rootOrgId;
+
 		if (StringUtils.isBlank(name)) {
 			List<OrgEntity> list = Lists.newArrayList();
 			return list;
@@ -360,7 +371,7 @@ public class OrgController extends ControllerSupport {
 
 		Specification<OrgEntity> specification = (root, query, cb) -> {
 			List<Predicate> predicates = new ArrayList<>();
-			predicates.add(cb.equal(root.get("rootId"), getRootOrgId()));
+			predicates.add(cb.equal(root.get("rootId"), finalRootOrgId));
 			predicates.add(cb.isNotNull(root.get("parentId")));
 			if (StringUtils.isNotBlank(name)) {
 				Predicate pr1 = cb.like(root.get("name"), toSqlSearchPattern(name));