From 0ef2d5a09df20b49ddea40454703287101ee2a91 Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期一, 05 二月 2024 10:10:08 +0800 Subject: [PATCH] 修改资料馆的元数据分页查询接口 --- src/main/java/com/lf/server/service/show/DataLibService.java | 8 ++++---- src/main/java/com/lf/server/service/all/BaseQueryService.java | 2 +- src/main/resources/mapper/all/BaseQueryMapper.xml | 2 +- src/main/java/com/lf/server/mapper/all/BaseQueryMapper.java | 2 +- src/main/java/com/lf/server/controller/show/DataLibController.java | 3 ++- 5 files changed, 9 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/lf/server/controller/show/DataLibController.java b/src/main/java/com/lf/server/controller/show/DataLibController.java index a98f2c6..4e7ee50 100644 --- a/src/main/java/com/lf/server/controller/show/DataLibController.java +++ b/src/main/java/com/lf/server/controller/show/DataLibController.java @@ -98,7 +98,8 @@ if (pageSize < 1 || pageIndex < 1) { return fail("姣忛〉椤垫暟鎴栧垎椤垫暟灏忎簬1", null); } - dirs = DataLibService.copeCodes(dirs, "dircode"); + // dirs = DataLibService.copeCodes(dirs, "dircode") + dirs = dataLibService.getDirsByTypes(types, dirs, "dircode"); int count = metaService.selectMetasForCount(depcode, dirs, name); diff --git a/src/main/java/com/lf/server/mapper/all/BaseQueryMapper.java b/src/main/java/com/lf/server/mapper/all/BaseQueryMapper.java index dab9b53..69cf2f8 100644 --- a/src/main/java/com/lf/server/mapper/all/BaseQueryMapper.java +++ b/src/main/java/com/lf/server/mapper/all/BaseQueryMapper.java @@ -109,7 +109,7 @@ * @param dirs * @return */ - public List<KeyValueEntity> selectDirsByTypes(String types, String dirs); + public List<KeyValueEntity> selectDirsByTypes(String[] types, String dirs); /** * 鏍规嵁琛ㄥ悕鏌ヨ闄勪欢 diff --git a/src/main/java/com/lf/server/service/all/BaseQueryService.java b/src/main/java/com/lf/server/service/all/BaseQueryService.java index e8e8e7b..94a4e38 100644 --- a/src/main/java/com/lf/server/service/all/BaseQueryService.java +++ b/src/main/java/com/lf/server/service/all/BaseQueryService.java @@ -324,7 +324,7 @@ } @Override - public List<KeyValueEntity> selectDirsByTypes(String types, String dirs) { + public List<KeyValueEntity> selectDirsByTypes(String[] types, String dirs) { return baseQueryMapper.selectDirsByTypes(types, dirs); } diff --git a/src/main/java/com/lf/server/service/show/DataLibService.java b/src/main/java/com/lf/server/service/show/DataLibService.java index 88f9bf4..e6f839b 100644 --- a/src/main/java/com/lf/server/service/show/DataLibService.java +++ b/src/main/java/com/lf/server/service/show/DataLibService.java @@ -393,7 +393,7 @@ } if (!StringUtils.isEmpty(types)) { - List<KeyValueEntity> list = baseQueryService.selectDirsByTypes(types, dirs); + List<KeyValueEntity> list = baseQueryService.selectDirsByTypes(types.split(","), dirs); if (null == list || list.isEmpty()) { return null; } @@ -405,17 +405,17 @@ } /** - * 澶勭悊鐩綍缂栫爜 + * 澶勭悊鐩綍缂栫爜锛歞ircode ~ '^0A|^0E' */ public static String copeDirs(List<KeyValueEntity> kvs, String field) { List<String> list = new ArrayList<>(); for (KeyValueEntity kv : kvs) { String[] dirs = kv.getValue().split(","); for (String dir : dirs) { - list.add(String.format("%s like '%s%%'", field, dir)); + list.add("^" + dir); } } - return "(" + StringHelper.join(list, " or ") + ")"; + return field + " ~ '" + StringHelper.join(list, "|") + "'"; } } diff --git a/src/main/resources/mapper/all/BaseQueryMapper.xml b/src/main/resources/mapper/all/BaseQueryMapper.xml index 4ee9e12..c1b9ef0 100644 --- a/src/main/resources/mapper/all/BaseQueryMapper.xml +++ b/src/main/resources/mapper/all/BaseQueryMapper.xml @@ -87,7 +87,7 @@ </select> <select id="selectDirsByTypes" resultType="com.lf.server.entity.ctrl.KeyValueEntity"> - select (select string_agg(code, ',') from lf.sys_dir where name = a.name) "key", name "value" + select name "key", (select string_agg(code, ',') from lf.sys_dir where name = a.name) "value" from lf.sys_dir a <where> 1 = 1 -- Gitblit v1.9.3