From f24b569de11e99f2f18c7fe552f6db7e6ee468df Mon Sep 17 00:00:00 2001 From: JiyangTang Date: Thu, 25 Jul 2024 15:04:21 +0800 Subject: [PATCH] make same changes --- .../src/main/resources/bootstrap-local.yml | 6 +- .../src/main/resources/bootstrap-prod.yml | 6 +- baogutang-common/pom.xml | 6 ++ .../common/aspect/LoginRequiredAspect.java | 2 +- .../config/NacosConfigExchangeListener.java | 62 +++++++++++++++++++ .../common/constants/CacheConstant.java | 9 +++ .../baogutang/common/utils/OkHttpUtil.java | 2 +- .../baogutang/common/utils/RandImageUtil.java | 6 +- 8 files changed, 89 insertions(+), 10 deletions(-) create mode 100644 baogutang-common/src/main/java/top/baogutang/common/config/NacosConfigExchangeListener.java diff --git a/baogutang-business/src/main/resources/bootstrap-local.yml b/baogutang-business/src/main/resources/bootstrap-local.yml index cbdbb8c..991bf8b 100644 --- a/baogutang-business/src/main/resources/bootstrap-local.yml +++ b/baogutang-business/src/main/resources/bootstrap-local.yml @@ -4,10 +4,10 @@ spring: cloud: nacos: discovery: - server-addr: 180.97.221.51:8848 + server-addr: 117.72.78.133:8848 config: - server-addr: 180.97.221.51:8848 - namespace: 1877a228-6bff-46b9-a442-829473c3adc7 + server-addr: 117.72.78.133:8848 + namespace: 622d03f1-aeac-430c-8361-e69a73a5c4db file-extension: yml refresh-enabled: true group: DEFAULT_GROUP diff --git a/baogutang-business/src/main/resources/bootstrap-prod.yml b/baogutang-business/src/main/resources/bootstrap-prod.yml index 612d406..27c6e0b 100644 --- a/baogutang-business/src/main/resources/bootstrap-prod.yml +++ b/baogutang-business/src/main/resources/bootstrap-prod.yml @@ -4,10 +4,10 @@ spring: cloud: nacos: discovery: - server-addr: 180.97.221.51:8848 + server-addr: 127.0.0.1:8848 config: - server-addr: 180.97.221.51:8848 - namespace: fe5388cc-76bc-44d6-ba20-034f97c567e5 + server-addr: 127.0.0.1:8848 + namespace: 636cb425-50d7-4489-a462-fd4a5be6b87d file-extension: yml refresh-enabled: true group: DEFAULT_GROUP diff --git a/baogutang-common/pom.xml b/baogutang-common/pom.xml index b239e79..ecf4b06 100644 --- a/baogutang-common/pom.xml +++ b/baogutang-common/pom.xml @@ -160,6 +160,12 @@ dingtalk 2.0.14 + + com.alibaba.nacos + nacos-api + 1.4.2 + compile + \ No newline at end of file diff --git a/baogutang-common/src/main/java/top/baogutang/common/aspect/LoginRequiredAspect.java b/baogutang-common/src/main/java/top/baogutang/common/aspect/LoginRequiredAspect.java index a9b3fb3..3087973 100644 --- a/baogutang-common/src/main/java/top/baogutang/common/aspect/LoginRequiredAspect.java +++ b/baogutang-common/src/main/java/top/baogutang/common/aspect/LoginRequiredAspect.java @@ -90,7 +90,7 @@ public class LoginRequiredAspect { } else { log.info("FoundOldToken,currentBody:{} redisBody:{}", JSON.toJSONString(body), JSON.toJSONString(redisBody)); throw new BusinessException( - TokenCodeEnum.AUTH_FAILED.getCode(), TokenCodeEnum.AUTH_FAILED.getMessage()); + TokenCodeEnum.AUTH_TIME_OUT.getCode(), TokenCodeEnum.AUTH_TIME_OUT.getMessage()); } } } diff --git a/baogutang-common/src/main/java/top/baogutang/common/config/NacosConfigExchangeListener.java b/baogutang-common/src/main/java/top/baogutang/common/config/NacosConfigExchangeListener.java new file mode 100644 index 0000000..ca69b6b --- /dev/null +++ b/baogutang-common/src/main/java/top/baogutang/common/config/NacosConfigExchangeListener.java @@ -0,0 +1,62 @@ +package top.baogutang.common.config; + +import com.alibaba.nacos.api.NacosFactory; +import com.alibaba.nacos.api.PropertyKeyConst; +import com.alibaba.nacos.api.config.ConfigService; +import com.alibaba.nacos.api.config.listener.Listener; +import com.alibaba.nacos.api.exception.NacosException; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.cloud.context.refresh.ContextRefresher; +import org.springframework.stereotype.Component; + +import javax.annotation.PostConstruct; +import javax.annotation.Resource; +import java.util.Properties; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.Executor; + +/** + * @description: nacos config listener + * @author: nikooh + * @date: 2024/07/02 : 18:37 + */ +@Slf4j +@Component +public class NacosConfigExchangeListener { + + @Resource + private ContextRefresher contextRefresher; + + @Value("${spring.cloud.nacos.config.server-addr}") + private String serverAddr; + + @Value("${spring.application.name}") + private String dataId; + + @Value("${spring.cloud.nacos.config.group}") + private String group; + + @Value("${spring.cloud.nacos.config.namespace}") + private String namespace; + + @PostConstruct + public void addNacosConfigListener() throws NacosException { + Properties properties = new Properties(); + properties.put(PropertyKeyConst.SERVER_ADDR, serverAddr); + properties.put(PropertyKeyConst.NAMESPACE, namespace); + ConfigService configService = NacosFactory.createConfigService(properties); + configService.addListener(dataId, group, new Listener() { + @Override + public void receiveConfigInfo(String configInfo) { + log.info(">>>>>>>>>>receive config change! dataId:{},group:{}<<<<<<<<<<", dataId, group); + CompletableFuture.runAsync(() -> contextRefresher.refresh()); + } + + @Override + public Executor getExecutor() { + return null; + } + }); + } +} diff --git a/baogutang-common/src/main/java/top/baogutang/common/constants/CacheConstant.java b/baogutang-common/src/main/java/top/baogutang/common/constants/CacheConstant.java index 15d4c9f..2e085c9 100644 --- a/baogutang-common/src/main/java/top/baogutang/common/constants/CacheConstant.java +++ b/baogutang-common/src/main/java/top/baogutang/common/constants/CacheConstant.java @@ -7,6 +7,10 @@ package top.baogutang.common.constants; */ public class CacheConstant { + private CacheConstant() { + // empty private constructor + } + /** * 实名认证完成 */ @@ -41,4 +45,9 @@ public class CacheConstant { public static final String PREFIX_DING_TALK_ACCESS_TOKEN = "top:baogutang:dingtalk:access_token:"; public static final String PREFIX_APPLE_PRODUCT = "top:baogutang:apple:product:%s:%s:"; + + /** + * 微信小程序登陆缓存sessionId + */ + public static final String WX_SESSION_ID = "top:baogutang:weixin_app:wx_session_id:%s"; } diff --git a/baogutang-common/src/main/java/top/baogutang/common/utils/OkHttpUtil.java b/baogutang-common/src/main/java/top/baogutang/common/utils/OkHttpUtil.java index 761f1b2..54cd6b9 100644 --- a/baogutang-common/src/main/java/top/baogutang/common/utils/OkHttpUtil.java +++ b/baogutang-common/src/main/java/top/baogutang/common/utils/OkHttpUtil.java @@ -68,7 +68,7 @@ public class OkHttpUtil { return null; } - public static T post(String url, Map headerMap, Map params, TypeReference type) { + public static T post(String url, Map headerMap, Map params, TypeReference type) { try { Headers.Builder headerBuilder = new Headers.Builder(); if (Objects.nonNull(headerMap) && !headerMap.isEmpty()) { diff --git a/baogutang-common/src/main/java/top/baogutang/common/utils/RandImageUtil.java b/baogutang-common/src/main/java/top/baogutang/common/utils/RandImageUtil.java index 3e9bbf2..d1c9728 100644 --- a/baogutang-common/src/main/java/top/baogutang/common/utils/RandImageUtil.java +++ b/baogutang-common/src/main/java/top/baogutang/common/utils/RandImageUtil.java @@ -45,6 +45,7 @@ public class RandImageUtil { /** * 直接通过response 返回图片 + * * @param response * @param resultCode * @throws IOException @@ -57,6 +58,7 @@ public class RandImageUtil { /** * 生成base64字符串 + * * @param resultCode * @return * @throws IOException @@ -74,10 +76,10 @@ public class RandImageUtil { //删除 \r\n base64 = base64.replaceAll("\n", "").replaceAll("\r", ""); - return BASE64_PRE+base64; + return BASE64_PRE + base64; } - private static BufferedImage getImageBuffer(String resultCode){ + private static BufferedImage getImageBuffer(String resultCode) { // 在内存中创建图象 final BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); // 获取图形上下文