bug修复

This commit is contained in:
guoshengxiong 2024-05-17 10:50:14 +08:00
parent 185e944070
commit 7fe41f593a

View File

@ -1,6 +1,7 @@
package com.zhgd.xmgl.modules.basicdata.service.impl; package com.zhgd.xmgl.modules.basicdata.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; 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.redis.lock.RedisRepository;
import com.zhgd.xmgl.modules.basicdata.entity.Company; import com.zhgd.xmgl.modules.basicdata.entity.Company;
import com.zhgd.xmgl.modules.basicdata.entity.CompanyConfig; 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 com.zhgd.xmgl.modules.basicdata.service.ICompanyConfigService;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
/** /**
* @Description: 企业配置 * @Description: 企业配置
* @author pds * @author pds
* @date 2020-08-06 * @date 2020-08-06
* @version V1.0 * @version V1.0
*/ */
@Service @Service
@ -33,8 +31,8 @@ public class CompanyConfigServiceImpl extends ServiceImpl<CompanyConfigMapper, C
@Override @Override
public void updateCompanyConfig(CompanyConfig companyConfig) { public void updateCompanyConfig(CompanyConfig companyConfig) {
CompanyConfig config=companyConfigMapper.selectById(companyConfig.getClientId()); CompanyConfig config = companyConfigMapper.selectById(companyConfig.getClientId());
if(config!=null) { if (config != null) {
companyConfigMapper.updateById(companyConfig); companyConfigMapper.updateById(companyConfig);
if (redisRepository.exists("COMPANY_CONFIG" + config.getCompanySn())) { if (redisRepository.exists("COMPANY_CONFIG" + config.getCompanySn())) {
redisRepository.del("COMPANY_CONFIG" + config.getCompanySn()); redisRepository.del("COMPANY_CONFIG" + config.getCompanySn());
@ -43,36 +41,37 @@ public class CompanyConfigServiceImpl extends ServiceImpl<CompanyConfigMapper, C
} }
@Override @Override
public CompanyConfig getCompanyConfig(String companySn){ public CompanyConfig getCompanyConfig(String companySn) {
CompanyConfig companyConfig = (CompanyConfig)redisRepository.get("COMPANY_CONFIG"+companySn); CompanyConfig companyConfig = (CompanyConfig) redisRepository.get("COMPANY_CONFIG" + companySn);
if(companyConfig==null){ if (companyConfig == null) {
QueryWrapper<CompanyConfig> queryWrapper=new QueryWrapper<>(); QueryWrapper<CompanyConfig> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().eq(CompanyConfig::getCompanySn,companySn); queryWrapper.lambda().eq(CompanyConfig::getCompanySn, companySn);
companyConfig=companyConfigMapper.selectOne(queryWrapper); companyConfig = companyConfigMapper.selectOne(queryWrapper);
if(companyConfig == null) { if (companyConfig == null) {
//如果数据库中数据为空则存入一个空值设置短时间内过期防止缓存穿透 //如果数据库中数据为空则存入一个空值设置短时间内过期防止缓存穿透
redisRepository.setExpire("COMPANY_CONFIG"+companySn,null,60*60*24); redisRepository.setExpire("COMPANY_CONFIG" + companySn, null, 60 * 60 * 24);
}else { } else {
//将数据写入缓存 //将数据写入缓存
redisRepository.setExpire("COMPANY_CONFIG"+companySn,companyConfig,60*60*24*3); redisRepository.setExpire("COMPANY_CONFIG" + companySn, companyConfig, 60 * 60 * 24 * 3);
} }
}else{ } else {
redisRepository.setExpire("COMPANY_CONFIG"+companySn,companyConfig,60*60*24*3); redisRepository.setExpire("COMPANY_CONFIG" + companySn, companyConfig, 60 * 60 * 24 * 3);
} }
return companyConfig; return companyConfig;
} }
@Override @Override
public CompanyConfig getCompanyConfigByProjectSn(String projectSn){ public CompanyConfig getCompanyConfigByProjectSn(String projectSn) {
String companySn=(String)redisRepository.get("COMPANY_HEAD_PROJECT"+projectSn); String companySn = (String) redisRepository.get("COMPANY_HEAD_PROJECT" + projectSn);
if(StringUtils.isEmpty(companySn)){ if (StringUtils.isEmpty(companySn)) {
Company company=companyMapper.selectComapnyByProject(projectSn); Company company = companyMapper.selectComapnyByProject(projectSn);
redisRepository.set("COMPANY_HEAD_PROJECT"+projectSn,company.getHeadquartersSn()); String headquartersSn = company != null ? company.getHeadquartersSn() : null;
companySn=company.getHeadquartersSn(); redisRepository.set("COMPANY_HEAD_PROJECT" + projectSn, headquartersSn);
companySn = headquartersSn;
} }
if(StringUtils.isNotEmpty(companySn)) { if (StringUtils.isNotEmpty(companySn)) {
return getCompanyConfig(companySn); return getCompanyConfig(companySn);
}else{ } else {
return getCompanyConfig(null); return getCompanyConfig(null);
} }
} }