feat: 增加 aggr 聚合服务层,并将 bff 中的 聚合API 迁移到 aggr
diff --git a/bff/admin/Dockerfile b/bff/admin/Dockerfile
index 4810f6b..372661c 100644
--- a/bff/admin/Dockerfile
+++ b/bff/admin/Dockerfile
@@ -17,5 +17,5 @@
 
 COPY --chown=java-app:java-app target/${JAR_FILE} /home/java-app/lib/app.jar
 
-COPY --chown=java-app:java-app target/doc /home/java-app/doc
-COPY --chown=java-app:java-app target/api-docs /home/java-app/api-docs
+# COPY --chown=java-app:java-app target/doc /home/java-app/doc
+# COPY --chown=java-app:java-app target/api-docs /home/java-app/api-docs
diff --git a/bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff/Application.java b/bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff/Application.java
index bde129e..77beb84 100644
--- a/bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff/Application.java
+++ b/bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff/Application.java
@@ -2,8 +2,6 @@
 
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.cloud.openfeign.EnableFeignClients;
-//import org.springframework.cloud.openfeign.EnableFeignClients;
 import org.springframework.context.annotation.Bean;
 import org.springframework.http.HttpHeaders;
 import org.springframework.http.HttpMethod;
@@ -24,7 +22,6 @@
 import static org.springframework.web.cors.CorsConfiguration.ALL;
 
 @SpringBootApplication
-@EnableFeignClients
 
 @EnableSimpleUserTransmit
 @EnableCustomExceptionHandler
