From 173393be0341316d4a558a00ed6b1deb8d97b039 Mon Sep 17 00:00:00 2001 From: st Date: Mon, 6 Jul 2020 13:24:02 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E4=B8=AA=E4=BA=BA=E8=AE=BE=E7=BD=AE?= =?UTF-8?q?=E3=80=91=E8=8E=B7=E5=8F=96=E6=8C=87=E5=AE=9A=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E7=9A=84Custom?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jaxrs/custom/ActionManagerGet.java | 35 +++++++++++++++++++ .../personal/jaxrs/custom/CustomAction.java | 18 ++++++++++ 2 files changed, 53 insertions(+) create mode 100644 o2server/x_organization_assemble_personal/src/main/java/com/x/organization/assemble/personal/jaxrs/custom/ActionManagerGet.java 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 0000000000..b006bc4991 --- /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 309f7edd75..2f871fbfdf 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("{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 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 -- GitLab