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

【个人设置】获取指定用户的Custom

st 5 лет назад
Родитель
Сommit
173393be03

+ 35 - 0
o2server/x_organization_assemble_personal/src/main/java/com/x/organization/assemble/personal/jaxrs/custom/ActionManagerGet.java

@@ -0,0 +1,35 @@
+package com.x.organization.assemble.personal.jaxrs.custom;
+
+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.logger.Logger;
+import com.x.base.core.project.logger.LoggerFactory;
+import com.x.organization.assemble.personal.Business;
+import com.x.organization.core.entity.Custom;
+import com.x.organization.core.entity.Person;
+import org.apache.commons.lang3.StringUtils;
+
+class ActionManagerGet extends BaseAction {
+
+	private static Logger logger = LoggerFactory.getLogger(ActionManagerGet.class);
+
+	ActionResult<String> execute(EffectivePerson effectivePerson, String person, String name) throws Exception {
+		try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
+			ActionResult<String> result = new ActionResult<>();
+			String wo = "";
+			Business business = new Business(emc);
+			if (effectivePerson.isManager() && StringUtils.isNotEmpty(person)) {
+				Person p = business.person().pick(person);
+				if (p != null) {
+					Custom o = this.getWithName(emc, p.getDistinguishedName(), name);
+					if (null != o) {
+						result.setData(o.getData());
+					}
+				}
+			}
+			return result;
+		}
+	}
+}

+ 18 - 0
o2server/x_organization_assemble_personal/src/main/java/com/x/organization/assemble/personal/jaxrs/custom/CustomAction.java

@@ -43,6 +43,24 @@ public class CustomAction extends StandardJaxrsAction {
 		}
 		asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result));
 	}
+	@JaxrsMethodDescribe(value = "获取指定用户的Custom。", action = ActionManagerGet.class)
+	@GET
+	@Path("{person}/{name}")
+	@Produces(HttpMediaType.APPLICATION_JSON_UTF_8)
+	@Consumes(MediaType.APPLICATION_JSON)
+	public void managerGet(@Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request,
+					@JaxrsParameterDescribe("用户") @PathParam("person") String person,
+					@JaxrsParameterDescribe("名称") @PathParam("name") String name) {
+		ActionResult<String> result = new ActionResult<>();
+		EffectivePerson effectivePerson = this.effectivePerson(request);
+		try {
+			result = new ActionManagerGet().execute(effectivePerson,person, name);
+		} catch (Exception e) {
+			logger.error(e, effectivePerson, request, null);
+			result.error(e);
+		}
+		asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result));
+	}
 
 	@JaxrsMethodDescribe(value = "更新指定名称的Custom.", action = ActionEdit.class)
 	@PUT