xuhy
2024-10-14 b43c4e2e62873e2ab4aa6b24b02f3effd4a16e05
修改bug
2个文件已修改
32 ■■■■ 已修改文件
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/listener/IotMessageListener.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/tools/StrategyUtil.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/listener/IotMessageListener.java
@@ -443,5 +443,25 @@
        String message = iotMessageProduce.sendMessage(platformStopCharging.getCharging_pile_code(), ServiceIdMenu.PLATFORM_STOP_CHARGING.getKey(),messageUtil.platformStopCharging(platformStopCharging));
        return R.ok(message);
    }
    @ApiOperation(value = "计费模板下发",tags = {"硬件接口"})
    @GetMapping(value = "/accountingStrategy")
    public R accountingStrategy() {
        String code = "3401231001200202";
        String deviceId = "3401231001200202";
        List<TAccountingStrategyDetail> accountingStrategyDetails = accountingStrategyDetailClient.getDetailListByCode(code).getData();
        Map<Integer, TAccountingStrategyDetail> strategyPrice = StrategyUtil.getStrategyPrice(accountingStrategyDetails);
        // 价格设置
        AcquisitionBillingModeReply acquisitionBillingModeReply = new AcquisitionBillingModeReply();
        StrategyUtil.setStrategyPrice(strategyPrice,acquisitionBillingModeReply);
        // 时段设置
        StrategyUtil.setTime(accountingStrategyDetails,acquisitionBillingModeReply);
        TAccountingStrategyDetail accountingStrategyDetail = accountingStrategyDetailClient.getDetailByCode(code).getData();
        acquisitionBillingModeReply.setBilling_model_code(accountingStrategyDetail.getId().toString());
        acquisitionBillingModeReply.setCharging_pile_code(code);
        acquisitionBillingModeReply.setLoss_ratio(BigDecimal.ZERO);
        System.err.println(acquisitionBillingModeReply);
        iotMessageProduce.sendMessage(deviceId, ServiceIdMenu.ACQUISITION_BILLING_MODE_REPLY.getKey(),messageUtil.acquisitionBillingModeReply(acquisitionBillingModeReply));
        return R.ok();
    }
}
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/tools/StrategyUtil.java
@@ -36,25 +36,29 @@
    public static void setStrategyPrice(Map<Integer, TAccountingStrategyDetail> accountingStrategyDetails,AcquisitionBillingModeReply acquisitionBillingModeReply) {
        accountingStrategyDetails.forEach((k,v)->{
            BigDecimal electrovalence = v.getElectrovalence();
            BigDecimal serviceCharge = v.getServiceCharge();
            if(Objects.isNull(electrovalence)){
                electrovalence = BigDecimal.ZERO;
            }
            if(Objects.isNull(serviceCharge)){
                serviceCharge = BigDecimal.ZERO;
            }
            switch (k){
                case 1:
                    acquisitionBillingModeReply.setSharp_peak_electricity_rate(electrovalence);
                    acquisitionBillingModeReply.setSharp_peak_service_rate(new BigDecimal(0));
                    acquisitionBillingModeReply.setSharp_peak_service_rate(serviceCharge);
                    break;
                case 2:
                    acquisitionBillingModeReply.setPeak_electricity_rate(electrovalence);
                    acquisitionBillingModeReply.setPeak_service_rate(new BigDecimal(0));
                    acquisitionBillingModeReply.setPeak_service_rate(serviceCharge);
                    break;
                case 3:
                    acquisitionBillingModeReply.setFlat_peak_electricity_rate(electrovalence);
                    acquisitionBillingModeReply.setFlat_peak_service_rate(new BigDecimal(0));
                    acquisitionBillingModeReply.setFlat_peak_service_rate(serviceCharge);
                    break;
                default:
                    acquisitionBillingModeReply.setLow_peak_electricity_rate(electrovalence);
                    acquisitionBillingModeReply.setLow_peak_service_rate(new BigDecimal(0));
                    acquisitionBillingModeReply.setLow_peak_service_rate(serviceCharge);
                    break;
            }
        });