From 461f3a6c3c87f09fd3d689f032b1ea2146132a94 Mon Sep 17 00:00:00 2001 From: chenwenjian Date: Wed, 16 Aug 2023 18:02:17 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=B5=8B=E8=AF=95=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 19 +++++++- .../nanopart/api/BlackAndWhiteListApi.java | 1 - nanopart-server/pom.xml | 5 +++ .../nanopart/NanopartApplicationTests.java | 38 ++++++++++++++++ .../cn/axzo/nanopart/config/FeignConfig.java | 43 +++++++++++++++++++ 5 files changed, 104 insertions(+), 2 deletions(-) create mode 100644 nanopart-server/src/test/java/cn/axzo/nanopart/NanopartApplicationTests.java create mode 100644 nanopart-server/src/test/java/cn/axzo/nanopart/config/FeignConfig.java diff --git a/README.md b/README.md index 232da083..1535bf8e 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,19 @@ # 项目介绍 -一个通用的聚合服务:通用黑名单服务 \ No newline at end of file +一个通用的聚合服务:通用黑名单服务 + +# vm参数 +## dev环境 +-Dspring.datasource.url=jdbc:mysql://116.63.13.181:3311/pudge-dev?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=Asia/Shanghai&useSSL=true&verifyServerCertificate=false&rewriteBatchedStatements=true +-Dspring.redis.host=123.249.44.111 +-Dspring.redis.port=31270 +-Dspring.redis.password=Kjgnj93JKj3je +-DCUSTOM_ENV=dev +-Dserver.port=8080 + +## test环境 +-Dspring.datasource.url=jdbc:mysql://124.70.43.174:3306/pudge?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=Asia/Shanghai&useSSL=true&verifyServerCertificate=false&rewriteBatchedStatements=true +-Dspring.redis.host=123.249.44.111 +-Dspring.redis.port=31276 +-Dspring.redis.password=Kjgnj93JKj3je +-DCUSTOM_ENV=test +-Dserver.port=8080 \ No newline at end of file diff --git a/black-list/black-list-api/src/main/java/cn/axzo/nanopart/api/BlackAndWhiteListApi.java b/black-list/black-list-api/src/main/java/cn/axzo/nanopart/api/BlackAndWhiteListApi.java index 58488431..70af2ebd 100644 --- a/black-list/black-list-api/src/main/java/cn/axzo/nanopart/api/BlackAndWhiteListApi.java +++ b/black-list/black-list-api/src/main/java/cn/axzo/nanopart/api/BlackAndWhiteListApi.java @@ -30,7 +30,6 @@ public interface BlackAndWhiteListApi { /** * 删除黑名单 - * * @return */ @PostMapping("api/black-list/delete") diff --git a/nanopart-server/pom.xml b/nanopart-server/pom.xml index a9c147f7..802b59c2 100644 --- a/nanopart-server/pom.xml +++ b/nanopart-server/pom.xml @@ -51,6 +51,11 @@ axzo-logger-spring-boot-starter + + cn.axzo.framework + axzo-test-spring-boot-starter + + cn.axzo.pokonyan pokonyan diff --git a/nanopart-server/src/test/java/cn/axzo/nanopart/NanopartApplicationTests.java b/nanopart-server/src/test/java/cn/axzo/nanopart/NanopartApplicationTests.java new file mode 100644 index 00000000..9de4dd20 --- /dev/null +++ b/nanopart-server/src/test/java/cn/axzo/nanopart/NanopartApplicationTests.java @@ -0,0 +1,38 @@ +package cn.axzo.nanopart; + +import cn.axzo.framework.domain.web.result.ApiResult; +import cn.axzo.nanopart.api.BlackAndWhiteListApi; +import cn.axzo.nanopart.api.request.BlackAndWhiteListReq; +import cn.axzo.nanopart.api.response.BlackAndWhiteListResp; +import org.junit.jupiter.api.Test; +import org.springframework.boot.test.context.SpringBootTest; + +import javax.annotation.Resource; +import java.util.HashMap; +import java.util.List; + +/** + * @author: chenwenjian + * @date: 2023/8/16 17:24 + * @description: + * @modifiedBy: + * @version: 1.0 + */ +@SpringBootTest +public class NanopartApplicationTests { + + @Resource + private BlackAndWhiteListApi blackAndWhiteListApi; + + @Test + void contextLoad(){ + BlackAndWhiteListReq blackAndWhiteListReq = new BlackAndWhiteListReq(); + blackAndWhiteListReq.setModule("cms-login"); + HashMap hashMap = new HashMap<>(); + hashMap.put("phone","17870574155"); + blackAndWhiteListReq.setParam(hashMap); + + ApiResult> detail = blackAndWhiteListApi.detail(blackAndWhiteListReq); + System.out.println(detail.getData().toString()); + } +} diff --git a/nanopart-server/src/test/java/cn/axzo/nanopart/config/FeignConfig.java b/nanopart-server/src/test/java/cn/axzo/nanopart/config/FeignConfig.java new file mode 100644 index 00000000..234fe465 --- /dev/null +++ b/nanopart-server/src/test/java/cn/axzo/nanopart/config/FeignConfig.java @@ -0,0 +1,43 @@ +package cn.axzo.nanopart.config; + +import cn.hutool.core.util.ReflectUtil; +import feign.RequestInterceptor; +import feign.RequestTemplate; +import feign.Target.HardCodedTarget; +import lombok.SneakyThrows; +import lombok.extern.slf4j.Slf4j; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Profile; + +import java.lang.reflect.Field; +import java.util.Map; + +@Configuration +@Slf4j +@Profile({"dev", "local"}) +public class FeignConfig implements RequestInterceptor { + + private static String POD_NAMESPACE; + + static { + Map env = System.getenv(); + if (env != null) { + POD_NAMESPACE = env.get("MY_POD_NAMESPACE"); + } + log.info("init FeignConfig, POD_NAMESPACE value is {}", POD_NAMESPACE); + } + + @SneakyThrows + @Override + public void apply(RequestTemplate requestTemplate) { + if (POD_NAMESPACE == null) { + HardCodedTarget target = (HardCodedTarget) requestTemplate.feignTarget(); + String url = requestTemplate.feignTarget().url(); + url = url.replace("http://nanopart:8080", "http://127.0.0.1:8080"); + requestTemplate.target(url); + Field field = ReflectUtil.getField(target.getClass(), "url"); + field.setAccessible(true); + field.set(target, url); + } + } +}