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 org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Component;
import javax.annotation.PostConstruct;
import java.util.List;
@ -23,14 +24,14 @@ public class RedisKeyInitialization {
private final YxSystemConfigService systemConfigService;
private final RedisTemplate<String,String> redisTemplate;
private final RedisTemplate<Object, Object> redisTemplate;
@PostConstruct
public void redisKeyInitialization(){
List<RedisKeyEnum> redisKeyEnums = Stream.of(RedisKeyEnum.values()).collect(Collectors.toList());
for (RedisKeyEnum redisKeyEnum : redisKeyEnums) {
String redisKey = redisTemplate.opsForValue().get(redisKeyEnum.getValue());
if(StringUtils.isEmpty(redisKey)){
Object redisKey = redisTemplate.opsForValue().get(redisKeyEnum.getValue());
if(redisKey == null){
String dbKey = systemConfigService.getData(redisKeyEnum.getValue());
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.OrderInfoEnum;
import co.yixiang.enums.PayTypeEnum;
import co.yixiang.enums.RedisKeyEnum;
import co.yixiang.exception.BadRequestException;
import co.yixiang.exception.ErrorRequestException;
import co.yixiang.express.ExpressService;
@ -455,7 +456,7 @@ public class StoreOrderController extends BaseController {
//门店
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");
String apiUrl = systemConfigService.getData("api_url");
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.constant.ShopConstants;
import co.yixiang.enums.AppFromEnum;
import co.yixiang.enums.RedisKeyEnum;
import co.yixiang.exception.ErrorRequestException;
import co.yixiang.modules.notify.NotifyService;
import co.yixiang.modules.notify.NotifyType;
@ -309,8 +310,8 @@ public class AuthController {
String spread = loginParam.getSpread();
try {
//读取redis配置
String appId = RedisUtil.get("wxapp_appId");
String secret = RedisUtil.get("wxapp_secret");
String appId = RedisUtil.get(RedisKeyEnum.WXAPP_APPID.getValue());
String secret = RedisUtil.get(RedisKeyEnum.WXAPP_SECRET.getValue());
if (StrUtil.isBlank(appId) || StrUtil.isBlank(secret)) {
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.enums.CommonEnum;
import co.yixiang.enums.ProductEnum;
import co.yixiang.enums.RedisKeyEnum;
import co.yixiang.exception.ErrorRequestException;
import co.yixiang.modules.shop.entity.YxStoreProduct;
import co.yixiang.modules.shop.entity.YxStoreProductAttrValue;
@ -160,7 +161,7 @@ public class YxStoreProductServiceImpl extends BaseServiceImpl<YxStoreProductMap
//门店
productDTO.setSystemStore(systemStoreService.getStoreInfo(latitude,longitude));
productDTO.setMapKey(RedisUtil.get("tengxun_map_key"));
productDTO.setMapKey(RedisUtil.get(RedisKeyEnum.TENGXUN_MAP_KEY.getValue()));
return productDTO;
}

View File

@ -14,6 +14,7 @@ import cn.hutool.core.util.StrUtil;
import co.yixiang.annotation.AnonymousAccess;
import co.yixiang.common.api.ApiResult;
import co.yixiang.constant.ShopConstants;
import co.yixiang.enums.RedisKeyEnum;
import co.yixiang.modules.shop.service.YxStoreProductService;
import co.yixiang.modules.shop.service.YxSystemGroupDataService;
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("mapKey",RedisUtil.get("tengxun_map_key"));
map.put("mapKey",RedisUtil.get(RedisKeyEnum.TENGXUN_MAP_KEY.getValue()));
return ApiResult.ok(map);
}

View File

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

View File

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

View File

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

View File

@ -4,13 +4,13 @@ import co.yixiang.annotation.Query;
import lombok.Data;
/**
* @author hupeng
* @date 2019-11-10
*/
* @author hupeng
* @date 2019-11-10
*/
@Data
public class YxStoreCouponUserQueryCriteria{
// 模糊
@Query(type = Query.Type.INNER_LIKE)
private String couponTitle;
}
}

View File

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

View File

@ -4,6 +4,7 @@ import cn.hutool.core.util.StrUtil;
import cn.hutool.http.HttpUtil;
import co.yixiang.aop.log.Log;
import co.yixiang.constant.ShopConstants;
import co.yixiang.enums.RedisKeyEnum;
import co.yixiang.exception.BadRequestException;
import co.yixiang.modules.shop.domain.YxSystemStore;
import co.yixiang.modules.shop.service.YxSystemStoreService;
@ -69,7 +70,7 @@ public class SystemStoreController {
@ApiOperation("获取经纬度")
@PreAuthorize("@el.check('yxSystemStore:getl')")
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");
JSONObject jsonObject = JSON.parseObject(jsonStr);
String addr = jsonObject.getString("addr");
@ -107,4 +108,4 @@ public class SystemStoreController {
yxSystemStoreService.deleteAll(ids);
return new ResponseEntity<>(HttpStatus.OK);
}
}
}