diff --git a/src/main/java/com/easysoftware/common/utils/EsAsyncHttpUtil.java b/src/main/java/com/easysoftware/common/utils/EsAsyncHttpUtil.java index 2a8cdb17d956a8a0e2f947eec8bd4548111cc46a..ccb132b0b9484d7f7fdff02bcc9858e6d7581f42 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 d80c47647de082b46d6a8de8a7ac8a733363f0a4..4c9688b0689f64655ed0a6f8f4adfed9a85c1637 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");