diff --git a/bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff/apis/controller/.gitkeep b/bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff/apis/controller/.gitkeep
deleted file mode 100644
index e69de29..0000000
--- a/bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff/apis/controller/.gitkeep
+++ /dev/null
diff --git a/bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff/apis/controller/biz/AdminBizController.java b/bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff/apis/controller/biz/AdminBizController.java
deleted file mode 100644
index 68bd37a..0000000
--- a/bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff/apis/controller/biz/AdminBizController.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package com.supwisdom.institute.backend.admin.bff.apis.controller.biz;
-
-import org.springframework.util.MimeTypeUtils;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.RestController;
-
-@RestController
-@RequestMapping(value = "/api/bff/v1/admin/biz")
-public class AdminBizController {
-
-  @RequestMapping(method = RequestMethod.GET, produces = MimeTypeUtils.APPLICATION_JSON_VALUE)
-  public String biz() {
-    return "biz";
-  }
-
-}
diff --git a/bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff/apis/controller/system/AdminSystemController.java b/bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff/apis/controller/system/AdminSystemController.java
deleted file mode 100644
index 84d0f3a..0000000
--- a/bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff/apis/controller/system/AdminSystemController.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package com.supwisdom.institute.backend.admin.bff.apis.controller.system;
-
-import org.springframework.util.MimeTypeUtils;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.RestController;
-
-@RestController
-@RequestMapping(value = "/api/bff/v1/admin/system")
-public class AdminSystemController {
-  
-  @RequestMapping(method = RequestMethod.GET, produces = MimeTypeUtils.APPLICATION_JSON_VALUE)
-  public String hello() {
-    return "hello";
-  }
-
-}
diff --git a/bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff/apis/model/.gitkeep b/bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff/apis/model/.gitkeep
deleted file mode 100644
index e69de29..0000000
--- a/bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff/apis/model/.gitkeep
+++ /dev/null
diff --git a/bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff/apis/model/biz/Biz.java b/bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff/apis/model/biz/Biz.java
deleted file mode 100644
index f1d904e..0000000
--- a/bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff/apis/model/biz/Biz.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package com.supwisdom.institute.backend.admin.bff.apis.model.biz;
-
-import java.util.Date;
-
-import lombok.Getter;
-import lombok.Setter;
-
-import com.supwisdom.institute.backend.common.framework.model.ABaseModel;
-
-public class Biz extends ABaseModel {
-
-  /**
-   * 
-   */
-  private static final long serialVersionUID = 8755876583168251137L;
-  
-  @Getter
-  @Setter
-  private String id;
-
-  @Getter
-  @Setter
-  private String name;
-  
-  @Getter
-  @Setter
-  private Boolean bool;
-  
-  @Getter
-  @Setter
-  private Date date;
-
-  @Getter
-  @Setter
-  private Integer num;
-
-}
diff --git a/bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff/apis/remote/.gitkeep b/bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff/apis/remote/.gitkeep
deleted file mode 100644
index e69de29..0000000
--- a/bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff/apis/remote/.gitkeep
+++ /dev/null
diff --git a/bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff/apis/remote/biz/BizRemoteFallbackFactory.java b/bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff/apis/remote/biz/BizRemoteFallbackFactory.java
deleted file mode 100644
index 30d312d..0000000
--- a/bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff/apis/remote/biz/BizRemoteFallbackFactory.java
+++ /dev/null
@@ -1,61 +0,0 @@
-package com.supwisdom.institute.backend.admin.bff.apis.remote.biz;
-
-import org.springframework.stereotype.Component;
-
-import com.alibaba.fastjson.JSONObject;
-import com.supwisdom.institute.backend.admin.bff.apis.model.biz.Biz;
-import com.supwisdom.institute.backend.admin.bff.remote.FallbackError;
-
-import feign.hystrix.FallbackFactory;
-
-@Component
-public class BizRemoteFallbackFactory implements FallbackFactory<BizRemoteFeignClient> {
-
-  @Override
-  public BizRemoteFeignClient create(Throwable cause) {
-    return new BizRemoteFeignClient() {
-
-      @Override
-      public JSONObject query(boolean loadAll, int pageIndex, int pageSize) {
-        if (cause != null) {
-          cause.printStackTrace();
-        }
-        return FallbackError.defaultErrorJson(cause);
-      }
-
-      @Override
-      public JSONObject load(String id) {
-        if (cause != null) {
-          cause.printStackTrace();
-        }
-        return FallbackError.defaultErrorJson(cause);
-      }
-
-      @Override
-      public JSONObject create(Biz biz) {
-        if (cause != null) {
-          cause.printStackTrace();
-        }
-        return FallbackError.defaultErrorJson(cause);
-      }
-
-      @Override
-      public JSONObject update(String id, Biz biz) {
-        if (cause != null) {
-          cause.printStackTrace();
-        }
-        return FallbackError.defaultErrorJson(cause);
-      }
-
-      @Override
-      public JSONObject delete(String id) {
-        if (cause != null) {
-          cause.printStackTrace();
-        }
-        return FallbackError.defaultErrorJson(cause);
-      }
-      
-    };
-  }
-
-}
diff --git a/bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff/apis/remote/biz/BizRemoteFeignClient.java b/bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff/apis/remote/biz/BizRemoteFeignClient.java
deleted file mode 100644
index cccdd8a..0000000
--- a/bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff/apis/remote/biz/BizRemoteFeignClient.java
+++ /dev/null
@@ -1,49 +0,0 @@
-package com.supwisdom.institute.backend.admin.bff.apis.remote.biz;
-
-import org.springframework.cloud.openfeign.FeignClient;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.RequestParam;
-
-import com.alibaba.fastjson.JSONObject;
-import com.supwisdom.institute.backend.admin.bff.apis.model.biz.Biz;
-
-@FeignClient(
-    name = "biz-biz-remote-feign-client",
-    url = "${sw-backend-biz-api.uri}/v1/admin/biz",
-    fallbackFactory = BizRemoteFallbackFactory.class
-)
-public interface BizRemoteFeignClient {
-  
-  @RequestMapping(method = RequestMethod.GET)
-  JSONObject query(
-      @RequestParam(name = "loadAll") boolean loadAll,
-      @RequestParam(name = "pageIndex") int pageIndex,
-      @RequestParam(name = "pageSize") int pageSize
-      
-  );
-  
-  @RequestMapping(method = RequestMethod.GET, path = "/{id}")
-  JSONObject load(
-      @PathVariable(name = "id") String id
-  );
-
-  @RequestMapping(method = RequestMethod.POST)
-  JSONObject create(
-      @RequestBody Biz biz
-  );
-
-  @RequestMapping(method = RequestMethod.PUT, path = "/{id}")
-  JSONObject update(
-      @PathVariable(name = "id") String id,
-      @RequestBody Biz biz
-  );
-  
-  @RequestMapping(method = RequestMethod.DELETE, path = "/{id}")
-  JSONObject delete(
-      @PathVariable(name = "id") String id
-  );
-
-}
diff --git a/bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff/apis/service/.gitkeep b/bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff/apis/service/.gitkeep
deleted file mode 100644
index e69de29..0000000
--- a/bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff/apis/service/.gitkeep
+++ /dev/null
diff --git a/bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff/apis/service/biz/BizService.java b/bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff/apis/service/biz/BizService.java
deleted file mode 100644
index 7c6b8a7..0000000
--- a/bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff/apis/service/biz/BizService.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package com.supwisdom.institute.backend.admin.bff.apis.service.biz;
-
-import org.springframework.beans.factory.annotation.Autowired;
-
-import com.alibaba.fastjson.JSONObject;
-import com.supwisdom.institute.backend.admin.bff.apis.remote.biz.BizRemoteFeignClient;
-import com.supwisdom.institute.backend.admin.bff.apis.vo.response.biz.data.BizQueryResponseData;
-
-public class BizService {
-  
-  @Autowired
-  private BizRemoteFeignClient bizRemote;
-  
-  public BizQueryResponseData query(boolean loadAll, int pageIndex, int pageSize) {
-    
-    JSONObject jsonObject = bizRemote.query(loadAll, pageIndex, pageSize);
-    if (jsonObject == null) {
-      return null;
-    }
-    
-    if (jsonObject.getIntValue("code") == 0) {
-      JSONObject data = jsonObject.getJSONObject("data");
-      
-      return data.toJavaObject(BizQueryResponseData.class);
-    }
-    
-    return null;
-  }
-
-}
diff --git a/bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff/apis/vo/.gitkeep b/bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff/apis/vo/.gitkeep
deleted file mode 100644
index e69de29..0000000
--- a/bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff/apis/vo/.gitkeep
+++ /dev/null
diff --git a/bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff/apis/vo/response/biz/data/BizQueryResponseData.java b/bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff/apis/vo/response/biz/data/BizQueryResponseData.java
deleted file mode 100644
index 3699ff7..0000000
--- a/bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff/apis/vo/response/biz/data/BizQueryResponseData.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package com.supwisdom.institute.backend.admin.bff.apis.vo.response.biz.data;
-
-import java.util.List;
-import java.util.Map;
-
-import lombok.Getter;
-import lombok.Setter;
-
-import com.supwisdom.institute.backend.admin.bff.apis.model.biz.Biz;
-import com.supwisdom.institute.backend.common.framework.vo.response.data.IApiQueryResponseData;
-
-public class BizQueryResponseData implements IApiQueryResponseData<Biz> {
-
-  /**
-   * 
-   */
-  private static final long serialVersionUID = -380945463584664943L;
-
-  @Getter
-  private boolean loadAll;
-  @Getter
-  private int pageIndex;
-  @Getter
-  private int pageSize;
-  @Getter
-  private Map<String, Object> mapBean;
-  @Getter
-  private Map<String, String> orderBy;
-  
-  @Getter
-  @Setter
-  private int pageCount;
-  @Getter
-  @Setter
-  private long recordCount;
-  
-  @Getter
-  @Setter
-  private int currentItemCount;
-  
-  @Getter
-  @Setter
-  private List<Biz> items;
-  
-}
diff --git a/bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff/configuration/GatewayFilterConfig.java b/bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff/configuration/GatewayFilterConfig.java
index f475158..5084419 100644
--- a/bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff/configuration/GatewayFilterConfig.java
+++ b/bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff/configuration/GatewayFilterConfig.java
@@ -5,7 +5,8 @@
 
 import com.supwisdom.institute.backend.admin.bff.gateway.filter.factory.SimpleUserTransmitGatewayFilterFactory;
 
