fix: 修复 maven 构建异常
diff --git a/aggr/admin/pom.xml b/aggr/admin/pom.xml
index 38a14f1..f7fb563 100644
--- a/aggr/admin/pom.xml
+++ b/aggr/admin/pom.xml
@@ -84,6 +84,13 @@
<groupId>com.supwisdom.institute</groupId>
<artifactId>sw-backend-common-framework</artifactId>
</dependency>
+
+
+ <!-- openfeign's dependency -->
+ <dependency>
+ <groupId>org.apache.httpcomponents</groupId>
+ <artifactId>httpclient</artifactId>
+ </dependency>
<dependency>
diff --git a/aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr/configuration/FeignBasicAuthRequestInterceptor.java b/aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr/configuration/FeignBasicAuthRequestInterceptor.java
new file mode 100644
index 0000000..a0f7c62
--- /dev/null
+++ b/aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr/configuration/FeignBasicAuthRequestInterceptor.java
@@ -0,0 +1,77 @@
+package com.supwisdom.institute.backend.admin.aggr.configuration;
+
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import feign.RequestInterceptor;
+import feign.RequestTemplate;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.util.StringUtils;
+
+import java.io.IOException;
+import java.util.*;
+
+/**
+ * feign请求参数转化
+ * @author fengpy
+ */
+@Configuration
+public class FeignBasicAuthRequestInterceptor implements RequestInterceptor {
+ @Autowired
+ private ObjectMapper objectMapper;
+
+ public FeignBasicAuthRequestInterceptor() {}
+
+ @Override
+ public void apply(RequestTemplate template) {
+ ///**get-pojo贯穿*/
+ if (template.method().equals("GET") && template.request().body() != null) {
+ try {
+ JsonNode jsonNode = objectMapper.readTree(template.request().body());
+ //template.body(null);
+ Map<String, Collection<String>> queries = new HashMap<>();
+ //feign 不支持 GET 方法传 POJO, json body转query
+ buildQuery(jsonNode, "", queries);
+ template.queries(queries);
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+ }
+
+ //处理 get-pojo贯穿
+ private void buildQuery(JsonNode jsonNode, String path, Map<String, Collection<String>> queries) {
+ if (!jsonNode.isContainerNode()) { //叶子节点
+ if (jsonNode.isNull()) {
+ return;
+ }
+ Collection<String> values = queries.get(path);
+ if (null == values) {
+ values = new ArrayList<>();
+ queries.put(path, values);
+ }
+ values.add(jsonNode.asText());
+ return;
+ }
+ if (jsonNode.isArray()) { //数组节点
+ Iterator<JsonNode> it = jsonNode.elements();
+ while (it.hasNext()) {
+ buildQuery(it.next(), path, queries);
+ }
+ } else {
+ Iterator<Map.Entry<String, JsonNode>> it = jsonNode.fields();
+ while (it.hasNext()) {
+ Map.Entry<String, JsonNode> entry = it.next();
+ if (StringUtils.hasText(path)) {
+ if ("mapBean".equals(path)||"orderBy".equals(path)||"sequence".equals(path)) {
+ buildQuery(entry.getValue(), path + "[" + entry.getKey() + "]", queries);
+ } else {
+ buildQuery(entry.getValue(), path + "." + entry.getKey(), queries);
+ }
+ } else { //根节点
+ buildQuery(entry.getValue(), entry.getKey(), queries);
+ }
+ }
+ }
+ }
+}