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; } }