luodangjia
2024-10-31 e25b31c6abf9b26f2b61768ad6039961574b10a1
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/produce/ChargingMessageListener.java
@@ -149,7 +149,7 @@
                BeanUtils.copyProperties(pingMessage,ping);
                pingService.create(ping);
    
                chargingPileClient.updateChargingPileStatus(pingMessage.getCharging_pile_code(), pingMessage.getCharging_gun_status());
                chargingPileClient.updateChargingPileStatus(pingMessage.getCharging_pile_code(), pingMessage.getCharging_gun_code(), pingMessage.getCharging_gun_status());
                break;
            case SendTagConstant.END_CHARGE:
                EndChargeMessage endChargeMessage = message.getEndChargeMessage();
@@ -201,7 +201,7 @@
                    uploadRealTimeMonitoringData.setElectrovalence_all(accountingStrategyDetail.getElectrovalence());
                    uploadRealTimeMonitoringData.setService_charge(accountingStrategyDetail.getServiceCharge());
                    if (Objects.nonNull(data)) {
                        data.setLast_time(new Date());
                        uploadRealTimeMonitoringDataService.updateById(data.getId());
                        uploadRealTimeMonitoringData.setPeriod_electric_price(uploadRealTimeMonitoringDataMessage.getPaid_amount().subtract(data.getPaid_amount()));
                        uploadRealTimeMonitoringData.setPeriod_charging_degree(uploadRealTimeMonitoringDataMessage.getCharging_degree().subtract(data.getCharging_degree()));
                        uploadRealTimeMonitoringData.setPeriod_service_price(uploadRealTimeMonitoringDataMessage.getCharging_degree().multiply(accountingStrategyDetail.getServiceCharge()).setScale(4, RoundingMode.HALF_UP));
@@ -224,47 +224,6 @@
                    UploadRealTimeMonitoringDataQuery query = new UploadRealTimeMonitoringDataQuery();
                    BeanUtils.copyProperties(uploadRealTimeMonitoringData, query);
                    chargingOrderClient.chargeMonitoring(query);
                    GetChargingGunByCode code = new GetChargingGunByCode();
                    code.setCharging_pile_code(uploadRealTimeMonitoringDataMessage.getCharging_pile_code());
                    code.setCharging_gun_code(uploadRealTimeMonitoringDataMessage.getCharging_gun_code());
                    TChargingGun chargingGun = chargingGunClient.getChargingGunByCode(code).getData();
                    if(Objects.nonNull(chargingGun)){
                        // 存储状态信息
                        TFaultMessage faultMessage = new TFaultMessage();
                        if(uploadRealTimeMonitoringDataMessage.getCharging_gun_status().equals(0) || uploadRealTimeMonitoringDataMessage.getCharging_gun_status().equals(1)){
                            faultMessage.setSiteId(chargingGun.getSiteId());
                            faultMessage.setChargingPileId(chargingGun.getChargingPileId());
                            faultMessage.setChargingGunId(chargingGun.getId());
                            switch (uploadRealTimeMonitoringDataMessage.getCharging_gun_status()){
                                case 0:
                                    faultMessage.setStatus(1);
                                    chargingGun.setStatus(1);
                                    break;
                                case 1:
                                    faultMessage.setStatus(2);
                                    chargingGun.setStatus(7);
                                    break;
                            }
                            faultMessage.setDownTime(LocalDateTime.now());
                            faultMessageClient.createFaultMessage(faultMessage);
                        }else {
                            switch (uploadRealTimeMonitoringDataMessage.getCharging_gun_status()){
                                case 2:
                                    chargingGun.setStatus(2);
                                    break;
                                case 3:
                                    chargingGun.setStatus(4);
                                    break;
                            }
                            // 空闲 充电 查询是否该设备之前存在离线记录或者故障记录
                            faultMessage = faultMessageClient.getFaultMessageByGunId(chargingGun.getId()).getData();
                            if(Objects.nonNull(faultMessage)){
                                faultMessage.setEndTime(LocalDateTime.now());
                                faultMessageClient.updateFaultMessage(faultMessage);
                            }
                        }
                        chargingGunClient.updateChargingGunById(chargingGun);
                    }
                } catch (Exception e) {
                    e.printStackTrace();
                }
@@ -378,10 +337,12 @@
                // 添加实时上传记录结束记录
                // 查询mogondb上一条数据
                UploadRealTimeMonitoringData data = uploadRealTimeMonitoringDataService.getLastDataById(transactionRecordMessage.getTransaction_serial_number());
                UploadRealTimeMonitoringData uploadRealTimeMonitoringData = new UploadRealTimeMonitoringData();
                BeanUtils.copyProperties(data,uploadRealTimeMonitoringData);
                uploadRealTimeMonitoringData.setStatus(5);
                uploadRealTimeMonitoringDataService.create(uploadRealTimeMonitoringData);
                if(Objects.nonNull(data) && data.getStatus() != 5){
                    UploadRealTimeMonitoringData uploadRealTimeMonitoringData = new UploadRealTimeMonitoringData();
                    BeanUtils.copyProperties(data,uploadRealTimeMonitoringData);
                    uploadRealTimeMonitoringData.setStatus(5);
                    uploadRealTimeMonitoringDataService.create(uploadRealTimeMonitoringData);
                }
                break;
            case SendTagConstant.UPDATE_BALANCE_REPLY:
                UpdateBalanceReplyMessage updateBalanceReplyMessage = message.getUpdateBalanceReplyMessage();