diff --git a/uapbd/src/public/nccloud/api/uapbd/QuerySync.java b/uapbd/src/public/nccloud/api/uapbd/QuerySync.java index eee8607..a24eed7 100644 --- a/uapbd/src/public/nccloud/api/uapbd/QuerySync.java +++ b/uapbd/src/public/nccloud/api/uapbd/QuerySync.java @@ -39,7 +39,20 @@ public class QuerySync extends AbstractNCCRestResource { Map data = apiUfinterface.getData().getParamdata(); JSONObject pageInfo = (JSONObject) JSONObject.toJSON(apiUfinterface.getPageInfo()); data.remove("type"); // 移除类型参数,因为它仅用于路由,向下传递会影响查询 + + // 获取额外条件 + String extraCondition = null; + if (data.containsKey("extraCondition")) { + extraCondition = (String) data.get("extraCondition"); + data.remove("extraCondition"); // 移除额外条件参数,防止影响查询 + } + String condition = QuerySyncSqlUtils.buildUniversalCondition(data); + + // 如果存在额外条件,拼接到条件后面 + if (extraCondition != null && !extraCondition.isEmpty()) { + condition = condition + " AND " + extraCondition; + } String countSql = "SELECT " + pkColumnName + " FROM " + viewName + " WHERE " + condition; @SuppressWarnings("unchecked") @@ -63,6 +76,7 @@ public class QuerySync extends AbstractNCCRestResource { return ResultMessageUtil.toJSONByPage(rows, openApiPageInfo, false); } + @POST @Path("query") @Consumes({"application/json"})