-@Configuration
+@Deprecated
+//@Configuration
 public class GatewayFilterConfig {
 
   @Bean
diff --git a/bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff/gateway/filter/factory/SimpleUserTransmitGatewayFilterFactory.java b/bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff/gateway/filter/factory/SimpleUserTransmitGatewayFilterFactory.java
index 6d0d981..68b6ad3 100644
--- a/bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff/gateway/filter/factory/SimpleUserTransmitGatewayFilterFactory.java
+++ b/bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff/gateway/filter/factory/SimpleUserTransmitGatewayFilterFactory.java
@@ -18,6 +18,7 @@
 import com.supwisdom.institute.backend.common.core.transmit.user.User;
 import com.supwisdom.institute.backend.common.core.transmit.user.UserContext;
 
+@Deprecated
 @Slf4j
 public class SimpleUserTransmitGatewayFilterFactory extends AbstractGatewayFilterFactory<SimpleUserTransmitGatewayFilterFactory.Config> {
   
diff --git a/bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff/remote/FallbackError.java b/bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff/remote/FallbackError.java
deleted file mode 100644
index d46aa8d..0000000
--- a/bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff/remote/FallbackError.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package com.supwisdom.institute.backend.admin.bff.remote;
-
-import com.alibaba.fastjson.JSONObject;
-
-public class FallbackError {
-  
-  private FallbackError() {
-    
-  }
-  
-  public static JSONObject defaultErrorJson(Throwable cause) {
-    JSONObject error = new JSONObject();
-    
-    error.put("code", -1);
-    error.put("message", cause.getMessage());
-    error.put("error", cause.getMessage());
-    
-    return error;
-  }
-
-}
diff --git a/bff/admin/src/main/resources/application-docker.yml b/bff/admin/src/main/resources/application-docker.yml
index cc5555e..394e329 100644
--- a/bff/admin/src/main/resources/application-docker.yml
+++ b/bff/admin/src/main/resources/application-docker.yml
@@ -64,18 +64,3 @@
 
 #CAS服务地址
 cas.server.host.url: ${CAS_SERVER_HOST_URL:https://cas-server/cas}
-
-
-##
-# server url for feign
-#
-sw-backend-api-admin:
-  server:
-    url: ${CASSERVER_SA_API_SERVER_URL:https://sw-backend/sa-api}
-  client-auth:
-    enabled: ${CASSERVER_SA_API_CLIENT_AUTH_ENABLED:true}
-    key-password: ${CASSERVER_SA_API_CLIENT_AUTH_KEY_PASSWORD:}
-    key-store: ${CASSERVER_SA_API_CLIENT_AUTH_KEYSTORE_FILE:file:/certs/common/common.keystore}
-    key-store-password: ${CASSERVER_SA_API_CLIENT_AUTH_KEYSTORE_PASSWORD:}
-    trust-store: ${CASSERVER_SA_API_CLIENT_AUTH_TRUSTSTORE_FILE:file:/certs/common/common.truststore}
-    trust-store-password: ${CASSERVER_SA_API_CLIENT_AUTH_TRUSTSTORE_PASSWORD:}
diff --git a/bff/admin/src/main/resources/application.yml b/bff/admin/src/main/resources/application.yml
index a77dc9a..77789ac 100644
--- a/bff/admin/src/main/resources/application.yml
+++ b/bff/admin/src/main/resources/application.yml
@@ -25,6 +25,12 @@
       metrics:
         enabled: true
       routes:
+      - id: aggr-api
+        uri: http://localhost:8082
+        predicates:
+        - Path=/api/aggr/**
+        filters:
+        - RewritePath=/api/aggr/(?<suffix>.*), /$\{suffix}
       - id: base-api
         uri: http://localhost:8081
         predicates:
@@ -106,10 +112,3 @@
 
 #CAS服务地址
 cas.server.host.url: https://cas.supwisdom.com/cas
-
-
-##
-# server url for feign
-#
-sw-backend-system-api.uri: http://localhost:8081
-sw-backend-biz-api.uri: http://localhost:8081