From 888fc387b670cd292f3f4ca5e3501ccb6cc52d7d Mon Sep 17 00:00:00 2001 From: kaede10 Date: Tue, 13 Aug 2024 09:30:05 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BD=AF=E4=BB=B6=E7=BB=B4=E6=8A=A4=E8=80=85?= =?UTF-8?q?=E5=8F=AA=E8=83=BD=E6=9F=A5=E7=9C=8B=E8=87=AA=E5=B7=B1=E7=BB=B4?= =?UTF-8?q?=E6=8A=A4=E7=9A=84=E8=BD=AF=E4=BB=B6=E5=8C=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/easysoftware/common/utils/EsAsyncHttpUtil.java | 10 ++++++---- .../gatewayimpl/PackageStatusGatewayImpl.java | 9 ++++++++- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/easysoftware/common/utils/EsAsyncHttpUtil.java b/src/main/java/com/easysoftware/common/utils/EsAsyncHttpUtil.java index 2a8cdb1..ccb132b 100644 --- a/src/main/java/com/easysoftware/common/utils/EsAsyncHttpUtil.java +++ b/src/main/java/com/easysoftware/common/utils/EsAsyncHttpUtil.java @@ -108,13 +108,14 @@ public final class EsAsyncHttpUtil { * execute es search. * @param index es index name * @param obj search condition + * @param login gitee id of user * @return ListenableFuture the result of es search. */ - public ListenableFuture executeSearch(String index, Map obj) + public ListenableFuture executeSearch(String index, Map obj, String login) throws NoSuchAlgorithmException, KeyManagementException { AsyncHttpClient client = getClient(); RequestBuilder builder = getBuilder(); - String query = convertQuery(obj); + String query = convertQuery(obj, login); builder.setUrl(esUrl + index + "/_search"); builder.setBody(query); @@ -125,9 +126,10 @@ public final class EsAsyncHttpUtil { /** * convert condition to query string. * @param obj search condition + * @param login gitee id of user * @return query string. */ - public String convertQuery(Map obj) { + public String convertQuery(Map obj, String login) { String queryString = ""; for (Map.Entry entry : obj.entrySet()) { String field = entry.getKey(); @@ -140,7 +142,7 @@ public final class EsAsyncHttpUtil { int pageSize = Integer.parseInt(obj.get("pageSize").toString()); int from = (Integer.parseInt(obj.get("pageNum").toString()) - 1) * pageSize; - String query = String.format(searchFormat, from, pageSize, queryString); + String query = String.format(searchFormat, from, pageSize, login, queryString); return query; } diff --git a/src/main/java/com/easysoftware/infrastructure/collaboration/gatewayimpl/PackageStatusGatewayImpl.java b/src/main/java/com/easysoftware/infrastructure/collaboration/gatewayimpl/PackageStatusGatewayImpl.java index d80c476..4c9688b 100644 --- a/src/main/java/com/easysoftware/infrastructure/collaboration/gatewayimpl/PackageStatusGatewayImpl.java +++ b/src/main/java/com/easysoftware/infrastructure/collaboration/gatewayimpl/PackageStatusGatewayImpl.java @@ -24,6 +24,7 @@ import org.springframework.stereotype.Component; import com.easysoftware.application.collaboration.dto.PackageSearchCondition; import com.easysoftware.application.collaboration.vo.PackageStatusVO; +import com.easysoftware.common.account.UserPermission; import com.easysoftware.common.constant.PackageConstant; import com.easysoftware.common.utils.EsAsyncHttpUtil; import com.easysoftware.common.utils.ObjectMapperUtil; @@ -41,6 +42,12 @@ public class PackageStatusGatewayImpl implements PackageStatusGateway { @Autowired private EsAsyncHttpUtil esAsyncHttpUtil; + /** + * Autowired UserPermission for check user permission. + */ + @Autowired + private UserPermission userPermission; + /** * Logger instance for PackageStatusGatewayImpl. */ @@ -59,7 +66,7 @@ public class PackageStatusGatewayImpl implements PackageStatusGateway { try { Map query = ObjectMapperUtil.jsonToMap(condition); ListenableFuture future = esAsyncHttpUtil.executeSearch(PackageConstant.PACKAGE_STATUS_INDEX, - query); + query, userPermission.getUserLogin()); String responseBody = future.get().getResponseBody(UTF_8); JsonNode dataNode = ObjectMapperUtil.toJsonNode(responseBody); JsonNode hits = dataNode.path("hits").path("hits"); -- Gitee