From fee67ca8a0760315047a52fc4101a8f4f80b7a7f Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期一, 11 十一月 2024 15:02:54 +0800 Subject: [PATCH] 1 --- src/main/java/com/moon/server/controller/all/BaseQueryController.java | 60 ++++++++++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 46 insertions(+), 14 deletions(-) diff --git a/src/main/java/com/moon/server/controller/all/BaseQueryController.java b/src/main/java/com/moon/server/controller/all/BaseQueryController.java index 31f4206..83c14f9 100644 --- a/src/main/java/com/moon/server/controller/all/BaseQueryController.java +++ b/src/main/java/com/moon/server/controller/all/BaseQueryController.java @@ -41,10 +41,7 @@ import java.util.ArrayList; import java.util.List; -/** - * 鐖舵煡璇㈡帶鍒跺櫒 - * @author WWW - */ +@SuppressWarnings("ALL") public class BaseQueryController extends BaseController { @Autowired AttachService attachService; @@ -156,9 +153,6 @@ } } - /** - * 澶勭悊WKT - */ private void copeWkt(List<?> list) { for (int i = 0, c = list.size(); i < c; i++) { Object obj = list.get(i); @@ -166,9 +160,6 @@ } } - /** - * 璁剧疆WKT鍔犲瘑 - */ private void setWktEncrypt(Object obj) { if (obj instanceof BaseGeoEntity) { BaseGeoEntity entity = (BaseGeoEntity) obj; @@ -200,7 +191,7 @@ if (StringHelper.isEmpty(wkt)) { return fail("WKT涓嶈兘涓虹┖", null); } - if (null == limit || limit < 1 || limit > StaticData.ONE_HUNDRED) { + if (null == limit || limit < 1 || limit > StaticData.I100) { limit = 20; } if (null == buffer || buffer < 0 || buffer > StaticData.ONE_HUNDRED_THOUSAND) { @@ -424,11 +415,12 @@ @ApiImplicitParam(name = "depcode", value = "鍗曚綅缂栫爜", dataType = "String", paramType = "query", example = "00"), @ApiImplicitParam(name = "dirs", value = "鐩綍缂栫爜", dataType = "String", paramType = "query", example = "00,01"), @ApiImplicitParam(name = "tab", value = "琛ㄥ悕", dataType = "String", paramType = "query", example = "dlg_"), + @ApiImplicitParam(name = "types", value = "绫诲埆", dataType = "String", paramType = "query", example = "娴嬬粯锛圗SV锛�"), @ApiImplicitParam(name = "hasGeom", value = "鍚湁Geom瀛楁", dataType = "Boolean", paramType = "query", example = "false"), @ApiImplicitParam(name = "pageSize", value = "姣忛〉鏉℃暟", dataType = "Integer", paramType = "query", example = "10"), @ApiImplicitParam(name = "pageIndex", value = "鍒嗛〉鏁帮紙浠�1寮�濮嬶級", dataType = "Integer", paramType = "query", example = "1") }) - public ResponseMsg<Object> selectTabsByPage(String depcode, String dirs, String tab, Boolean hasGeom, Integer pageSize, Integer pageIndex) { + public ResponseMsg<Object> selectTabsByPage(String depcode, String dirs, String tab, String types, Boolean hasGeom, Integer pageSize, Integer pageIndex) { try { if (pageSize < 1 || pageIndex < 1) { return fail("姣忛〉椤垫暟鎴栧垎椤垫暟灏忎簬1", null); @@ -445,14 +437,15 @@ if (dirs != null) { filters += String.format(" and %s", dirs); } + String typesFilter = getTypesFilter(types); String field = null == hasGeom || !hasGeom ? "gid" : "geom"; - int count = baseQueryService.selectTabsForCount(tab, field); + int count = baseQueryService.selectTabsForCount(tab, typesFilter, field); if (count == 0) { return success(0, null); } - List<TabEntity> rs = baseQueryService.selectTabsByPage(tab, field, filters, pageSize, pageSize * (pageIndex - 1)); + List<TabEntity> rs = baseQueryService.selectTabsByPage(tab, typesFilter, field, filters, pageSize, pageSize * (pageIndex - 1)); return success(count, rs); } catch (Exception ex) { @@ -460,6 +453,45 @@ } } + private String getTypesFilter(String types) { + if (StringHelper.isEmpty(types)) { + return null; + } + + List<String> list = new ArrayList<>(); + for (String type : types.split(StaticData.COMMA)) { + switch (type) { + case "娴嬬粯锛圗SV锛�": + list.add("bak like '宸ョ▼鏁版嵁/娴嬬粯%'"); + break; + case "鍕樺療锛圗GE锛�": + list.add("bak like '宸ョ▼鏁版嵁/鍕樺療%'"); + break; + case "鍦扮伨锛圗GD锛�": + list.add("bak like '宸ョ▼鏁版嵁/鍦扮伨%'"); + break; + case "娲炲簱锛圗GD锛�": + list.add("bak like '宸ョ▼鏁版嵁/娲炲簱%'"); + break; + case "鍩虹娴嬬粯": + list.add("bak like '鍩虹鏁版嵁/娴嬬粯%'"); + break; + case "鍩虹鍦扮伨": + list.add("bak like '鍩虹鏁版嵁/鍦扮伨%'"); + break; + case "鍩虹鍕樺療": + list.add("bak like '鍩虹鏁版嵁/鍕樺療%'"); + break; + case "鍚堣鏁版嵁": + case "绠$悊鏁版嵁": + default: + break; + } + } + + return list.isEmpty() ? null : StringHelper.join(list, " or "); + } + @SysLog() @ApiOperation(value = "鏌ヨ瀛楁淇℃伅") @ApiImplicitParams({ -- Gitblit v1.9.3