Commit 7f0046bd authored by duanruiming's avatar duanruiming

[update] 缓存优化

parent 2e666870
package net.wanji.databus.cache; package net.wanji.web.cache;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import net.wanji.databus.dao.mapper.BaseCrossInfoMapper; import net.wanji.databus.dao.mapper.BaseCrossInfoMapper;
......
...@@ -7,7 +7,7 @@ import com.fasterxml.jackson.databind.ObjectMapper; ...@@ -7,7 +7,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import net.wanji.common.framework.rest.JsonViewObject; import net.wanji.common.framework.rest.JsonViewObject;
import net.wanji.databus.cache.BaseCrossInfoCache; import net.wanji.web.cache.BaseCrossInfoCache;
import net.wanji.databus.po.BaseCrossInfoPO; import net.wanji.databus.po.BaseCrossInfoPO;
import net.wanji.databus.vo.SignalStatusVO; import net.wanji.databus.vo.SignalStatusVO;
import net.wanji.feign.service.UtcFeignClients; import net.wanji.feign.service.UtcFeignClients;
......
package net.wanji.opt.cache;
import lombok.extern.slf4j.Slf4j;
import net.wanji.databus.dao.mapper.BaseCrossInfoMapper;
import net.wanji.databus.po.BaseCrossInfoPO;
import net.wanji.databus.vo.CrossInfoVO;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
/**
* @author duanruiming
* @date 2023/03/14 10:42
*/
@Component
@Slf4j
public class BaseCrossInfoCache implements CommandLineRunner {
@Autowired
private BaseCrossInfoMapper baseCrossInfoMapper;
private static final List<BaseCrossInfoPO> crossInfoList = new ArrayList<>();
/**
* 获取所有路口信息
*
* @return
*/
public List<BaseCrossInfoPO> getCrossInfoCache() {
return crossInfoList;
}
/**
* 通过路口编号查询经纬度
*/
public String getCoordinateByCrossId(String crossId) {
for (BaseCrossInfoPO baseCrossInfoPO : crossInfoList) {
if (StringUtils.equals(crossId, baseCrossInfoPO.getId())) {
return baseCrossInfoPO.getLocation();
}
}
return null;
}
/**
* 获取所有信控路口的路口编号
*
* @return
*/
public List<String> getIsSignalCrossIdList() {
List<String> isSignalCrossIdList = crossInfoList.stream().filter(crossInfoPO -> crossInfoPO.getIsSignal() == 1).map(BaseCrossInfoPO::getId).collect(Collectors.toList());
return isSignalCrossIdList;
}
@Override
public void run(String... args) throws Exception {
init();
}
public void init() {
List<BaseCrossInfoPO> baseCrossInfoPOS = baseCrossInfoMapper.selectAll(new CrossInfoVO());
if (!CollectionUtils.isEmpty(baseCrossInfoPOS)) {
crossInfoList.addAll(baseCrossInfoPOS);
}
}
}
package net.wanji.databus.cache; package net.wanji.opt.cache;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import net.wanji.databus.dao.entity.CrossPhasePO; import net.wanji.databus.dao.entity.CrossPhasePO;
......
package net.wanji.databus.cache; package net.wanji.opt.cache;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import net.wanji.common.framework.Constants; import net.wanji.common.framework.Constants;
......
package net.wanji.databus.cache; package net.wanji.opt.cache;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import net.wanji.common.framework.Constants; import net.wanji.common.framework.Constants;
......
...@@ -8,10 +8,6 @@ import net.wanji.common.framework.Constants; ...@@ -8,10 +8,6 @@ import net.wanji.common.framework.Constants;
import net.wanji.common.framework.rest.JsonViewObject; import net.wanji.common.framework.rest.JsonViewObject;
import net.wanji.common.utils.tool.BeanListUtils; import net.wanji.common.utils.tool.BeanListUtils;
import net.wanji.common.utils.tool.BeanMapUtils; import net.wanji.common.utils.tool.BeanMapUtils;
import net.wanji.databus.cache.BaseCrossInfoCache;
import net.wanji.databus.cache.BaseCrossPhaseInfoCache;
import net.wanji.databus.cache.BaseCrossSchemeInfoCache;
import net.wanji.databus.cache.CrossRidInfoCache;
import net.wanji.databus.dao.entity.BaseCrossSchemePO; import net.wanji.databus.dao.entity.BaseCrossSchemePO;
import net.wanji.databus.dao.entity.CrossPhasePO; import net.wanji.databus.dao.entity.CrossPhasePO;
import net.wanji.databus.dao.entity.RidInfoEntity; import net.wanji.databus.dao.entity.RidInfoEntity;
...@@ -26,7 +22,7 @@ import net.wanji.databus.po.CrossTurnDataRealtimePO; ...@@ -26,7 +22,7 @@ import net.wanji.databus.po.CrossTurnDataRealtimePO;
import net.wanji.databus.vo.SchemeSendVO; import net.wanji.databus.vo.SchemeSendVO;
import net.wanji.databus.vo.SignalStatusVO; import net.wanji.databus.vo.SignalStatusVO;
import net.wanji.feign.service.UtcFeignClients; import net.wanji.feign.service.UtcFeignClients;
import net.wanji.opt.cache.CrossDirTurnPhaseCache; import net.wanji.opt.cache.*;
import net.wanji.opt.common.exception.OptServiceException; import net.wanji.opt.common.exception.OptServiceException;
import net.wanji.opt.dao.mapper.CrossSchemeOptLogMapper; import net.wanji.opt.dao.mapper.CrossSchemeOptLogMapper;
import net.wanji.opt.dto.CrossPhaseDTO; import net.wanji.opt.dto.CrossPhaseDTO;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment