reidsKey微信相关采用枚举统一处理

This commit is contained in:
xwb
2020-04-29 17:48:11 +08:00
parent af3e9e30d9
commit 4f9c5a214c
11 changed files with 45 additions and 35 deletions

View File

@ -6,6 +6,7 @@ import co.yixiang.utils.StringUtils;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import javax.annotation.PostConstruct; import javax.annotation.PostConstruct;
import java.util.List; import java.util.List;
@ -23,14 +24,14 @@ public class RedisKeyInitialization {
private final YxSystemConfigService systemConfigService; private final YxSystemConfigService systemConfigService;
private final RedisTemplate<String,String> redisTemplate; private final RedisTemplate<Object, Object> redisTemplate;
@PostConstruct @PostConstruct
public void redisKeyInitialization(){ public void redisKeyInitialization(){
List<RedisKeyEnum> redisKeyEnums = Stream.of(RedisKeyEnum.values()).collect(Collectors.toList()); List<RedisKeyEnum> redisKeyEnums = Stream.of(RedisKeyEnum.values()).collect(Collectors.toList());
for (RedisKeyEnum redisKeyEnum : redisKeyEnums) { for (RedisKeyEnum redisKeyEnum : redisKeyEnums) {
String redisKey = redisTemplate.opsForValue().get(redisKeyEnum.getValue()); Object redisKey = redisTemplate.opsForValue().get(redisKeyEnum.getValue());
if(StringUtils.isEmpty(redisKey)){ if(redisKey == null){
String dbKey = systemConfigService.getData(redisKeyEnum.getValue()); String dbKey = systemConfigService.getData(redisKeyEnum.getValue());
redisTemplate.opsForValue().set(redisKeyEnum.getValue(),dbKey); redisTemplate.opsForValue().set(redisKeyEnum.getValue(),dbKey);
} }

View File

@ -19,6 +19,7 @@ import co.yixiang.common.web.controller.BaseController;
import co.yixiang.enums.AppFromEnum; import co.yixiang.enums.AppFromEnum;
import co.yixiang.enums.OrderInfoEnum; import co.yixiang.enums.OrderInfoEnum;
import co.yixiang.enums.PayTypeEnum; import co.yixiang.enums.PayTypeEnum;
import co.yixiang.enums.RedisKeyEnum;
import co.yixiang.exception.BadRequestException; import co.yixiang.exception.BadRequestException;
import co.yixiang.exception.ErrorRequestException; import co.yixiang.exception.ErrorRequestException;
import co.yixiang.express.ExpressService; import co.yixiang.express.ExpressService;
@ -455,7 +456,7 @@ public class StoreOrderController extends BaseController {
//门店 //门店
if(OrderInfoEnum.SHIPPIING_TYPE_2.getValue().equals(storeOrder.getShippingType())){ if(OrderInfoEnum.SHIPPIING_TYPE_2.getValue().equals(storeOrder.getShippingType())){
String mapKey = RedisUtil.get("tengxun_map_key"); String mapKey = RedisUtil.get(RedisKeyEnum.TENGXUN_MAP_KEY.getValue());
if(StrUtil.isBlank(mapKey)) return ApiResult.fail("请配置腾讯地图key"); if(StrUtil.isBlank(mapKey)) return ApiResult.fail("请配置腾讯地图key");
String apiUrl = systemConfigService.getData("api_url"); String apiUrl = systemConfigService.getData("api_url");
if(StrUtil.isEmpty(apiUrl)){ if(StrUtil.isEmpty(apiUrl)){

View File

@ -22,6 +22,7 @@ import co.yixiang.common.api.ApiCode;
import co.yixiang.common.api.ApiResult; import co.yixiang.common.api.ApiResult;
import co.yixiang.constant.ShopConstants; import co.yixiang.constant.ShopConstants;
import co.yixiang.enums.AppFromEnum; import co.yixiang.enums.AppFromEnum;
import co.yixiang.enums.RedisKeyEnum;
import co.yixiang.exception.ErrorRequestException; import co.yixiang.exception.ErrorRequestException;
import co.yixiang.modules.notify.NotifyService; import co.yixiang.modules.notify.NotifyService;
import co.yixiang.modules.notify.NotifyType; import co.yixiang.modules.notify.NotifyType;
@ -309,8 +310,8 @@ public class AuthController {
String spread = loginParam.getSpread(); String spread = loginParam.getSpread();
try { try {
//读取redis配置 //读取redis配置
String appId = RedisUtil.get("wxapp_appId"); String appId = RedisUtil.get(RedisKeyEnum.WXAPP_APPID.getValue());
String secret = RedisUtil.get("wxapp_secret"); String secret = RedisUtil.get(RedisKeyEnum.WXAPP_SECRET.getValue());
if (StrUtil.isBlank(appId) || StrUtil.isBlank(secret)) { if (StrUtil.isBlank(appId) || StrUtil.isBlank(secret)) {
throw new ErrorRequestException("请先配置小程序"); throw new ErrorRequestException("请先配置小程序");
} }

View File

@ -14,6 +14,7 @@ import co.yixiang.common.service.impl.BaseServiceImpl;
import co.yixiang.common.web.vo.Paging; import co.yixiang.common.web.vo.Paging;
import co.yixiang.enums.CommonEnum; import co.yixiang.enums.CommonEnum;
import co.yixiang.enums.ProductEnum; import co.yixiang.enums.ProductEnum;
import co.yixiang.enums.RedisKeyEnum;
import co.yixiang.exception.ErrorRequestException; import co.yixiang.exception.ErrorRequestException;
import co.yixiang.modules.shop.entity.YxStoreProduct; import co.yixiang.modules.shop.entity.YxStoreProduct;
import co.yixiang.modules.shop.entity.YxStoreProductAttrValue; import co.yixiang.modules.shop.entity.YxStoreProductAttrValue;
@ -160,7 +161,7 @@ public class YxStoreProductServiceImpl extends BaseServiceImpl<YxStoreProductMap
//门店 //门店
productDTO.setSystemStore(systemStoreService.getStoreInfo(latitude,longitude)); productDTO.setSystemStore(systemStoreService.getStoreInfo(latitude,longitude));
productDTO.setMapKey(RedisUtil.get("tengxun_map_key")); productDTO.setMapKey(RedisUtil.get(RedisKeyEnum.TENGXUN_MAP_KEY.getValue()));
return productDTO; return productDTO;
} }

View File

@ -14,6 +14,7 @@ import cn.hutool.core.util.StrUtil;
import co.yixiang.annotation.AnonymousAccess; import co.yixiang.annotation.AnonymousAccess;
import co.yixiang.common.api.ApiResult; import co.yixiang.common.api.ApiResult;
import co.yixiang.constant.ShopConstants; import co.yixiang.constant.ShopConstants;
import co.yixiang.enums.RedisKeyEnum;
import co.yixiang.modules.shop.service.YxStoreProductService; import co.yixiang.modules.shop.service.YxStoreProductService;
import co.yixiang.modules.shop.service.YxSystemGroupDataService; import co.yixiang.modules.shop.service.YxSystemGroupDataService;
import co.yixiang.modules.shop.service.YxSystemStoreService; import co.yixiang.modules.shop.service.YxSystemStoreService;
@ -83,7 +84,7 @@ public class IndexController {
//滚动 //滚动
map.put("roll",systemGroupDataService.getDatas(ShopConstants.YSHOP_HOME_ROLL_NEWS)); map.put("roll",systemGroupDataService.getDatas(ShopConstants.YSHOP_HOME_ROLL_NEWS));
map.put("mapKey",RedisUtil.get("tengxun_map_key")); map.put("mapKey",RedisUtil.get(RedisKeyEnum.TENGXUN_MAP_KEY.getValue()));
return ApiResult.ok(map); return ApiResult.ok(map);
} }

View File

@ -17,6 +17,7 @@ import cn.hutool.core.util.RandomUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import co.yixiang.annotation.AnonymousAccess; import co.yixiang.annotation.AnonymousAccess;
import co.yixiang.common.api.ApiResult; import co.yixiang.common.api.ApiResult;
import co.yixiang.enums.RedisKeyEnum;
import co.yixiang.exception.ErrorRequestException; import co.yixiang.exception.ErrorRequestException;
import co.yixiang.modules.notify.NotifyType; import co.yixiang.modules.notify.NotifyType;
import co.yixiang.modules.notify.SmsResult; import co.yixiang.modules.notify.SmsResult;
@ -107,8 +108,8 @@ public class WxMaUserController {
} }
//读取redis配置 //读取redis配置
String appId = RedisUtil.get("wxapp_appId"); String appId = RedisUtil.get(RedisKeyEnum.WXAPP_APPID.getValue());
String secret = RedisUtil.get("wxapp_secret"); String secret = RedisUtil.get(RedisKeyEnum.WXAPP_SECRET.getValue());
if (StrUtil.isBlank(appId) || StrUtil.isBlank(secret)) { if (StrUtil.isBlank(appId) || StrUtil.isBlank(secret)) {
throw new ErrorRequestException("请先配置小程序"); throw new ErrorRequestException("请先配置小程序");
} }

View File

@ -2,6 +2,7 @@ package co.yixiang.mp.config;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import co.yixiang.constant.ShopConstants; import co.yixiang.constant.ShopConstants;
import co.yixiang.enums.RedisKeyEnum;
import co.yixiang.mp.handler.*; import co.yixiang.mp.handler.*;
import co.yixiang.utils.RedisUtil; import co.yixiang.utils.RedisUtil;
import com.google.common.collect.Maps; import com.google.common.collect.Maps;
@ -70,10 +71,10 @@ public class WxMpConfiguration {
//增加一个redis标识 //增加一个redis标识
if(wxMpService == null || RedisUtil.get(ShopConstants.YSHOP_WEIXIN_MP_SERVICE) == null) { if(wxMpService == null || RedisUtil.get(ShopConstants.YSHOP_WEIXIN_MP_SERVICE) == null) {
WxMpDefaultConfigImpl configStorage = new WxMpDefaultConfigImpl(); WxMpDefaultConfigImpl configStorage = new WxMpDefaultConfigImpl();
configStorage.setAppId(RedisUtil.get("wechat_appid")); configStorage.setAppId(RedisUtil.get(RedisKeyEnum.WECHAT_APPID.getValue()));
configStorage.setSecret(RedisUtil.get("wechat_appsecret")); configStorage.setSecret(RedisUtil.get(RedisKeyEnum.WECHAT_APPSECRET.getValue()));
configStorage.setToken(RedisUtil.get("wechat_token")); configStorage.setToken(RedisUtil.get(RedisKeyEnum.WECHAT_TOKEN.getValue()));
configStorage.setAesKey(RedisUtil.get("wechat_encodingaeskey")); configStorage.setAesKey(RedisUtil.get(RedisKeyEnum.WECHAT_ENCODINGAESKEY.getValue()));
wxMpService = new WxMpServiceImpl(); wxMpService = new WxMpServiceImpl();
wxMpService.setWxMpConfigStorage(configStorage); wxMpService.setWxMpConfigStorage(configStorage);
mpServices.put(ShopConstants.YSHOP_WEIXIN_MP_SERVICE, wxMpService); mpServices.put(ShopConstants.YSHOP_WEIXIN_MP_SERVICE, wxMpService);

View File

@ -1,6 +1,7 @@
package co.yixiang.mp.config; package co.yixiang.mp.config;
import co.yixiang.constant.ShopConstants; import co.yixiang.constant.ShopConstants;
import co.yixiang.enums.RedisKeyEnum;
import co.yixiang.mp.handler.RedisHandler; import co.yixiang.mp.handler.RedisHandler;
import co.yixiang.utils.RedisUtil; import co.yixiang.utils.RedisUtil;
import com.github.binarywang.wxpay.config.WxPayConfig; import com.github.binarywang.wxpay.config.WxPayConfig;
@ -39,10 +40,10 @@ public class WxPayConfiguration {
WxPayService wxPayService = payServices.get(ShopConstants.YSHOP_WEIXIN_PAY_SERVICE); WxPayService wxPayService = payServices.get(ShopConstants.YSHOP_WEIXIN_PAY_SERVICE);
if(wxPayService == null || RedisUtil.get(ShopConstants.YSHOP_WEIXIN_PAY_SERVICE) == null) { if(wxPayService == null || RedisUtil.get(ShopConstants.YSHOP_WEIXIN_PAY_SERVICE) == null) {
WxPayConfig payConfig = new WxPayConfig(); WxPayConfig payConfig = new WxPayConfig();
payConfig.setAppId(RedisUtil.get("wechat_appid")); payConfig.setAppId(RedisUtil.get(RedisKeyEnum.WECHAT_APPID.getValue()));
payConfig.setMchId(RedisUtil.get("wxpay_mchId")); payConfig.setMchId(RedisUtil.get(RedisKeyEnum.WXPAY_MCHID.getValue()));
payConfig.setMchKey(RedisUtil.get("wxpay_mchKey")); payConfig.setMchKey(RedisUtil.get(RedisKeyEnum.WXPAY_MCHKEY.getValue()));
payConfig.setKeyPath(RedisUtil.get("wxpay_keyPath")); payConfig.setKeyPath(RedisUtil.get(RedisKeyEnum.WXPAY_KEYPATH.getValue()));
// 可以指定是否使用沙箱环境 // 可以指定是否使用沙箱环境
payConfig.setUseSandboxEnv(false); payConfig.setUseSandboxEnv(false);
wxPayService = new WxPayServiceImpl(); wxPayService = new WxPayServiceImpl();
@ -63,10 +64,10 @@ public class WxPayConfiguration {
WxPayService wxPayService = payServices.get(ShopConstants.YSHOP_WEIXIN_MINI_PAY_SERVICE); WxPayService wxPayService = payServices.get(ShopConstants.YSHOP_WEIXIN_MINI_PAY_SERVICE);
if(wxPayService == null || RedisUtil.get(ShopConstants.YSHOP_WEIXIN_PAY_SERVICE) == null) { if(wxPayService == null || RedisUtil.get(ShopConstants.YSHOP_WEIXIN_PAY_SERVICE) == null) {
WxPayConfig payConfig = new WxPayConfig(); WxPayConfig payConfig = new WxPayConfig();
payConfig.setAppId(RedisUtil.get("wxapp_appId")); payConfig.setAppId(RedisUtil.get(RedisKeyEnum.WXAPP_APPID.getValue()));
payConfig.setMchId(RedisUtil.get("wxpay_mchId")); payConfig.setMchId(RedisUtil.get(RedisKeyEnum.WXPAY_MCHID.getValue()));
payConfig.setMchKey(RedisUtil.get("wxpay_mchKey")); payConfig.setMchKey(RedisUtil.get(RedisKeyEnum.WXPAY_MCHKEY.getValue()));
payConfig.setKeyPath(RedisUtil.get("wxpay_keyPath")); payConfig.setKeyPath(RedisUtil.get(RedisKeyEnum.WXPAY_KEYPATH.getValue()));
// 可以指定是否使用沙箱环境 // 可以指定是否使用沙箱环境
payConfig.setUseSandboxEnv(false); payConfig.setUseSandboxEnv(false);
wxPayService = new WxPayServiceImpl(); wxPayService = new WxPayServiceImpl();
@ -87,10 +88,10 @@ public class WxPayConfiguration {
WxPayService wxPayService = payServices.get(ShopConstants.YSHOP_WEIXIN_APP_PAY_SERVICE); WxPayService wxPayService = payServices.get(ShopConstants.YSHOP_WEIXIN_APP_PAY_SERVICE);
if(wxPayService == null || RedisUtil.get(ShopConstants.YSHOP_WEIXIN_PAY_SERVICE) == null) { if(wxPayService == null || RedisUtil.get(ShopConstants.YSHOP_WEIXIN_PAY_SERVICE) == null) {
WxPayConfig payConfig = new WxPayConfig(); WxPayConfig payConfig = new WxPayConfig();
payConfig.setAppId(RedisUtil.get("wx_native_app_appId")); payConfig.setAppId(RedisUtil.get(RedisKeyEnum.WX_NATIVE_APP_APPID.getValue()));
payConfig.setMchId(RedisUtil.get("wxpay_mchId")); payConfig.setMchId(RedisUtil.get(RedisKeyEnum.WXPAY_MCHID.getValue()));
payConfig.setMchKey(RedisUtil.get("wxpay_mchKey")); payConfig.setMchKey(RedisUtil.get(RedisKeyEnum.WXPAY_MCHKEY.getValue()));
payConfig.setKeyPath(RedisUtil.get("wxpay_keyPath")); payConfig.setKeyPath(RedisUtil.get(RedisKeyEnum.WXPAY_KEYPATH.getValue()));
// 可以指定是否使用沙箱环境 // 可以指定是否使用沙箱环境
payConfig.setUseSandboxEnv(false); payConfig.setUseSandboxEnv(false);
wxPayService = new WxPayServiceImpl(); wxPayService = new WxPayServiceImpl();

View File

@ -4,9 +4,9 @@ import co.yixiang.annotation.Query;
import lombok.Data; import lombok.Data;
/** /**
* @author hupeng * @author hupeng
* @date 2019-11-10 * @date 2019-11-10
*/ */
@Data @Data
public class YxStoreCouponUserQueryCriteria{ public class YxStoreCouponUserQueryCriteria{

View File

@ -4,6 +4,7 @@ import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import co.yixiang.aop.log.Log; import co.yixiang.aop.log.Log;
import co.yixiang.constant.ShopConstants; import co.yixiang.constant.ShopConstants;
import co.yixiang.enums.RedisKeyEnum;
import co.yixiang.exception.BadRequestException; import co.yixiang.exception.BadRequestException;
import co.yixiang.modules.shop.domain.YxSystemConfig; import co.yixiang.modules.shop.domain.YxSystemConfig;
import co.yixiang.modules.shop.service.YxSystemConfigService; import co.yixiang.modules.shop.service.YxSystemConfigService;
@ -60,11 +61,11 @@ public class SystemConfigController {
yxSystemConfigModel.setMenuName(key); yxSystemConfigModel.setMenuName(key);
yxSystemConfigModel.setValue(value.toString()); yxSystemConfigModel.setValue(value.toString());
//重新配置微信相关 //重新配置微信相关
if(key.equals("wechat_appid")){ if(RedisKeyEnum.WECHAT_APPID.getValue().equals(key)){
WxMpConfiguration.removeWxMpService(); WxMpConfiguration.removeWxMpService();
WxPayConfiguration.removeWxPayService(); WxPayConfiguration.removeWxPayService();
} }
if(key.equals("wxpay_mchId") || key.equals("wxapp_appId")){ if( RedisKeyEnum.WXPAY_MCHID.getValue().equals(key) || RedisKeyEnum.WXAPP_APPID.getValue().equals(key)){
WxPayConfiguration.removeWxPayService(); WxPayConfiguration.removeWxPayService();
} }
RedisUtil.set(key,value.toString(),0); RedisUtil.set(key,value.toString(),0);

View File

@ -4,6 +4,7 @@ import cn.hutool.core.util.StrUtil;
import cn.hutool.http.HttpUtil; import cn.hutool.http.HttpUtil;
import co.yixiang.aop.log.Log; import co.yixiang.aop.log.Log;
import co.yixiang.constant.ShopConstants; import co.yixiang.constant.ShopConstants;
import co.yixiang.enums.RedisKeyEnum;
import co.yixiang.exception.BadRequestException; import co.yixiang.exception.BadRequestException;
import co.yixiang.modules.shop.domain.YxSystemStore; import co.yixiang.modules.shop.domain.YxSystemStore;
import co.yixiang.modules.shop.service.YxSystemStoreService; import co.yixiang.modules.shop.service.YxSystemStoreService;
@ -69,7 +70,7 @@ public class SystemStoreController {
@ApiOperation("获取经纬度") @ApiOperation("获取经纬度")
@PreAuthorize("@el.check('yxSystemStore:getl')") @PreAuthorize("@el.check('yxSystemStore:getl')")
public ResponseEntity<Object> create(@Validated @RequestBody String jsonStr){ public ResponseEntity<Object> create(@Validated @RequestBody String jsonStr){
String key = RedisUtil.get("tengxun_map_key"); String key = RedisUtil.get(RedisKeyEnum.TENGXUN_MAP_KEY.getValue());
if(StrUtil.isBlank(key)) throw new BadRequestException("请先配置腾讯地图key"); if(StrUtil.isBlank(key)) throw new BadRequestException("请先配置腾讯地图key");
JSONObject jsonObject = JSON.parseObject(jsonStr); JSONObject jsonObject = JSON.parseObject(jsonStr);
String addr = jsonObject.getString("addr"); String addr = jsonObject.getString("addr");