From 7fe41f593ada11a6b7ac7493ee474c4ee9105e62 Mon Sep 17 00:00:00 2001 From: guoshengxiong <1923636941@qq.com> Date: Fri, 17 May 2024 10:50:14 +0800 Subject: [PATCH] =?UTF-8?q?bug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/CompanyConfigServiceImpl.java | 51 +++++++++---------- 1 file changed, 25 insertions(+), 26 deletions(-) diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/CompanyConfigServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/CompanyConfigServiceImpl.java index 1bc3ee317..b60fc6f17 100644 --- a/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/CompanyConfigServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/CompanyConfigServiceImpl.java @@ -1,6 +1,7 @@ package com.zhgd.xmgl.modules.basicdata.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.zhgd.redis.lock.RedisRepository; import com.zhgd.xmgl.modules.basicdata.entity.Company; import com.zhgd.xmgl.modules.basicdata.entity.CompanyConfig; @@ -9,16 +10,13 @@ import com.zhgd.xmgl.modules.basicdata.mapper.CompanyMapper; import com.zhgd.xmgl.modules.basicdata.service.ICompanyConfigService; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Service; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.transaction.annotation.Transactional; /** * @Description: 企业配置 * @author: pds - * @date: 2020-08-06 + * @date: 2020-08-06 * @version: V1.0 */ @Service @@ -33,8 +31,8 @@ public class CompanyConfigServiceImpl extends ServiceImpl queryWrapper=new QueryWrapper<>(); - queryWrapper.lambda().eq(CompanyConfig::getCompanySn,companySn); - companyConfig=companyConfigMapper.selectOne(queryWrapper); - if(companyConfig == null) { + public CompanyConfig getCompanyConfig(String companySn) { + CompanyConfig companyConfig = (CompanyConfig) redisRepository.get("COMPANY_CONFIG" + companySn); + if (companyConfig == null) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.lambda().eq(CompanyConfig::getCompanySn, companySn); + companyConfig = companyConfigMapper.selectOne(queryWrapper); + if (companyConfig == null) { //如果数据库中数据为空,则存入一个空值,设置短时间内过期,防止缓存穿透 - redisRepository.setExpire("COMPANY_CONFIG"+companySn,null,60*60*24); - }else { + redisRepository.setExpire("COMPANY_CONFIG" + companySn, null, 60 * 60 * 24); + } else { //将数据写入缓存 - redisRepository.setExpire("COMPANY_CONFIG"+companySn,companyConfig,60*60*24*3); + redisRepository.setExpire("COMPANY_CONFIG" + companySn, companyConfig, 60 * 60 * 24 * 3); } - }else{ - redisRepository.setExpire("COMPANY_CONFIG"+companySn,companyConfig,60*60*24*3); + } else { + redisRepository.setExpire("COMPANY_CONFIG" + companySn, companyConfig, 60 * 60 * 24 * 3); } return companyConfig; } @Override - public CompanyConfig getCompanyConfigByProjectSn(String projectSn){ - String companySn=(String)redisRepository.get("COMPANY_HEAD_PROJECT"+projectSn); - if(StringUtils.isEmpty(companySn)){ - Company company=companyMapper.selectComapnyByProject(projectSn); - redisRepository.set("COMPANY_HEAD_PROJECT"+projectSn,company.getHeadquartersSn()); - companySn=company.getHeadquartersSn(); + public CompanyConfig getCompanyConfigByProjectSn(String projectSn) { + String companySn = (String) redisRepository.get("COMPANY_HEAD_PROJECT" + projectSn); + if (StringUtils.isEmpty(companySn)) { + Company company = companyMapper.selectComapnyByProject(projectSn); + String headquartersSn = company != null ? company.getHeadquartersSn() : null; + redisRepository.set("COMPANY_HEAD_PROJECT" + projectSn, headquartersSn); + companySn = headquartersSn; } - if(StringUtils.isNotEmpty(companySn)) { + if (StringUtils.isNotEmpty(companySn)) { return getCompanyConfig(companySn); - }else{ + } else { return getCompanyConfig(null); } }