diff --git a/o2server/x_organization_assemble_personal/src/main/java/com/x/organization/assemble/personal/jaxrs/custom/ActionManagerGet.java b/o2server/x_organization_assemble_personal/src/main/java/com/x/organization/assemble/personal/jaxrs/custom/ActionManagerGet.java new file mode 100644 index 0000000000000000000000000000000000000000..b006bc49918fa822e7affba7a175c0c2e431f78f --- /dev/null +++ b/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 execute(EffectivePerson effectivePerson, String person, String name) throws Exception { + try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { + ActionResult 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; + } + } +} diff --git a/o2server/x_organization_assemble_personal/src/main/java/com/x/organization/assemble/personal/jaxrs/custom/CustomAction.java b/o2server/x_organization_assemble_personal/src/main/java/com/x/organization/assemble/personal/jaxrs/custom/CustomAction.java index 309f7edd7546de6a03378d1a89f2e93d57cb2e17..f5883ccad4acff95c497fff8df9eb46188af7b99 100644 --- a/o2server/x_organization_assemble_personal/src/main/java/com/x/organization/assemble/personal/jaxrs/custom/CustomAction.java +++ b/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("manager/person/{person}/name/{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 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