From dde4e21d6a47e211c2f43509439cc97909c540ea Mon Sep 17 00:00:00 2001 From: =?utf8?q?=E5=88=98=E6=B4=AA=E9=9D=92?= Date: Wed, 4 Sep 2019 22:13:23 +0800 Subject: [PATCH] =?utf8?q?feat:=20=E5=A2=9E=E5=8A=A0=20aggr=20=E8=81=9A?= =?utf8?q?=E5=90=88=E6=9C=8D=E5=8A=A1=E5=B1=82=EF=BC=8C=E5=B9=B6=E5=B0=86?= =?utf8?q?=20bff=20=E4=B8=AD=E7=9A=84=20=E8=81=9A=E5=90=88API=20=E8=BF=81?= =?utf8?q?=E7=A7=BB=E5=88=B0=20aggr?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- aggr/admin/.gitignore | 1 + aggr/admin/Dockerfile | 21 ++ aggr/admin/pom.xml | 210 ++++++++++++++++++ .../backend/admin/aggr/Application.java | 42 ++++ .../admin/aggr}/apis/controller/.gitkeep | 0 .../controller/base/AdminBaseController.java | 10 +- .../controller/biz/AdminBizController.java | 11 +- .../backend/admin/aggr}/apis/model/.gitkeep | 0 .../admin/aggr}/apis/model/biz/Biz.java | 2 +- .../backend/admin/aggr}/apis/remote/.gitkeep | 0 .../remote/biz/BizRemoteFallbackFactory.java | 6 +- .../apis/remote/biz/BizRemoteFeignClient.java | 4 +- .../apis/remote/exception}/FallbackError.java | 2 +- .../backend/admin/aggr}/apis/service/.gitkeep | 0 .../aggr}/apis/service/biz/BizService.java | 8 +- .../backend/admin/aggr}/apis/vo/.gitkeep | 0 .../response}/data/BizQueryResponseData.java | 4 +- .../FeignClientConfiguration.java | 70 ++++++ .../aggr/configuration/Swagger2Config.java | 63 ++++++ .../src/main/resources/application-docker.yml | 68 ++++++ aggr/admin/src/main/resources/application.yml | 39 ++++ aggr/admin/src/main/resources/bootstrap.yml | 3 + aggr/pom.xml | 35 +++ bff/admin/Dockerfile | 4 +- .../backend/admin/bff/Application.java | 3 - .../configuration/GatewayFilterConfig.java | 3 +- ...impleUserTransmitGatewayFilterFactory.java | 1 + .../src/main/resources/application-docker.yml | 15 -- bff/admin/src/main/resources/application.yml | 13 +- bff/pom.xml | 6 +- pom.xml | 1 + sa/admin/Dockerfile | 4 +- sa/admin/src/main/resources/application.yml | 8 +- sa/pom.xml | 6 +- 34 files changed, 606 insertions(+), 57 deletions(-) create mode 100644 aggr/admin/.gitignore create mode 100644 aggr/admin/Dockerfile create mode 100644 aggr/admin/pom.xml create mode 100644 aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr/Application.java rename {bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff => aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr}/apis/controller/.gitkeep (100%) rename bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff/apis/controller/system/AdminSystemController.java => aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr/apis/controller/base/AdminBaseController.java (57%) rename {bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff => aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr}/apis/controller/biz/AdminBizController.java (61%) rename {bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff => aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr}/apis/model/.gitkeep (100%) rename {bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff => aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr}/apis/model/biz/Biz.java (88%) rename {bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff => aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr}/apis/remote/.gitkeep (100%) rename {bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff => aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr}/apis/remote/biz/BizRemoteFallbackFactory.java (86%) rename {bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff => aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr}/apis/remote/biz/BizRemoteFeignClient.java (90%) rename {bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff/remote => aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr/apis/remote/exception}/FallbackError.java (83%) rename {bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff => aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr}/apis/service/.gitkeep (100%) rename {bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff => aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr}/apis/service/biz/BizService.java (66%) rename {bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff => aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr}/apis/vo/.gitkeep (100%) rename {bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff/apis/vo/response/biz => aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr/apis/vo/biz/response}/data/BizQueryResponseData.java (83%) create mode 100644 aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr/configuration/FeignClientConfiguration.java create mode 100644 aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr/configuration/Swagger2Config.java create mode 100644 aggr/admin/src/main/resources/application-docker.yml create mode 100644 aggr/admin/src/main/resources/application.yml create mode 100644 aggr/admin/src/main/resources/bootstrap.yml create mode 100644 aggr/pom.xml diff --git a/aggr/admin/.gitignore b/aggr/admin/.gitignore new file mode 100644 index 0000000..b83d222 --- /dev/null +++ b/aggr/admin/.gitignore @@ -0,0 +1 @@ +/target/ diff --git a/aggr/admin/Dockerfile b/aggr/admin/Dockerfile new file mode 100644 index 0000000..b91c9f4 --- /dev/null +++ b/aggr/admin/Dockerfile @@ -0,0 +1,21 @@ +FROM harbor.supwisdom.com/institute/openjdk:8-jre-alpine + +ENV ENABLE_JMX_SSL=false +ENV JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -Dspring.profiles.active=docker +ENV SPRING_PROFILES_ACTIVE=docker + +ARG NAME +ARG VERSION +ARG JAR_FILE + +LABEL name=$NAME \ + version=$VERSION + +EXPOSE 8080 + +EXPOSE 8443 + +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 diff --git a/aggr/admin/pom.xml b/aggr/admin/pom.xml new file mode 100644 index 0000000..38a14f1 --- /dev/null +++ b/aggr/admin/pom.xml @@ -0,0 +1,210 @@ + + 4.0.0 + + + com.supwisdom.institute + sw-backend-parent + 0.0.1-SNAPSHOT + ../../ + + + com.supwisdom.institute + sw-backend-admin-aggr + 0.0.1-SNAPSHOT + jar + + Supwisdom Backend Framework Admin Aggregator API + Supwisdom Backend Framework Admin Aggregator API project + + + com.supwisdom.institute.backend.admin.aggr.Application + + + + + + org.projectlombok + lombok + provided + + + + org.springframework.boot + spring-boot-starter + + + + + org.springframework.boot + spring-boot-starter-actuator + + + + + org.springframework.cloud + spring-cloud-starter-openfeign + + + + + org.springframework.boot + spring-boot-starter-web + + + + com.supwisdom.infras + infras-online-doc + + + + + + + com.supwisdom.infras + infras-object-mapper + + + + com.supwisdom.infras + infras-i18n + + + + com.supwisdom.infras + infras-lang + + + + + com.supwisdom.institute + sw-backend-common-framework + + + + + io.springfox + springfox-swagger2 + + + io.springfox + springfox-swagger-ui + + + + + mysql + mysql-connector-java + runtime + + + + + org.springframework.boot + spring-boot-devtools + runtime + + + + + org.springframework.boot + spring-boot-starter-test + test + + + + + + ${project.artifactId} + + + + org.apache.maven.plugins + maven-compiler-plugin + + + org.apache.maven.plugins + maven-failsafe-plugin + + + org.apache.maven.plugins + maven-javadoc-plugin + + + org.apache.maven.plugins + maven-release-plugin + + + org.jacoco + jacoco-maven-plugin + + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + com.spotify + dockerfile-maven-plugin + + false + + + + + + + + diff --git a/aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr/Application.java b/aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr/Application.java new file mode 100644 index 0000000..f3762ce --- /dev/null +++ b/aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr/Application.java @@ -0,0 +1,42 @@ +package com.supwisdom.institute.backend.admin.aggr; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cloud.openfeign.EnableFeignClients; +import org.springframework.context.annotation.Bean; +import org.springframework.web.cors.CorsConfiguration; +import org.springframework.web.cors.UrlBasedCorsConfigurationSource; +import org.springframework.web.filter.CorsFilter; + +import com.supwisdom.infras.online.doc.configuration.EnableInfrasOnlineDoc; +import com.supwisdom.institute.backend.common.core.transmit.annotation.EnableSimpleUserTransmit; +import com.supwisdom.institute.backend.common.framework.exception.EnableCustomExceptionHandler; + +@SpringBootApplication +@EnableFeignClients + +@EnableSimpleUserTransmit +@EnableCustomExceptionHandler + +@EnableInfrasOnlineDoc +public class Application { + + public static void main(String[] args) { + SpringApplication.run(Application.class, args); + } + + @Bean + public CorsFilter corsFilter() { + final CorsConfiguration config = new CorsConfiguration(); + // config.setAllowCredentials(true); + config.addAllowedOrigin("*"); + config.addAllowedHeader("*"); + config.addAllowedMethod("*"); + + final UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(); + source.registerCorsConfiguration("/v2/api-docs", config); + + return new CorsFilter(source); + } + +} diff --git a/bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff/apis/controller/.gitkeep b/aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr/apis/controller/.gitkeep similarity index 100% rename from bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff/apis/controller/.gitkeep rename to aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr/apis/controller/.gitkeep diff --git a/bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff/apis/controller/system/AdminSystemController.java b/aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr/apis/controller/base/AdminBaseController.java similarity index 57% rename from bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff/apis/controller/system/AdminSystemController.java rename to aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr/apis/controller/base/AdminBaseController.java index 84d0f3a..2411d5e 100644 --- a/bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff/apis/controller/system/AdminSystemController.java +++ b/aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr/apis/controller/base/AdminBaseController.java @@ -1,17 +1,19 @@ -package com.supwisdom.institute.backend.admin.bff.apis.controller.system; +package com.supwisdom.institute.backend.admin.aggr.apis.controller.base; 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; +import com.supwisdom.institute.backend.common.core.transmit.user.UserContext; + @RestController -@RequestMapping(value = "/api/bff/v1/admin/system") -public class AdminSystemController { +@RequestMapping(value = "/v1/admin/base") +public class AdminBaseController { @RequestMapping(method = RequestMethod.GET, produces = MimeTypeUtils.APPLICATION_JSON_VALUE) public String hello() { - return "hello"; + return "hello, " + UserContext.getUsername(); } } diff --git a/bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff/apis/controller/biz/AdminBizController.java b/aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr/apis/controller/biz/AdminBizController.java similarity index 61% rename from bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff/apis/controller/biz/AdminBizController.java rename to aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr/apis/controller/biz/AdminBizController.java index 68bd37a..30dfbcd 100644 --- a/bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff/apis/controller/biz/AdminBizController.java +++ b/aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr/apis/controller/biz/AdminBizController.java @@ -1,16 +1,25 @@ -package com.supwisdom.institute.backend.admin.bff.apis.controller.biz; +package com.supwisdom.institute.backend.admin.aggr.apis.controller.biz; +import org.springframework.beans.factory.annotation.Autowired; 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; +import com.supwisdom.institute.backend.admin.aggr.apis.service.biz.BizService; + @RestController @RequestMapping(value = "/api/bff/v1/admin/biz") public class AdminBizController { + + @Autowired + BizService bizService; @RequestMapping(method = RequestMethod.GET, produces = MimeTypeUtils.APPLICATION_JSON_VALUE) public String biz() { + + bizService.query(true, -1, -1); + return "biz"; } diff --git a/bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff/apis/model/.gitkeep b/aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr/apis/model/.gitkeep similarity index 100% rename from bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff/apis/model/.gitkeep rename to aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr/apis/model/.gitkeep diff --git a/bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff/apis/model/biz/Biz.java b/aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr/apis/model/biz/Biz.java similarity index 88% rename from bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff/apis/model/biz/Biz.java rename to aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr/apis/model/biz/Biz.java index f1d904e..b36e117 100644 --- a/bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff/apis/model/biz/Biz.java +++ b/aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr/apis/model/biz/Biz.java @@ -1,4 +1,4 @@ -package com.supwisdom.institute.backend.admin.bff.apis.model.biz; +package com.supwisdom.institute.backend.admin.aggr.apis.model.biz; import java.util.Date; diff --git a/bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff/apis/remote/.gitkeep b/aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr/apis/remote/.gitkeep similarity index 100% rename from bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff/apis/remote/.gitkeep rename to aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr/apis/remote/.gitkeep diff --git a/bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff/apis/remote/biz/BizRemoteFallbackFactory.java b/aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr/apis/remote/biz/BizRemoteFallbackFactory.java similarity index 86% rename from bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff/apis/remote/biz/BizRemoteFallbackFactory.java rename to aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr/apis/remote/biz/BizRemoteFallbackFactory.java index 30d312d..22447f0 100644 --- a/bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff/apis/remote/biz/BizRemoteFallbackFactory.java +++ b/aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr/apis/remote/biz/BizRemoteFallbackFactory.java @@ -1,10 +1,10 @@ -package com.supwisdom.institute.backend.admin.bff.apis.remote.biz; +package com.supwisdom.institute.backend.admin.aggr.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 com.supwisdom.institute.backend.admin.aggr.apis.model.biz.Biz; +import com.supwisdom.institute.backend.admin.aggr.apis.remote.exception.FallbackError; import feign.hystrix.FallbackFactory; diff --git a/bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff/apis/remote/biz/BizRemoteFeignClient.java b/aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr/apis/remote/biz/BizRemoteFeignClient.java similarity index 90% rename from bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff/apis/remote/biz/BizRemoteFeignClient.java rename to aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr/apis/remote/biz/BizRemoteFeignClient.java index cccdd8a..9361f45 100644 --- a/bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff/apis/remote/biz/BizRemoteFeignClient.java +++ b/aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr/apis/remote/biz/BizRemoteFeignClient.java @@ -1,4 +1,4 @@ -package com.supwisdom.institute.backend.admin.bff.apis.remote.biz; +package com.supwisdom.institute.backend.admin.aggr.apis.remote.biz; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PathVariable; @@ -8,7 +8,7 @@ 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; +import com.supwisdom.institute.backend.admin.aggr.apis.model.biz.Biz; @FeignClient( name = "biz-biz-remote-feign-client", diff --git a/bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff/remote/FallbackError.java b/aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr/apis/remote/exception/FallbackError.java similarity index 83% rename from bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff/remote/FallbackError.java rename to aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr/apis/remote/exception/FallbackError.java index d46aa8d..51ae782 100644 --- a/bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff/remote/FallbackError.java +++ b/aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr/apis/remote/exception/FallbackError.java @@ -1,4 +1,4 @@ -package com.supwisdom.institute.backend.admin.bff.remote; +package com.supwisdom.institute.backend.admin.aggr.apis.remote.exception; import com.alibaba.fastjson.JSONObject; diff --git a/bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff/apis/service/.gitkeep b/aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr/apis/service/.gitkeep similarity index 100% rename from bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff/apis/service/.gitkeep rename to aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr/apis/service/.gitkeep diff --git a/bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff/apis/service/biz/BizService.java b/aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr/apis/service/biz/BizService.java similarity index 66% rename from bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff/apis/service/biz/BizService.java rename to aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr/apis/service/biz/BizService.java index 7c6b8a7..49baee2 100644 --- a/bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff/apis/service/biz/BizService.java +++ b/aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr/apis/service/biz/BizService.java @@ -1,11 +1,13 @@ -package com.supwisdom.institute.backend.admin.bff.apis.service.biz; +package com.supwisdom.institute.backend.admin.aggr.apis.service.biz; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; 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; +import com.supwisdom.institute.backend.admin.aggr.apis.remote.biz.BizRemoteFeignClient; +import com.supwisdom.institute.backend.admin.aggr.apis.vo.biz.response.data.BizQueryResponseData; +@Service public class BizService { @Autowired diff --git a/bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff/apis/vo/.gitkeep b/aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr/apis/vo/.gitkeep similarity index 100% rename from bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff/apis/vo/.gitkeep rename to aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr/apis/vo/.gitkeep diff --git a/bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff/apis/vo/response/biz/data/BizQueryResponseData.java b/aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr/apis/vo/biz/response/data/BizQueryResponseData.java similarity index 83% rename from bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff/apis/vo/response/biz/data/BizQueryResponseData.java rename to aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr/apis/vo/biz/response/data/BizQueryResponseData.java index 3699ff7..815cc6a 100644 --- a/bff/admin/src/main/java/com/supwisdom/institute/backend/admin/bff/apis/vo/response/biz/data/BizQueryResponseData.java +++ b/aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr/apis/vo/biz/response/data/BizQueryResponseData.java @@ -1,4 +1,4 @@ -package com.supwisdom.institute.backend.admin.bff.apis.vo.response.biz.data; +package com.supwisdom.institute.backend.admin.aggr.apis.vo.biz.response.data; import java.util.List; import java.util.Map; @@ -6,7 +6,7 @@ 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.admin.aggr.apis.model.biz.Biz; import com.supwisdom.institute.backend.common.framework.vo.response.data.IApiQueryResponseData; public class BizQueryResponseData implements IApiQueryResponseData { diff --git a/aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr/configuration/FeignClientConfiguration.java b/aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr/configuration/FeignClientConfiguration.java new file mode 100644 index 0000000..6bcf4c1 --- /dev/null +++ b/aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr/configuration/FeignClientConfiguration.java @@ -0,0 +1,70 @@ +package com.supwisdom.institute.backend.admin.aggr.configuration; + +import javax.net.ssl.SSLContext; +import javax.net.ssl.SSLSocketFactory; + +import org.apache.http.conn.ssl.NoopHostnameVerifier; +import org.apache.http.ssl.SSLContextBuilder; +import org.apache.http.ssl.SSLContexts; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.util.ResourceUtils; + +import feign.Client; +import lombok.extern.slf4j.Slf4j; + +@Slf4j +@Configuration +public class FeignClientConfiguration { + + @Bean + public Client feignClient( + @Value("${cas-server-sa-api.client-auth.enabled:false}") boolean enabled, + @Value("${cas-server-sa-api.client-auth.key-password:}") String keyPassword, + @Value("${cas-server-sa-api.client-auth.key-store:}") String keyStore, + @Value("${cas-server-sa-api.client-auth.key-store-password:}") String keyStorePassword, + @Value("${cas-server-sa-api.client-auth.trust-store:}") String trustStore, + @Value("${cas-server-sa-api.client-auth.trust-store-password:}") String trustStorePassword) { + + if (!enabled) { + return new Client.Default(null, null); + } + + if (keyStore == null || keyStore.isEmpty()) { + return new Client.Default(null, null); + } else { + try { + SSLContextBuilder sslContextBuilder = SSLContexts.custom(); + if (trustStore == null || trustStore.isEmpty()) { + } else { + sslContextBuilder +// .loadTrustMaterial(TrustAllStrategy.INSTANCE) + .loadTrustMaterial( + ResourceUtils.getFile(trustStore), + trustStorePassword.toCharArray() + ); + } + + sslContextBuilder + .loadKeyMaterial( + ResourceUtils.getFile(keyStore), + keyStorePassword.toCharArray(), + keyPassword.toCharArray()); + + SSLContext sslContext = sslContextBuilder.build(); + + SSLSocketFactory sslSocketFactory = sslContext.getSocketFactory(); + + Client trustSSLSockets = new Client.Default(sslSocketFactory, new NoopHostnameVerifier()); + log.info("feignClient load with ssl."); + return trustSSLSockets; + } catch (Exception e) { + e.printStackTrace(); + } + } + + return new Client.Default(null, null); + } + +} diff --git a/aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr/configuration/Swagger2Config.java b/aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr/configuration/Swagger2Config.java new file mode 100644 index 0000000..d6311e2 --- /dev/null +++ b/aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr/configuration/Swagger2Config.java @@ -0,0 +1,63 @@ +package com.supwisdom.institute.backend.admin.aggr.configuration; + +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +import springfox.documentation.builders.ApiInfoBuilder; +import springfox.documentation.builders.PathSelectors; +import springfox.documentation.builders.RequestHandlerSelectors; +import springfox.documentation.service.ApiInfo; +import springfox.documentation.service.Contact; +import springfox.documentation.spi.DocumentationType; +import springfox.documentation.spring.web.plugins.Docket; +import springfox.documentation.swagger.web.UiConfiguration; +import springfox.documentation.swagger.web.UiConfigurationBuilder; +import springfox.documentation.swagger2.annotations.EnableSwagger2; + +@Configuration +@EnableSwagger2 +public class Swagger2Config { + + @Value("${swagger2.apis.basePackage:com.supwisdom.institute}") + private String basePackage; + + @Bean + public Docket createRestApi() { + return new Docket(DocumentationType.SWAGGER_2) + .apiInfo(apiInfo()) + .select() + .apis(RequestHandlerSelectors.basePackage(basePackage)) + .paths(PathSelectors.any()) + .build() + ; + } + + private ApiInfo apiInfo() { + Contact contact = new Contact("Backend Admin Aggregator API", "https://sw-backend-aggr.supwisdom.com/swagger-ui.html", ""); // name, url, email + return new ApiInfoBuilder() + .title("Backend Admin Aggregator APIs") + .description("管理后台 - 聚合接口") + .termsOfServiceUrl("http://www.supwisdom.com/") + .contact(contact) + .version("1.0") + .build(); + } + + @Bean + UiConfiguration uiConfig() { + + return UiConfigurationBuilder.builder().build(); + +// return new UiConfiguration(null, // url +// "none", // docExpansion => none | list +// "alpha", // apiSorter => alpha +// "schema", // defaultModelRendering => schema +// UiConfiguration.Constants.DEFAULT_SUBMIT_METHODS, +// false, // enableJsonEditor => true || false +// true, // showRequestHeaders => true | false +// 60000L); // requestTimeout => in milliseconds, defaults to null +// // (uses jquery xh timeout) + } + +} diff --git a/aggr/admin/src/main/resources/application-docker.yml b/aggr/admin/src/main/resources/application-docker.yml new file mode 100644 index 0000000..a46fee8 --- /dev/null +++ b/aggr/admin/src/main/resources/application-docker.yml @@ -0,0 +1,68 @@ +server: + port: ${SERVER_PORT:8443} + ssl: + enabled: ${SSL_ENABLED:true} + clientAuth: NEED + key-store: ${SSL_KEYSTORE_FILE:file:/certs/server/server.keystore} + key-store-password: ${SSL_KEYSTORE_PASSWORD:} + trust-store: ${SSL_TRUSTSTORE_FILE:file:/certs/server/server.truststore} + trust-store-password: ${SSL_TRUSTSTORE_PASSWORD:} + tomcat: + accesslog: + enabled: ${TOMCAT_ACCESSLOG_ENABLED:false} + buffered: ${TOMCAT_ACCESSLOG_BUFFERED:true} + directory: ${TOMCAT_ACCESSLOG_DIR:log} + prefix: ${TOMCAT_ACCESSLOG_PREFIX:sa-api-accesslog} + suffix: ${TOMCAT_ACCESSLOG_SUFFIX:.log} + file-date-format: ${TOMCAT_ACCESSLOG_FILE_DATE_FORMAT:.yyyy-MM-dd} + rotate: ${TOMCAT_ACCESSLOG_ROTATE:true} + + +## +# logging +# +logging: + level: + root: INFO + com.supwisdom: INFO + + +spring: + jackson: + time-zone: ${JACKSON_TIME_ZONE:Asia/Shanghai} + + +## +# online-doc +# +infras.online-doc.enabled: ${INFRAS_ONLINE_DOC_ENABLED:false} +infras.online-doc.md-docs.staitc.path: ${INFRAS_ONLINE_DOC_MD_DOCS_STATIC_PATH:/doc/} +infras.online-doc.api-docs.staitc.path: ${INFRAS_ONLINE_DOC_API_DOCS_STATIC_PATH:/api-docs/} + + +## +# server url for feign +# +sw-backend-base-api: + uri: ${SW_BACKEND_BASE_API_URI:https://sw-backend-admin-sa} + 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:} + +sw-backend-system-api.uri: http://localhost:8081 +sw-backend-biz-api.uri: http://localhost:8081 + +sw-backend-api-admin: + server: + url: ${CASSERVER_SA_API_SERVER_URL:https://sw-backend} + 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/aggr/admin/src/main/resources/application.yml b/aggr/admin/src/main/resources/application.yml new file mode 100644 index 0000000..e0683b0 --- /dev/null +++ b/aggr/admin/src/main/resources/application.yml @@ -0,0 +1,39 @@ +server: + port: 8082 + ssl: + enabled: false + + +## +# logging +# +logging: + level: + root: INFO + com.supwisdom: DEBUG +# org.springframework.web: INFO +# org.springframework.cloud.openfeign: INFO + + +swagger2.apis.basePackage: com.supwisdom.institute + + +spring: + jackson: + time-zone: Asia/Shanghai + + +## +# infras.online-doc +# +infras.online-doc.enabled: true +infras.online-doc.md-docs.staitc.path: /Users/loie/c/work/git/institute/sw-backend/doc/ +infras.online-doc.api-docs.staitc.path: /Users/loie/c/work/git/institute/sw-backend/api-docs/ + + +## +# server url for feign +# +sw-backend-base-api.uri: http://localhost:8081 +sw-backend-system-api.uri: http://localhost:8081 +sw-backend-biz-api.uri: http://localhost:8081 diff --git a/aggr/admin/src/main/resources/bootstrap.yml b/aggr/admin/src/main/resources/bootstrap.yml new file mode 100644 index 0000000..b2a926b --- /dev/null +++ b/aggr/admin/src/main/resources/bootstrap.yml @@ -0,0 +1,3 @@ +spring: + application: + name: sw-backend-admin-aggr diff --git a/aggr/pom.xml b/aggr/pom.xml new file mode 100644 index 0000000..1ec35e6 --- /dev/null +++ b/aggr/pom.xml @@ -0,0 +1,35 @@ + + + 4.0.0 + + + com.supwisdom.institute + sw-backend-parent + 0.0.1-SNAPSHOT + + + com.supwisdom.institute + sw-backend-aggr-parent + 0.0.1-SNAPSHOT + pom + + Supwisdom Backend Framework Aggregator API + Supwisdom Backend Framework Aggregator API project + + + admin + + + + + + maven-deploy-plugin + + true + + + + + + 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 @@ EXPOSE 8443 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 @@ package com.supwisdom.institute.backend.admin.bff; 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 com.supwisdom.institute.backend.common.framework.exception.EnableCustomEx 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/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 org.springframework.context.annotation.Configuration; 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.admin.bff.security.core.userdetails.MyUse 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 { 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 @@ app.logout.url: ${APP_LOGOUT_URL:/cas/logout} #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 @@ spring: metrics: enabled: true routes: + - id: aggr-api + uri: http://localhost:8082 + predicates: + - Path=/api/aggr/** + filters: + - RewritePath=/api/aggr/(?.*), /$\{suffix} - id: base-api uri: http://localhost:8081 predicates: @@ -106,10 +112,3 @@ app.logout.url: /cas/logout #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 diff --git a/bff/pom.xml b/bff/pom.xml index 8685014..37e624e 100644 --- a/bff/pom.xml +++ b/bff/pom.xml @@ -10,12 +10,12 @@ com.supwisdom.institute - sw-backend-bff-aggregator + sw-backend-bff-parent 0.0.1-SNAPSHOT pom - Supwisdom Backend Framework Backend for Frontend Aggregator - Supwisdom Backend Framework Backend for Frontend Aggregator project + Supwisdom Backend Framework Backend for Frontend + Supwisdom Backend Framework Backend for Frontend project admin diff --git a/pom.xml b/pom.xml index d101757..babdfb8 100644 --- a/pom.xml +++ b/pom.xml @@ -24,6 +24,7 @@ biz sa + aggr bff diff --git a/sa/admin/Dockerfile b/sa/admin/Dockerfile index 4dc87c6..b91c9f4 100644 --- a/sa/admin/Dockerfile +++ b/sa/admin/Dockerfile @@ -17,5 +17,5 @@ EXPOSE 8443 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/sa/admin/src/main/resources/application.yml b/sa/admin/src/main/resources/application.yml index 571cbd7..0ffd54f 100644 --- a/sa/admin/src/main/resources/application.yml +++ b/sa/admin/src/main/resources/application.yml @@ -15,6 +15,9 @@ logging: # org.springframework.cloud.openfeign: INFO +swagger2.apis.basePackage: com.supwisdom.institute + + spring: jackson: time-zone: Asia/Shanghai @@ -40,9 +43,6 @@ spring: ## # infras.online-doc # -infras.online-doc.enabled: false +infras.online-doc.enabled: true infras.online-doc.md-docs.staitc.path: /Users/loie/c/work/git/institute/sw-backend/doc/ infras.online-doc.api-docs.staitc.path: /Users/loie/c/work/git/institute/sw-backend/api-docs/ - - -swagger2.apis.basePackage: com.supwisdom.institute diff --git a/sa/pom.xml b/sa/pom.xml index e4c2665..6aafbda 100644 --- a/sa/pom.xml +++ b/sa/pom.xml @@ -10,12 +10,12 @@ com.supwisdom.institute - sw-backend-sa-aggregator + sw-backend-sa-parent 0.0.1-SNAPSHOT pom - Supwisdom Backend Framework Super Admin Aggregator - Supwisdom Backend Framework Super Admin Aggregator project + Supwisdom Backend Framework Super Admin + Supwisdom Backend Framework Super Admin project admin -- 2.17.1