diff --git a/o2server/x_query_assemble_designer/src/main/java/com/x/query/assemble/designer/jaxrs/statement/StatementAction.java b/o2server/x_query_assemble_designer/src/main/java/com/x/query/assemble/designer/jaxrs/statement/StatementAction.java index 562e966ad04786ff89c850ec0057d861417579d6..cd3677e19c0332c86d153161eac0fdd867361f11 100644 --- a/o2server/x_query_assemble_designer/src/main/java/com/x/query/assemble/designer/jaxrs/statement/StatementAction.java +++ b/o2server/x_query_assemble_designer/src/main/java/com/x/query/assemble/designer/jaxrs/statement/StatementAction.java @@ -145,7 +145,7 @@ public class StatementAction extends StandardJaxrsAction { @JaxrsMethodDescribe(value = "执行语句V2,可以同时执行查询结果及查询总数.", action = ActionExecuteV2.class) @POST - @Path("{flag}/execute/mode/{mode}page/{page}/size/{size}") + @Path("{flag}/execute/mode/{mode}/page/{page}/size/{size}") @Produces(HttpMediaType.APPLICATION_JSON_UTF_8) @Consumes(MediaType.APPLICATION_JSON) public void executeV2(@Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request, diff --git a/o2server/x_query_assemble_surface/src/main/java/com/x/query/assemble/surface/jaxrs/statement/ActionListWithQuery.java b/o2server/x_query_assemble_surface/src/main/java/com/x/query/assemble/surface/jaxrs/statement/ActionListWithQuery.java index d3996fa4901c6b2ae8c77e8962490cecc334e8b4..8d1d52e8dd0b16b8312cfc8b67cd43152a85c9b3 100644 --- a/o2server/x_query_assemble_surface/src/main/java/com/x/query/assemble/surface/jaxrs/statement/ActionListWithQuery.java +++ b/o2server/x_query_assemble_surface/src/main/java/com/x/query/assemble/surface/jaxrs/statement/ActionListWithQuery.java @@ -1,12 +1,15 @@ package com.x.query.assemble.surface.jaxrs.statement; +import com.google.gson.JsonElement; import com.x.base.core.container.EntityManagerContainer; import com.x.base.core.container.factory.EntityManagerContainerFactory; import com.x.base.core.entity.JpaObject; +import com.x.base.core.project.annotation.FieldDescribe; import com.x.base.core.project.bean.WrapCopier; import com.x.base.core.project.bean.WrapCopierFactory; import com.x.base.core.project.exception.ExceptionAccessDenied; import com.x.base.core.project.exception.ExceptionEntityNotExist; +import com.x.base.core.project.gson.GsonPropertyObject; import com.x.base.core.project.http.ActionResult; import com.x.base.core.project.http.EffectivePerson; import com.x.query.assemble.surface.Business; @@ -19,10 +22,11 @@ import java.util.ArrayList; import java.util.List; class ActionListWithQuery extends BaseAction { - ActionResult> execute(EffectivePerson effectivePerson, String queryFlag, Boolean justSelect, Boolean hasView) throws Exception { + ActionResult> execute(EffectivePerson effectivePerson, String queryFlag, JsonElement jsonElement) throws Exception { try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { ActionResult> result = new ActionResult<>(); Business business = new Business(emc); + Wi wi = this.convertToWrapIn(jsonElement, Wi.class); Query query = emc.flag(queryFlag, Query.class); if (null == query) { throw new ExceptionEntityNotExist(queryFlag); @@ -34,10 +38,10 @@ class ActionListWithQuery extends BaseAction { for (String id : emc.idsEqual(Statement.class, Statement.query_FIELDNAME, query.getId())) { Statement o = business.pick(id, Statement.class); if (null != o) { - if(BooleanUtils.isTrue(hasView) && StringUtils.isBlank(o.getView())){ + if(BooleanUtils.isTrue(wi.getHasView()) && StringUtils.isBlank(o.getView())){ continue; } - if(BooleanUtils.isTrue(justSelect) && !Statement.TYPE_SELECT.equals(o.getType())){ + if(BooleanUtils.isTrue(wi.getJustSelect()) && !Statement.TYPE_SELECT.equals(o.getType())){ continue; } if (business.readable(effectivePerson, o)) { @@ -50,6 +54,30 @@ class ActionListWithQuery extends BaseAction { } } + public static class Wi extends GsonPropertyObject{ + + @FieldDescribe("是否只查询select语句.") + private Boolean justSelect; + @FieldDescribe("是否只查询含有视图的语句.") + private Boolean hasView; + + public Boolean getJustSelect() { + return justSelect; + } + + public void setJustSelect(Boolean justSelect) { + this.justSelect = justSelect; + } + + public Boolean getHasView() { + return hasView; + } + + public void setHasView(Boolean hasView) { + this.hasView = hasView; + } + } + public static class Wo extends Statement { private static final long serialVersionUID = -5755898083219447939L; diff --git a/o2server/x_query_assemble_surface/src/main/java/com/x/query/assemble/surface/jaxrs/statement/StatementAction.java b/o2server/x_query_assemble_surface/src/main/java/com/x/query/assemble/surface/jaxrs/statement/StatementAction.java index 8229d8e33f9a1a3aeb22f98b88d7a5dbc064eeaf..0cf7092268e46c001a08a7d3b293a8c7027b809f 100644 --- a/o2server/x_query_assemble_surface/src/main/java/com/x/query/assemble/surface/jaxrs/statement/StatementAction.java +++ b/o2server/x_query_assemble_surface/src/main/java/com/x/query/assemble/surface/jaxrs/statement/StatementAction.java @@ -48,20 +48,18 @@ public class StatementAction extends StandardJaxrsAction { } @JaxrsMethodDescribe(value = "根据查询列示语句对象.", action = ActionListWithQuery.class) - @GET + @POST @Path("list/query/{queryFlag}") @Produces(HttpMediaType.APPLICATION_JSON_UTF_8) @Consumes(MediaType.APPLICATION_JSON) public void listWithQuery(@Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request, - @JaxrsParameterDescribe("查询标识") @PathParam("queryFlag") String queryFlag, - @JaxrsParameterDescribe("是否只查询select语句") @QueryParam("justSelect") Boolean justSelect, - @JaxrsParameterDescribe("是否只查询含有视图的语句") @QueryParam("hasView") Boolean hasView) { + @JaxrsParameterDescribe("查询标识") @PathParam("queryFlag") String queryFlag, JsonElement jsonElement) { ActionResult> result = new ActionResult<>(); EffectivePerson effectivePerson = this.effectivePerson(request); try { - result = new ActionListWithQuery().execute(effectivePerson, queryFlag, justSelect, hasView); + result = new ActionListWithQuery().execute(effectivePerson, queryFlag, jsonElement); } catch (Exception e) { - logger.error(e, effectivePerson, request, null); + logger.error(e, effectivePerson, request, jsonElement); result.error(e); } asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result)); @@ -87,7 +85,7 @@ public class StatementAction extends StandardJaxrsAction { @JaxrsMethodDescribe(value = "执行语句V2,可以同时执行查询结果及查询总数.", action = ActionExecuteV2.class) @POST - @Path("{flag}/execute/mode/{mode}page/{page}/size/{size}") + @Path("{flag}/execute/mode/{mode}/page/{page}/size/{size}") @Produces(HttpMediaType.APPLICATION_JSON_UTF_8) @Consumes(MediaType.APPLICATION_JSON) public void executeV2(@Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request,