Pu Zhibing
2025-03-31 8ade925dc89805fa8079b2dbb45a0b87975af450
修改查询bug
1个文件已修改
50 ■■■■■ 已修改文件
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingPileServiceImpl.java 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingPileServiceImpl.java
@@ -386,37 +386,47 @@
    @Override
    public List<TChargingPileVO> getChargingGunList(Integer siteId,Integer type) {
        List<TChargingPileVO> chargingPileVOS = this.baseMapper.getChargingGunList(siteId);
        LambdaQueryWrapper<TChargingGun> wrapper = new LambdaQueryWrapper<>();
        if(Objects.nonNull(type)){
            wrapper.eq(TChargingGun::getChargeMode, type);
        }
        wrapper.eq(TChargingGun::getSiteId, siteId);
        List<TChargingGun> chargingGuns = chargingGunService.list(wrapper);
        // 查询充电枪信息
        chargingPileVOS.forEach(item -> {
            List<TChargingGun> chargingGunList = chargingGuns.stream().filter(gun -> gun.getChargingPileId().equals(item.getId())).collect(Collectors.toList());
            for (TChargingGun chargingGun : chargingGunList) {
                if(chargingGun.getStatus().equals(4)){
                    // 查询正在充电的单子的实时记录
                    TChargingOrder chargingOrder = chargingOrderClient.getOrderDetailByGunId(chargingGun.getId()).getData();
                    if(Objects.nonNull(chargingOrder)){
                        UploadRealTimeMonitoringData uploadRealTimeMonitoringData = uploadRealTimeMonitoringDataClient.chargingOrderInfo(chargingOrder.getCode()).getData();
                        if(null != uploadRealTimeMonitoringData){
                            chargingGun.setSoc(uploadRealTimeMonitoringData.getSoc());
                        }else{
                            chargingGun.setSoc(0);
        Set<Integer> collect = chargingGuns.stream().map(TChargingGun::getChargingPileId).collect(Collectors.toSet());
        List<TChargingPileVO> chargingPileVOS = new ArrayList<>();
        if(collect.size() > 0){
            List<TChargingPile> tChargingPiles = this.baseMapper.selectBatchIds(collect);
            for (TChargingPile tChargingPile : tChargingPiles) {
                TChargingPileVO vo = new TChargingPileVO();
                List<TChargingGun> chargingGunList = chargingGuns.stream().filter(gun -> gun.getChargingPileId().equals(tChargingPile.getId())).collect(Collectors.toList());
                for (TChargingGun chargingGun : chargingGunList) {
                    if(chargingGun.getStatus().equals(4)){
                        // 查询正在充电的单子的实时记录
                        TChargingOrder chargingOrder = chargingOrderClient.getOrderDetailByGunId(chargingGun.getId()).getData();
                        if(Objects.nonNull(chargingOrder)){
                            UploadRealTimeMonitoringData uploadRealTimeMonitoringData = uploadRealTimeMonitoringDataClient.chargingOrderInfo(chargingOrder.getCode()).getData();
                            if(null != uploadRealTimeMonitoringData){
                                chargingGun.setSoc(uploadRealTimeMonitoringData.getSoc());
                            }else{
                                chargingGun.setSoc(0);
                            }
                        }else {
                            chargingGun.setSoc(100);
                        }
                    }else {
                    }
                    if(chargingGun.getStatus().equals(5)){
                        chargingGun.setSoc(100);
                    }
                }
                if(chargingGun.getStatus().equals(5)){
                    chargingGun.setSoc(100);
                }
                vo.setChargingGunList(chargingGunList);
                vo.setId(tChargingPile.getId());
                vo.setCode(tChargingPile.getCode());
                vo.setName(tChargingPile.getName());
                vo.setNumber(tChargingPile.getNumber());
                chargingPileVOS.add(vo);
            }
            item.setChargingGunList(chargingGunList);
        });
        }
        return chargingPileVOS;
    }