Просмотр исходного кода

增加判断当前用户是否是云文件管理员角色

o2sword 5 лет назад
Родитель
Сommit
6cab9b3aa9

+ 1 - 1
o2server/x_file_assemble_control/src/main/java/com/x/file/assemble/control/jaxrs/attachment2/ActionUseCapacity.java

@@ -15,7 +15,7 @@ class ActionUseCapacity extends BaseAction {
 			ActionResult<Wo> result = new ActionResult<>();
 			Business business = new Business(emc);
 			String queryPerson = effectivePerson.getDistinguishedName();
-			if(effectivePerson.isManager() && StringUtils.isNotBlank(person)){
+			if(business.controlAble(effectivePerson) && StringUtils.isNotBlank(person)){
 				queryPerson = person;
 			}
 			Wo wo = new Wo();

+ 27 - 0
o2server/x_file_assemble_control/src/main/java/com/x/file/assemble/control/jaxrs/config/ActionIsManager.java

@@ -0,0 +1,27 @@
+package com.x.file.assemble.control.jaxrs.config;
+
+import com.x.base.core.container.EntityManagerContainer;
+import com.x.base.core.container.factory.EntityManagerContainerFactory;
+import com.x.base.core.project.http.ActionResult;
+import com.x.base.core.project.http.EffectivePerson;
+import com.x.base.core.project.jaxrs.WrapBoolean;
+import com.x.file.assemble.control.Business;
+
+class ActionIsManager extends BaseAction {
+
+	ActionResult<Wo> execute(EffectivePerson effectivePerson) throws Exception {
+		try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
+			ActionResult<Wo> result = new ActionResult<>();
+			Business business = new Business(emc);
+			Wo wo = new Wo();
+			wo.setValue(business.controlAble(effectivePerson));
+			result.setData(wo);
+			return result;
+		}
+	}
+
+	public static class Wo extends WrapBoolean {
+
+
+	}
+}

+ 17 - 3
o2server/x_file_assemble_control/src/main/java/com/x/file/assemble/control/jaxrs/config/ConfigAction.java

@@ -3,7 +3,6 @@ package com.x.file.assemble.control.jaxrs.config;
 import com.google.gson.JsonElement;
 import com.x.base.core.project.annotation.JaxrsDescribe;
 import com.x.base.core.project.annotation.JaxrsMethodDescribe;
-import com.x.base.core.project.annotation.JaxrsParameterDescribe;
 import com.x.base.core.project.http.ActionResult;
 import com.x.base.core.project.http.EffectivePerson;
 import com.x.base.core.project.http.HttpMediaType;
@@ -11,7 +10,6 @@ import com.x.base.core.project.jaxrs.ResponseFactory;
 import com.x.base.core.project.jaxrs.StandardJaxrsAction;
 import com.x.base.core.project.logger.Logger;
 import com.x.base.core.project.logger.LoggerFactory;
-import com.x.file.assemble.control.jaxrs.recycle.*;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.ws.rs.*;
@@ -19,7 +17,6 @@ import javax.ws.rs.container.AsyncResponse;
 import javax.ws.rs.container.Suspended;
 import javax.ws.rs.core.Context;
 import javax.ws.rs.core.MediaType;
-import java.util.List;
 
 @Path("config")
 @JaxrsDescribe("云文件管理配置")
@@ -27,6 +24,23 @@ public class ConfigAction extends StandardJaxrsAction {
 
 	private static Logger logger = LoggerFactory.getLogger(ConfigAction.class);
 
+	@JaxrsMethodDescribe(value = "判断当前用户是否是云文件管理员。", action = ActionIsManager.class)
+	@GET
+	@Path("is/file/manager")
+	@Produces(HttpMediaType.APPLICATION_JSON_UTF_8)
+	@Consumes(MediaType.APPLICATION_JSON)
+	public void isFileManager(@Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request) {
+		ActionResult<ActionIsManager.Wo> result = new ActionResult<>();
+		EffectivePerson effectivePerson = this.effectivePerson(request);
+		try {
+			result = new ActionIsManager().execute(effectivePerson);
+		} catch (Exception e) {
+			logger.error(e, effectivePerson, request, null);
+			result.error(e);
+		}
+		asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result));
+	}
+
 	@JaxrsMethodDescribe(value = "获取云文件系统配置。", action = ActionGetSystemConfig.class)
 	@GET
 	@Path("system/config")