|
@@ -1,5 +1,6 @@
|
|
|
package cn.newfeifan.mall.module.system.service.config;
|
|
|
|
|
|
+import cn.newfeifan.mall.module.system.config.StartConfig;
|
|
|
import cn.newfeifan.mall.module.system.controller.admin.config.bo.SystemConfigBO;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
import org.springframework.data.redis.core.StringRedisTemplate;
|
|
@@ -17,6 +18,7 @@ import cn.newfeifan.mall.module.system.dal.mysql.config.SystemConfigMapper;
|
|
|
import static cn.newfeifan.mall.framework.common.exception.util.ServiceExceptionUtil.exception;
|
|
|
import static cn.newfeifan.mall.module.system.constant.SystemConstants.SYSTEM_CONFIG;
|
|
|
import static cn.newfeifan.mall.module.system.enums.ErrorCodeConstants.*;
|
|
|
+import static cn.newfeifan.mall.module.system.enums.ErrorCodeConstants.CONFIG_REDIS_NOT_EXISTS;
|
|
|
|
|
|
/**
|
|
|
* 系统配置 Service 实现类
|
|
@@ -31,6 +33,9 @@ public class SystemConfigServiceImpl implements SystemConfigService {
|
|
|
private SystemConfigMapper systemConfigMapper;
|
|
|
@Resource
|
|
|
private StringRedisTemplate stringRedisTemplate;
|
|
|
+ @Resource
|
|
|
+ private StartConfig startConfig;
|
|
|
+
|
|
|
|
|
|
@Override
|
|
|
public Long createConfig(ConfigSaveReqVO createReqVO) {
|
|
@@ -77,16 +82,25 @@ public class SystemConfigServiceImpl implements SystemConfigService {
|
|
|
@Override
|
|
|
public SystemConfigDO getRedisConfig() {
|
|
|
String s = stringRedisTemplate.opsForValue().get(SYSTEM_CONFIG);
|
|
|
- if (s != null) {
|
|
|
- SystemConfigBO systemConfigBO = JSONObject.parseObject(s, SystemConfigBO.class);
|
|
|
- return SystemConfigDO.builder()
|
|
|
- .id(systemConfigBO.getId())
|
|
|
- .mallDomain(systemConfigBO.getMallDomain())
|
|
|
- .merchantDomain(systemConfigBO.getMerchantDomain())
|
|
|
- .platformDomain(systemConfigBO.getPlatformDomain())
|
|
|
- .build();
|
|
|
+
|
|
|
+ // 第一次判断是因为redis配置了自动删除
|
|
|
+ if (s == null) {
|
|
|
+ startConfig.initSystemConfig();
|
|
|
+ s = stringRedisTemplate.opsForValue().get(SYSTEM_CONFIG);
|
|
|
}
|
|
|
- return getConfig();
|
|
|
+
|
|
|
+ // 第二次判断如果还是为空,那就缓存到redis的程序写错了
|
|
|
+ if(s == null){
|
|
|
+ throw exception(CONFIG_REDIS_NOT_EXISTS);
|
|
|
+ }
|
|
|
+
|
|
|
+ SystemConfigBO systemConfigBO = JSONObject.parseObject(s, SystemConfigBO.class);
|
|
|
+ return SystemConfigDO.builder()
|
|
|
+ .id(systemConfigBO.getId())
|
|
|
+ .mallDomain(systemConfigBO.getMallDomain())
|
|
|
+ .merchantDomain(systemConfigBO.getMerchantDomain())
|
|
|
+ .platformDomain(systemConfigBO.getPlatformDomain())
|
|
|
+ .build();
|
|
|
}
|
|
|
|
|
|
@Override
|