From af3e9e30d9ecd15a101f8e428b882d3c2c7b392a Mon Sep 17 00:00:00 2001 From: xuwenbo <7175767226@qq.com> Date: Wed, 29 Apr 2020 15:21:23 +0800 Subject: [PATCH] =?UTF-8?q?api=E6=9C=8D=E5=8A=A1=E5=90=AF=E5=8A=A8?= =?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=8C=96reids?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../listener/RedisKeyInitialization.java | 39 +++++++++++++++++++ .../java/co/yixiang/enums/RedisKeyEnum.java | 27 +++++++++++++ 2 files changed, 66 insertions(+) create mode 100644 yshop-api/src/main/java/co/yixiang/listener/RedisKeyInitialization.java create mode 100644 yshop-common/src/main/java/co/yixiang/enums/RedisKeyEnum.java diff --git a/yshop-api/src/main/java/co/yixiang/listener/RedisKeyInitialization.java b/yshop-api/src/main/java/co/yixiang/listener/RedisKeyInitialization.java new file mode 100644 index 00000000..5c78c2e8 --- /dev/null +++ b/yshop-api/src/main/java/co/yixiang/listener/RedisKeyInitialization.java @@ -0,0 +1,39 @@ +package co.yixiang.listener; + +import co.yixiang.enums.RedisKeyEnum; +import co.yixiang.modules.shop.service.YxSystemConfigService; +import co.yixiang.utils.StringUtils; +import lombok.RequiredArgsConstructor; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.stereotype.Component; +import javax.annotation.PostConstruct; +import java.util.List; +import java.util.stream.Collectors; +import java.util.stream.Stream; + + +/** + * api服务启动初始化reids + */ +@Component +@RequiredArgsConstructor(onConstructor = @__(@Autowired)) +public class RedisKeyInitialization { + + + private final YxSystemConfigService systemConfigService; + + private final RedisTemplate redisTemplate; + + @PostConstruct + public void redisKeyInitialization(){ + List redisKeyEnums = Stream.of(RedisKeyEnum.values()).collect(Collectors.toList()); + for (RedisKeyEnum redisKeyEnum : redisKeyEnums) { + String redisKey = redisTemplate.opsForValue().get(redisKeyEnum.getValue()); + if(StringUtils.isEmpty(redisKey)){ + String dbKey = systemConfigService.getData(redisKeyEnum.getValue()); + redisTemplate.opsForValue().set(redisKeyEnum.getValue(),dbKey); + } + } + } +} diff --git a/yshop-common/src/main/java/co/yixiang/enums/RedisKeyEnum.java b/yshop-common/src/main/java/co/yixiang/enums/RedisKeyEnum.java new file mode 100644 index 00000000..9d6c94ab --- /dev/null +++ b/yshop-common/src/main/java/co/yixiang/enums/RedisKeyEnum.java @@ -0,0 +1,27 @@ +package co.yixiang.enums; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +/** + * rediskey 相关枚举 + */ +@Getter +@AllArgsConstructor +public enum RedisKeyEnum { + + WXAPP_APPID("wxapp_appId","微信小程序id"), + WXAPP_SECRET("wxapp_secret","微信小程序秘钥"), + WX_NATIVE_APP_APPID("wx_native_app_appId","支付appId"), + WXPAY_MCHID("wxpay_mchId","商户号"), + WXPAY_MCHKEY("wxpay_mchKey","商户秘钥"), + WXPAY_KEYPATH("wxpay_keyPath","商户证书路径"), + WECHAT_APPID("wechat_appid","微信公众号id"), + WECHAT_APPSECRET("wechat_appsecret","微信公众号secret"), + WECHAT_TOKEN("wechat_token","微信公众号验证token"), + WECHAT_ENCODINGAESKEY("wechat_encodingaeskey","EncodingAESKey"), + TENGXUN_MAP_KEY("tengxun_map_key","腾讯mapkey"); + + private String value; + private String desc; +}