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;
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<CompanyConfigMapper, C
@Override
public void updateCompanyConfig(CompanyConfig companyConfig) {
CompanyConfig config=companyConfigMapper.selectById(companyConfig.getClientId());
if(config!=null) {
CompanyConfig config = companyConfigMapper.selectById(companyConfig.getClientId());
if (config != null) {
companyConfigMapper.updateById(companyConfig);
if (redisRepository.exists("COMPANY_CONFIG" + config.getCompanySn())) {
redisRepository.del("COMPANY_CONFIG" + config.getCompanySn());
@ -43,36 +41,37 @@ public class CompanyConfigServiceImpl extends ServiceImpl<CompanyConfigMapper, C
}
@Override
public CompanyConfig getCompanyConfig(String companySn){
CompanyConfig companyConfig = (CompanyConfig)redisRepository.get("COMPANY_CONFIG"+companySn);
if(companyConfig==null){
QueryWrapper<CompanyConfig> 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<CompanyConfig> 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);
}
}