@ -1,12 +1,15 @@
@@ -1,12 +1,15 @@
package com.ruoyi.system.service.impl ;
import java.util.Collection ;
import java.util.List ;
import javax.annotation.PostConstruct ;
import org.springframework.beans.factory.annotation.Autowired ;
import org.springframework.stereotype.Service ;
import com.ruoyi.common.core.constant.Constants ;
import com.ruoyi.common.core.constant.UserConstants ;
import com.ruoyi.common.core.text.Convert ;
import com.ruoyi.common.core.utils.StringUtils ;
import com.ruoyi.common.redis.service.RedisService ;
import com.ruoyi.system.domain.SysConfig ;
import com.ruoyi.system.mapper.SysConfigMapper ;
import com.ruoyi.system.service.ISysConfigService ;
@ -22,6 +25,22 @@ public class SysConfigServiceImpl implements ISysConfigService
@@ -22,6 +25,22 @@ public class SysConfigServiceImpl implements ISysConfigService
@Autowired
private SysConfigMapper configMapper ;
@Autowired
private RedisService redisService ;
/ * *
* 项目启动时 , 初始化参数到缓存
* /
@PostConstruct
public void init ( )
{
List < SysConfig > configsList = configMapper . selectConfigList ( new SysConfig ( ) ) ;
for ( SysConfig config : configsList )
{
redisService . setCacheObject ( getCacheKey ( config . getConfigKey ( ) ) , config . getConfigValue ( ) ) ;
}
}
/ * *
* 查询参数配置信息
*
@ -45,10 +64,20 @@ public class SysConfigServiceImpl implements ISysConfigService
@@ -45,10 +64,20 @@ public class SysConfigServiceImpl implements ISysConfigService
@Override
public String selectConfigByKey ( String configKey )
{
String configValue = Convert . toStr ( redisService . getCacheObject ( getCacheKey ( configKey ) ) ) ;
if ( StringUtils . isNotEmpty ( configValue ) )
{
return configValue ;
}
SysConfig config = new SysConfig ( ) ;
config . setConfigKey ( configKey ) ;
SysConfig retConfig = configMapper . selectConfig ( config ) ;
return StringUtils . isNotNull ( retConfig ) ? retConfig . getConfigValue ( ) : "" ;
if ( StringUtils . isNotNull ( retConfig ) )
{
redisService . setCacheObject ( getCacheKey ( configKey ) , retConfig . getConfigValue ( ) ) ;
return retConfig . getConfigValue ( ) ;
}
return StringUtils . EMPTY ;
}
/ * *
@ -72,7 +101,12 @@ public class SysConfigServiceImpl implements ISysConfigService
@@ -72,7 +101,12 @@ public class SysConfigServiceImpl implements ISysConfigService
@Override
public int insertConfig ( SysConfig config )
{
return configMapper . insertConfig ( config ) ;
int row = configMapper . insertConfig ( config ) ;
if ( row > 0 )
{
redisService . setCacheObject ( getCacheKey ( config . getConfigKey ( ) ) , config . getConfigValue ( ) ) ;
}
return row ;
}
/ * *
@ -84,31 +118,39 @@ public class SysConfigServiceImpl implements ISysConfigService
@@ -84,31 +118,39 @@ public class SysConfigServiceImpl implements ISysConfigService
@Override
public int updateConfig ( SysConfig config )
{
return configMapper . updateConfig ( config ) ;
int row = configMapper . updateConfig ( config ) ;
if ( row > 0 )
{
redisService . setCacheObject ( getCacheKey ( config . getConfigKey ( ) ) , config . getConfigValue ( ) ) ;
}
return row ;
}
/ * *
* 删除参数配置信息
* 批量 删除参数信息
*
* @param configId 参数ID
* @param configIds 需要删除的 参数ID
* @return 结果
* /
@Override
public int deleteConfigById ( Long configId )
public int deleteConfigByIds ( Long [ ] configIds )
{
int count = configMapper . deleteConfigByIds ( configIds ) ;
if ( count > 0 )
{
return configMapper . deleteConfigById ( configId ) ;
Collection < String > keys = redisService . keys ( Constants . SYS_CONFIG_KEY + "*" ) ;
redisService . deleteObject ( keys ) ;
}
return count ;
}
/ * *
* 批量删除参数信息
*
* @param configIds 需要删除的参数ID
* @return 结果
* 清空缓存数据
* /
@Override
public int deleteConfigByIds ( Long [ ] configIds )
public void clearCache ( )
{
return configMapper . deleteConfigByIds ( configIds ) ;
Collection < String > keys = redisService . keys ( Constants . SYS_CONFIG_KEY + "*" ) ;
redisService . deleteObject ( keys ) ;
}
/ * *
@ -128,4 +170,15 @@ public class SysConfigServiceImpl implements ISysConfigService
@@ -128,4 +170,15 @@ public class SysConfigServiceImpl implements ISysConfigService
}
return UserConstants . UNIQUE ;
}
/ * *
* 设置cache key
*
* @param configKey 参数键
* @return 缓存键key
* /
private String getCacheKey ( String configKey )
{
return Constants . SYS_CONFIG_KEY + configKey ;
}
}