Commit 906f112d authored by duanruiming's avatar duanruiming

[update] 通过厂商信息查询路口信息优化

parent 3bf9fc65
...@@ -7,6 +7,7 @@ import lombok.extern.slf4j.Slf4j; ...@@ -7,6 +7,7 @@ import lombok.extern.slf4j.Slf4j;
import net.wanji.common.utils.tool.StringUtils; import net.wanji.common.utils.tool.StringUtils;
import net.wanji.databus.dao.entity.CrossSchedulesPO; import net.wanji.databus.dao.entity.CrossSchedulesPO;
import net.wanji.databus.dao.mapper.CrossInfoMapper; import net.wanji.databus.dao.mapper.CrossInfoMapper;
import net.wanji.databus.dao.mapper.ManufacturerInfoMapper;
import net.wanji.databus.dto.*; import net.wanji.databus.dto.*;
import net.wanji.databus.po.CrossInfoPO; import net.wanji.databus.po.CrossInfoPO;
import net.wanji.databus.po.CrossInfoPOExt; import net.wanji.databus.po.CrossInfoPOExt;
...@@ -33,7 +34,9 @@ import org.springframework.util.CollectionUtils; ...@@ -33,7 +34,9 @@ import org.springframework.util.CollectionUtils;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.Objects; import java.util.Objects;
import java.util.stream.Collectors;
/** /**
* @author duanruiming * @author duanruiming
...@@ -49,24 +52,36 @@ public class StaticInfoServiceImpl implements StaticInfoService { ...@@ -49,24 +52,36 @@ public class StaticInfoServiceImpl implements StaticInfoService {
@Resource @Resource
private CrossInfoMapper crossInfoMapper; private CrossInfoMapper crossInfoMapper;
@Resource @Resource
private ManufacturerInfoMapper manufacturerInfoMapper;
@Resource
private VIntersectionMapper vIntersectionMapper; private VIntersectionMapper vIntersectionMapper;
@Resource @Resource
private VNtcipTimeBaseScheduleMapper vNtcipTimeBaseScheduleMapper; private VNtcipTimeBaseScheduleMapper vNtcipTimeBaseScheduleMapper;
@Override @Override
public List<CrossInfoPO> crossBasicInfo(CrossInfoDTO crossInfoDTO) throws Exception { public List<CrossInfoPO> crossBasicInfo(CrossInfoDTO crossInfoDTO) throws Exception {
List<VIntersectionEntity> vIntersectionEntities = vIntersectionMapper.selectList(null); Integer id = manufacturerInfoMapper.selectIdByCode(crossInfoDTO.getManufacturerCode());
List<CrossInfoPO> crossInfoPOList = crossInfoMapper.selectByManufacturerId(id);
List<String> codeList = crossInfoPOList.stream().map(CrossInfoPO::getCode).collect(Collectors.toList());
Map<String, String> codeCrossIdMap = crossInfoPOList.stream().collect(Collectors.toMap(CrossInfoPO::getCode, CrossInfoPO::getId));
List<CrossInfoPO> crossInfoPOS = new ArrayList<>(); List<CrossInfoPO> crossInfoPOS = new ArrayList<>();
for (VIntersectionEntity vIntersectionEntity : vIntersectionEntities) { if (StringUtils.equalsIgnoreCase("HISENSE", crossInfoDTO.getManufacturerCode())) {
CrossInfoPO crossInfoPO = new CrossInfoPO(); LambdaQueryWrapper<VIntersectionEntity> queryWrapper = new LambdaQueryWrapper<>();
crossInfoPO.setCode(vIntersectionEntity.getCIntsID()); queryWrapper.in(VIntersectionEntity::getCIntsID, codeList);
crossInfoPO.setName(vIntersectionEntity.getCIntsName()); List<VIntersectionEntity> vIntersectionEntities = vIntersectionMapper.selectList(queryWrapper);
crossInfoPO.setIp(vIntersectionEntity.getCCONTROLLERIP()); for (VIntersectionEntity vIntersectionEntity : vIntersectionEntities) {
String [] array = {String.valueOf(vIntersectionEntity.getLongitude()), String.valueOf(vIntersectionEntity.getLatitude())}; String cIntsID = vIntersectionEntity.getCIntsID();
crossInfoPO.setLocation(StringUtils.join(array, ",")); CrossInfoPO crossInfoPO = new CrossInfoPO();
crossInfoPO.setVersion(vIntersectionEntity.getCControllerModel()); crossInfoPO.setId(codeCrossIdMap.get(cIntsID));
crossInfoPO.setManufacturerId(22); crossInfoPO.setCode(cIntsID);
crossInfoPOS.add(crossInfoPO); crossInfoPO.setName(vIntersectionEntity.getCIntsName());
crossInfoPO.setIp(vIntersectionEntity.getCCONTROLLERIP());
String [] array = {String.valueOf(vIntersectionEntity.getLongitude()), String.valueOf(vIntersectionEntity.getLatitude())};
crossInfoPO.setLocation(StringUtils.join(array, ","));
crossInfoPO.setVersion(vIntersectionEntity.getCControllerModel());
crossInfoPO.setManufacturerId(22);
crossInfoPOS.add(crossInfoPO);
}
} }
return crossInfoPOS; return crossInfoPOS;
} }
......
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