package com.fzzy.igds.sys;
|
|
import com.fzzy.igds.dzhwk.constant.RedisConst;
|
import com.fzzy.igds.dzhwk.domain.DicSysConf;
|
import com.fzzy.igds.sys.repository.SysConfRepository;
|
import com.fzzy.igds.util.ContextUtil;
|
import com.ruoyi.common.core.redis.RedisCache;
|
import com.ruoyi.common.utils.StringUtils;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.stereotype.Service;
|
|
import javax.annotation.Resource;
|
|
/**
|
* @Description 系统配置service层
|
* @Author CZT
|
* @Date 2024/11/20 19:01
|
*/
|
@Slf4j
|
@Service("sys.sysConfService")
|
public class SysConfService {
|
|
@Resource
|
private SysConfRepository sysConfRepository;
|
@Resource
|
private RedisCache redisCache;
|
|
/**
|
* 根据组织编码获取系统参数配置信息
|
* @param companyId
|
* @return
|
*/
|
public DicSysConf getSysConf(String companyId) {
|
|
if(StringUtils.isEmpty(companyId)){
|
companyId = ContextUtil.getCompanyId();
|
}
|
return sysConfRepository.getSysConf(companyId);
|
}
|
|
/**
|
* 更新系统配置信息
|
* @param data
|
*/
|
public void saveSysConf(DicSysConf data) {
|
if(StringUtils.isEmpty(data.getCompanyId())){
|
data.setCompanyId(ContextUtil.getCompanyId());
|
}
|
sysConfRepository.save(data);
|
}
|
|
/**
|
* 刷新系统配置缓存
|
* @param companyId
|
*/
|
public void flushCacheSysConf(String companyId) {
|
if(StringUtils.isEmpty(companyId)){
|
companyId = ContextUtil.getCompanyId();
|
}
|
DicSysConf sysConf = sysConfRepository.getSysConf(companyId);
|
this.setCacheSysConf(companyId, sysConf);
|
}
|
|
/**
|
* 设置系统配置缓存
|
* @param companyId
|
* @param data
|
*/
|
public void setCacheSysConf(String companyId, DicSysConf data) {
|
String key = RedisConst.buildKey(companyId, RedisConst.KEY_SYS_CONF);
|
redisCache.setCacheObject(key, data);
|
}
|
|
/**
|
* 获取系统配置缓存
|
* @param companyId
|
* @return
|
*/
|
public DicSysConf getCacheSysConf(String companyId) {
|
String key = RedisConst.buildKey(companyId, RedisConst.KEY_SYS_CONF);
|
DicSysConf data = (DicSysConf) redisCache.getCacheObject(key);
|
if (null == data) {
|
log.error("没有获取到当前组织={}的系统配置系统,取默认值。", companyId);
|
return new DicSysConf(companyId);
|
}
|
return data;
|
}
|
}
|