xuhy
2024-08-24 6d759ed4b944b3d0bba17547c855ae92fdc397a5
充电桩接口修改
2个文件已删除
5个文件已修改
4个文件已添加
630 ■■■■ 已修改文件
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/factory/ChargingPileFallbackFactory.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/factory/IntegrationFallbackFactory.java 127 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/feignClient/ChargingPileClient.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/feignClient/IntegrationClient.java 177 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-integration/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-account/lib/java-sdk-core-3.2.5.jar 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-account/pom.xml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TAccountingStrategyDetailServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/controller/SendMessageController.java 222 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/enums/ServiceIdMenu.java 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/tools/MessageUtil.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/factory/ChargingPileFallbackFactory.java
File was deleted
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/factory/IntegrationFallbackFactory.java
New file
@@ -0,0 +1,127 @@
package com.ruoyi.integration.api.factory;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.integration.api.feignClient.IntegrationClient;
import com.ruoyi.integration.api.model.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.cloud.openfeign.FallbackFactory;
import org.springframework.stereotype.Component;
/**
 * 充电桩服务降级处理
 *
 * @author ruoyi
 */
@Component
public class IntegrationFallbackFactory implements FallbackFactory<IntegrationClient>
{
    private static final Logger log = LoggerFactory.getLogger(IntegrationFallbackFactory.class);
    @Override
    public IntegrationClient create(Throwable throwable) {
        log.error("充电桩调用失败:{}", throwable.getMessage());
        return new IntegrationClient() {
            @Override
            public R<String> onlineReply(OnlineReply onlineReply) {
                return R.fail("登录认证应答调用失败:" + throwable.getMessage());
            }
            @Override
            public R<String> pong(Pong pong) {
                return R.fail("心跳包应答调用失败:" + throwable.getMessage());
            }
            @Override
            public R<String> billingModeVerifyReply(BillingModeVerifyReply billingModeVerifyReply) {
                return R.fail("计费模型验证请求应答调用失败:" + throwable.getMessage());
            }
            @Override
            public R<String> acquisitionBillingModeReply(AcquisitionBillingModeReply acquisitionBillingModeReply) {
                return R.fail("计费模型验证请求应答调用失败:" + throwable.getMessage());
            }
            @Override
            public R<String> readRealTimeMonitoringData(ReadRealTimeMonitoringData readRealTimeMonitoringData) {
                return R.fail("读取实时监测数据调用失败:" + throwable.getMessage());
            }
            @Override
            public R<String> endCharge(EndCharge endCharge) {
                return R.fail("充电结束调用失败:" + throwable.getMessage());
            }
            @Override
            public R<String> platformConfirmationCharging(PlatformConfirmationCharging platformConfirmationCharging) {
                return R.fail("运营平台确认启动充电调用失败:" + throwable.getMessage());
            }
            @Override
            public R<String> platformStartCharging(PlatformStartCharging platformStartCharging) {
                return R.fail("运营平台远程控制启机调用失败:" + throwable.getMessage());
            }
            @Override
            public R<String> platformStopCharging(PlatformStopCharging platformStopCharging) {
                return R.fail("运营平台远程停机调用失败:" + throwable.getMessage());
            }
            @Override
            public R<String> confirmTransactionRecord(ConfirmTransactionRecord confirmTransactionRecord) {
                return R.fail("交易记录确认调用失败:" + throwable.getMessage());
            }
            @Override
            public R<String> updateBalance(UpdateBalance updateBalance) {
                return R.fail("远程账户余额更新调用失败:" + throwable.getMessage());
            }
            @Override
            public R<String> synchronizeOfflineCard(SynchronizeOfflineCard synchronizeOfflineCard) {
                return R.fail("离线卡数据同步调用失败:" + throwable.getMessage());
            }
            @Override
            public R<String> clearOfflineCard(ClearOfflineCard clearOfflineCard) {
                return R.fail("离线卡数据清除调用失败:" + throwable.getMessage());
            }
            @Override
            public R<String> queryOfflineCard(QueryOfflineCard queryOfflineCard) {
                return R.fail("离线卡数据查询调用失败:" + throwable.getMessage());
            }
            @Override
            public R<String> workingParameterSetting(WorkingParameterSetting workingParameterSetting) {
                return R.fail("充电桩工作参数设置调用失败:" + throwable.getMessage());
            }
            @Override
            public R<String> timingSetting(TimingSetting timingSetting) {
                return R.fail("对时设置调用失败:" + throwable.getMessage());
            }
            @Override
            public R<String> setupBillingModel(SetupBillingModel setupBillingModel) {
                return R.fail("计费模型设置调用失败:" + throwable.getMessage());
            }
            @Override
            public R<String> openOrCloseGroundLock(OpenOrCloseGroundLock openOrCloseGroundLock) {
                return R.fail("遥控地锁升锁与降锁命令 (下行)调用失败:" + throwable.getMessage());
            }
            @Override
            public R<String> platformRestart(PlatformRestart platformRestart) {
                return R.fail("远程重启调用失败:" + throwable.getMessage());
            }
            @Override
            public R<String> platformRemoteUpdate(PlatformRemoteUpdate platformRemoteUpdate) {
                return R.fail("远程更新调用失败:" + throwable.getMessage());
            }
        };
    }
}
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/feignClient/ChargingPileClient.java
File was deleted
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/feignClient/IntegrationClient.java
New file
@@ -0,0 +1,177 @@
package com.ruoyi.integration.api.feignClient;
import com.ruoyi.common.core.constant.ServiceNameConstants;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.integration.api.factory.IntegrationFallbackFactory;
import com.ruoyi.integration.api.model.*;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
/**
 * 充电服务
 * @author ruoyi
 */
@FeignClient(contextId = "IntegrationClient", value = ServiceNameConstants.INTEGRATION_SERVICE, fallbackFactory = IntegrationFallbackFactory.class)
public interface IntegrationClient {
    /**
     * 登录认证应答
     * @param onlineReply  实体对象
     * @return
     */
    @PostMapping("/sendMessage/sendMessageonlineReply")
    public R<String> onlineReply(@RequestBody OnlineReply onlineReply);
    /**
     * 心跳包应答
     * @param pong 实体对象
     * @return
     */
    @PostMapping("/sendMessage/sendMessagepong")
    public R<String> pong(@RequestBody Pong pong);
    /**
     * 计费模型验证请求应答
     * @param billingModeVerifyReply 实体对象
     * @return
     */
    @PostMapping("/sendMessage/sendMessagebillingModeVerifyReply")
    public R<String> billingModeVerifyReply(@RequestBody BillingModeVerifyReply billingModeVerifyReply);
    /**
     * 计费模型验证请求应答
     * @param acquisitionBillingModeReply 实体对象
     * @return
     */
    @PostMapping("/sendMessage/sendMessageacquisitionBillingModeReply")
    public R<String> acquisitionBillingModeReply(@RequestBody AcquisitionBillingModeReply acquisitionBillingModeReply);
    /**
     * 读取实时监测数据
     * @param readRealTimeMonitoringData 实体对象
     * @return
     */
    @PostMapping("/sendMessage/sendMessagereadRealTimeMonitoringData")
    public R<String> readRealTimeMonitoringData(@RequestBody ReadRealTimeMonitoringData readRealTimeMonitoringData);
    /**
     * 充电结束
     * @param endCharge 实体对象
     * @return
     */
    @PostMapping("/sendMessage/sendMessageendCharge")
    public R<String> endCharge(@RequestBody EndCharge endCharge);
    /**
     * 运营平台确认启动充电
     * @param platformConfirmationCharging 实体对象
     * @return
     */
    @PostMapping("/sendMessage/sendMessageplatformConfirmationCharging")
    public R<String> platformConfirmationCharging(@RequestBody PlatformConfirmationCharging platformConfirmationCharging);
    /**
     * 运营平台远程控制启机
     * @param platformStartCharging 实体对象
     * @return
     */
    @PostMapping("/sendMessage/sendMessageplatformStartCharging")
    public R<String> platformStartCharging(@RequestBody PlatformStartCharging platformStartCharging);
    /**
     * 运营平台远程停机
     * @param platformStopCharging 实体对象
     * @return
     */
    @PostMapping("/sendMessage/sendMessageplatformStopCharging")
    public R<String> platformStopCharging(@RequestBody PlatformStopCharging platformStopCharging);
    /**
     * 交易记录确认
     * @param confirmTransactionRecord 实体对象
     * @return
     */
    @PostMapping("/sendMessage/sendMessageconfirmTransactionRecord")
    public R<String> confirmTransactionRecord(@RequestBody ConfirmTransactionRecord confirmTransactionRecord);
    /**
     * 远程账户余额更新
     * @param updateBalance 实体对象
     * @return
     */
    @PostMapping("/sendMessage/sendMessageupdateBalance")
    public R<String> updateBalance(@RequestBody UpdateBalance updateBalance);
    /**
     * 离线卡数据同步
     * @param synchronizeOfflineCard 实体对象
     * @return
     */
    @PostMapping("/sendMessage/sendMessagesynchronizeOfflineCard")
    public R<String> synchronizeOfflineCard(@RequestBody SynchronizeOfflineCard synchronizeOfflineCard);
    /**
     * 离线卡数据清除
     * @param clearOfflineCard 实体对象
     * @return
     */
    @PostMapping("/sendMessage/sendMessageclearOfflineCard")
    public R<String> clearOfflineCard(@RequestBody ClearOfflineCard clearOfflineCard);
    /**
     * 离线卡数据查询
     * @param queryOfflineCard 实体对象
     * @return
     */
    @PostMapping("/sendMessage/sendMessagequeryOfflineCard")
    public R<String> queryOfflineCard(@RequestBody QueryOfflineCard queryOfflineCard);
    /**
     * 充电桩工作参数设置
     * @param workingParameterSetting 实体对象
     * @return
     */
    @PostMapping("/sendMessage/sendMessageworkingParameterSetting")
    public R<String> workingParameterSetting(@RequestBody WorkingParameterSetting workingParameterSetting);
    /**
     * 对时设置
     * @param timingSetting 实体对象
     * @return
     */
    @PostMapping("/sendMessage/sendMessagetimingSetting")
    public R<String> timingSetting(@RequestBody TimingSetting timingSetting);
    /**
     * 计费模型设置
     * @param setupBillingModel 实体对象
     * @return
     */
    @PostMapping("/sendMessage/sendMessagesetupBillingModel")
    public R<String> setupBillingModel(@RequestBody SetupBillingModel setupBillingModel);
    /**
     * 遥控地锁升锁与降锁命令 (下行)
     * @param openOrCloseGroundLock 实体对象
     * @return
     */
    @PostMapping("/sendMessage/sendMessageopenOrCloseGroundLock")
    public R<String> openOrCloseGroundLock(@RequestBody OpenOrCloseGroundLock openOrCloseGroundLock);
    /**
     * 远程重启
     * @param platformRestart 实体对象
     * @return
     */
    @PostMapping("/sendMessage/sendMessageplatformRestart")
    public R<String> platformRestart(@RequestBody PlatformRestart platformRestart);
    /**
     * 远程更新
     * @param platformRemoteUpdate 实体对象
     * @return
     */
    @PostMapping("/sendMessage/sendMessageplatformRemoteUpdate")
    public R<String> platformRemoteUpdate(@RequestBody PlatformRemoteUpdate platformRemoteUpdate);
}
ruoyi-api/ruoyi-api-integration/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
@@ -1 +1 @@
com.ruoyi.integration.api.factory.ChargingPileFallbackFactory
com.ruoyi.integration.api.factory.IntegrationFallbackFactory
ruoyi-service/ruoyi-account/lib/java-sdk-core-3.2.5.jar
Binary files differ
ruoyi-service/ruoyi-account/pom.xml
@@ -139,6 +139,12 @@
            <artifactId>alipay-sdk-java</artifactId>
            <version>4.38.10.ALL</version>
        </dependency>
        <dependency>
            <groupId>org.openeuler</groupId>
            <artifactId>bgmprovider</artifactId>
            <version>1.1.2</version>
            <scope>compile</scope>
        </dependency>
    </dependencies>
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TAccountingStrategyDetailServiceImpl.java
@@ -93,7 +93,7 @@
            list.add(accountingStrategyDetailNext);
            return list;
        }
        return new ArrayList<>();
        return list;
    }
    @Override
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/controller/SendMessageController.java
New file
@@ -0,0 +1,222 @@
package com.ruoyi.integration.iotda.controller;
import com.ruoyi.integration.api.model.*;
import com.ruoyi.integration.iotda.enums.ServiceIdMenu;
import com.ruoyi.integration.iotda.utils.produce.IotMessageProduce;
import com.ruoyi.integration.iotda.utils.tools.MessageUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@Slf4j
@RestController
@RequestMapping("/sendMessage")
public class SendMessageController {
    @Autowired
    private MessageUtil messageUtil;
    @Autowired
    private IotMessageProduce iotMessageProduce;
    /**
     * 登录认证应答
     * @param onlineReply  实体对象
     * @return
     */
    @PostMapping("/onlineReply")
    public String onlineReply(@RequestBody OnlineReply onlineReply){
        return  iotMessageProduce.sendMessage(onlineReply.getCharging_pile_code(), ServiceIdMenu.ONLINE_REPLY.getKey(),messageUtil.onlineReply(onlineReply));
    }
    /**
     * 心跳包应答
     * @param pong 实体对象
     * @return
     */
    @PostMapping("/pong")
    public String pong(@RequestBody Pong pong){
        return  iotMessageProduce.sendMessage(pong.getCharging_pile_code(), ServiceIdMenu.PONG.getKey(),messageUtil.pong(pong));
    }
    /**
     * 计费模型验证请求应答
     * @param billingModeVerifyReply 实体对象
     * @return
     */
    @PostMapping("/billingModeVerifyReply")
    public String billingModeVerifyReply(@RequestBody BillingModeVerifyReply billingModeVerifyReply){
        return  iotMessageProduce.sendMessage(billingModeVerifyReply.getCharging_pile_code(), ServiceIdMenu.BILLING_MODE_VERIFY_REPLY.getKey(),messageUtil.billingModeVerifyReply(billingModeVerifyReply));
    }
    /**
     * 计费模型验证请求应答
     * @param acquisitionBillingModeReply 实体对象
     * @return
     */
    @PostMapping("/acquisitionBillingModeReply")
    public String acquisitionBillingModeReply(@RequestBody AcquisitionBillingModeReply acquisitionBillingModeReply){
        return  iotMessageProduce.sendMessage(acquisitionBillingModeReply.getCharging_pile_code(), ServiceIdMenu.ACQUISITION_BILLING_MODE_REPLY.getKey(),messageUtil.acquisitionBillingModeReply(acquisitionBillingModeReply));
    }
    /**
     * 读取实时监测数据
     * @param readRealTimeMonitoringData 实体对象
     * @return
     */
    @PostMapping("/readRealTimeMonitoringData")
    public String readRealTimeMonitoringData(@RequestBody ReadRealTimeMonitoringData readRealTimeMonitoringData){
        return  iotMessageProduce.sendMessage(readRealTimeMonitoringData.getCharging_pile_code(), ServiceIdMenu.READ_REAL_TIME_MONITORING_DATA.getKey(),messageUtil.readRealTimeMonitoringData(readRealTimeMonitoringData));
    }
    /**
     * 充电结束
     * @param endCharge 实体对象
     * @return
     */
    @PostMapping("/endCharge")
    public String endCharge(@RequestBody EndCharge endCharge){
        return  iotMessageProduce.sendMessage(endCharge.getCharging_pile_code(), ServiceIdMenu.END_CHARGE.getKey(),messageUtil.endCharge(endCharge));
    }
    /**
     * 运营平台确认启动充电
     * @param platformConfirmationCharging 实体对象
     * @return
     */
    @PostMapping("/platformConfirmationCharging")
    public String platformConfirmationCharging(@RequestBody PlatformConfirmationCharging platformConfirmationCharging){
        return  iotMessageProduce.sendMessage(platformConfirmationCharging.getCharging_pile_code(), ServiceIdMenu.PLATFORM_CONFIRMATION_CHARGING.getKey(),messageUtil.platformConfirmationCharging(platformConfirmationCharging));
    }
    /**
     * 运营平台远程控制启机
     * @param platformStartCharging 实体对象
     * @return
     */
    @PostMapping("/platformStartCharging")
    public String platformStartCharging(@RequestBody PlatformStartCharging platformStartCharging){
        return  iotMessageProduce.sendMessage(platformStartCharging.getCharging_pile_code(), ServiceIdMenu.PLATFORM_START_CHARGING.getKey(),messageUtil.platformStartCharging(platformStartCharging));
    }
    /**
     * 运营平台远程停机
     * @param platformStopCharging 实体对象
     * @return
     */
    @PostMapping("/platformStopCharging")
    public String platformStopCharging(@RequestBody PlatformStopCharging platformStopCharging){
        return  iotMessageProduce.sendMessage(platformStopCharging.getCharging_pile_code(), ServiceIdMenu.PLATFORM_STOP_CHARGING.getKey(),messageUtil.platformStopCharging(platformStopCharging));
    }
    /**
     * 交易记录确认
     * @param confirmTransactionRecord 实体对象
     * @return
     */
    @PostMapping("/confirmTransactionRecord")
    public String confirmTransactionRecord(@RequestBody ConfirmTransactionRecord confirmTransactionRecord){
        return  iotMessageProduce.sendMessage(confirmTransactionRecord.getTransaction_serial_number(), ServiceIdMenu.CONFIRM_TRANSACTION_RECORD.getKey(),messageUtil.confirmTransactionRecord(confirmTransactionRecord));
    }
    /**
     * 远程账户余额更新
     * @param updateBalance 实体对象
     * @return
     */
    @PostMapping("/updateBalance")
    public String updateBalance(@RequestBody UpdateBalance updateBalance){
        return  iotMessageProduce.sendMessage(updateBalance.getCharging_pile_code(), ServiceIdMenu.UPDATE_BALANCE.getKey(),messageUtil.updateBalance(updateBalance));
    }
    /**
     * 离线卡数据同步
     * @param synchronizeOfflineCard 实体对象
     * @return
     */
    @PostMapping("/synchronizeOfflineCard")
    public String synchronizeOfflineCard(@RequestBody SynchronizeOfflineCard synchronizeOfflineCard){
        return  iotMessageProduce.sendMessage(synchronizeOfflineCard.getCharging_pile_code(), ServiceIdMenu.SYNCHRONIZE_OFFLINE_CARD.getKey(),messageUtil.synchronizeOfflineCard(synchronizeOfflineCard));
    }
    /**
     * 离线卡数据清除
     * @param clearOfflineCard 实体对象
     * @return
     */
    @PostMapping("/clearOfflineCard")
    public String clearOfflineCard(@RequestBody ClearOfflineCard clearOfflineCard){
        return  iotMessageProduce.sendMessage(clearOfflineCard.getCharging_pile_code(), ServiceIdMenu.CLEAR_OFFLINE_CARD.getKey(),messageUtil.clearOfflineCard(clearOfflineCard));
    }
    /**
     * 离线卡数据查询
     * @param queryOfflineCard 实体对象
     * @return
     */
    @PostMapping("/queryOfflineCard")
    public String queryOfflineCard(@RequestBody QueryOfflineCard queryOfflineCard){
        return iotMessageProduce.sendMessage(queryOfflineCard.getCharging_pile_code(), ServiceIdMenu.QUERY_OFFLINE_CARD.getKey(),messageUtil.queryOfflineCard(queryOfflineCard));
    }
    /**
     * 充电桩工作参数设置
     * @param workingParameterSetting 实体对象
     * @return
     */
    @PostMapping("/workingParameterSetting")
    public String workingParameterSetting(@RequestBody WorkingParameterSetting workingParameterSetting){
        return  iotMessageProduce.sendMessage(workingParameterSetting.getCharging_pile_code(), ServiceIdMenu.WORKING_PARAMETER_SETTING.getKey(),messageUtil.workingParameterSetting(workingParameterSetting));
    }
    /**
     * 对时设置
     * @param timingSetting 实体对象
     * @return
     */
    @PostMapping("/timingSetting")
    public String timingSetting(@RequestBody TimingSetting timingSetting){
        return  iotMessageProduce.sendMessage(timingSetting.getCharging_pile_code(), ServiceIdMenu.TIMING_SETTING.getKey(),messageUtil.timingSetting(timingSetting));
    }
    /**
     * 计费模型设置
     * @param setupBillingModel 实体对象
     * @return
     */
    @PostMapping("/setupBillingModel")
    public String setupBillingModel(@RequestBody SetupBillingModel setupBillingModel){
        return  iotMessageProduce.sendMessage(setupBillingModel.getCharging_pile_code(), ServiceIdMenu.SETUP_BILLING_MODEL.getKey(),messageUtil.setupBillingModel(setupBillingModel));
    }
    /**
     * 遥控地锁升锁与降锁命令 (下行)
     * @param openOrCloseGroundLock 实体对象
     * @return
     */
    @PostMapping("/openOrCloseGroundLock")
    public String openOrCloseGroundLock(@RequestBody OpenOrCloseGroundLock openOrCloseGroundLock){
        return  iotMessageProduce.sendMessage(openOrCloseGroundLock.getCharging_pile_code(), ServiceIdMenu.OPEN_OR_CLOSE_GROUND_LOCK.getKey(),messageUtil.openOrCloseGroundLock(openOrCloseGroundLock));
    }
    /**
     * 远程重启
     * @param platformRestart 实体对象
     * @return
     */
    @PostMapping("/platformRestart")
    public String platformRestart(@RequestBody PlatformRestart platformRestart){
        return  iotMessageProduce.sendMessage(platformRestart.getCharging_pile_code(), ServiceIdMenu.PLATFORM_RESTART.getKey(),messageUtil.platformRestart(platformRestart));
    }
    /**
     * 远程更新
     * @param platformRemoteUpdate 实体对象
     * @return
     */
    @PostMapping("/platformRemoteUpdate")
    public String platformRemoteUpdate(@RequestBody PlatformRemoteUpdate platformRemoteUpdate){
        return  iotMessageProduce.sendMessage(platformRemoteUpdate.getCharging_pile_code(), ServiceIdMenu.PLATFORM_REMOTE_UPDATE.getKey(),messageUtil.platformRemoteUpdate(platformRemoteUpdate));
    }
}
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/enums/ServiceIdMenu.java
@@ -9,91 +9,100 @@
    /**
     * 登录认证应答
     */
     ONLINE_REPLY ("online_reply"),
     ONLINE_REPLY ("登录认证应答","online_reply"),
    /**
     * 登录认证应答
     */
     PONG ("pong"),
     PONG ("登录认证应答","pong"),
    /**
     * 计费模型验证请求应答
     */
     BILLING_MODE_VERIFY_REPLY ("billing_mode_verify_reply"),
     BILLING_MODE_VERIFY_REPLY ("计费模型验证请求应答","billing_mode_verify_reply"),
    /**
     * 计费模型请求应答
     */
     ACQUISITION_BILLING_MODE_REPLY ("acquisition_billing_mode_reply"),
     ACQUISITION_BILLING_MODE_REPLY ("计费模型请求应答","acquisition_billing_mode_reply"),
    /**
     * 读取实时监测数据
     */
     READ_REAL_TIME_MONITORING_DATA ("read_real_time_monitoring_data"),
     READ_REAL_TIME_MONITORING_DATA ("读取实时监测数据","read_real_time_monitoring_data"),
    /**
     * 充电结束
     */
     END_CHARGE ("end_charge"),
     END_CHARGE ("充电结束","end_charge"),
    /**
     * 运营平台确认启动充电
     */
     PLATFORM_CONFIRMATION_CHARGING ("platform_confirmation_charging"),
     PLATFORM_CONFIRMATION_CHARGING ("运营平台确认启动充电","platform_confirmation_charging"),
    /**
     * 运营平台远程控制启机
     */
     PLATFORM_START_CHARGING ("platform_start_charging"),
     PLATFORM_START_CHARGING ("运营平台远程控制启机","platform_start_charging"),
    /**
     * 运营平台远程停机
     */
     PLATFORM_STOP_CHARGING ("platform_stop_charging"),
     PLATFORM_STOP_CHARGING ("运营平台远程停机","platform_stop_charging"),
    /**
     * 交易记录确认
     */
     CONFIRM_TRANSACTION_RECORD ("confirm_transaction_record"),
     CONFIRM_TRANSACTION_RECORD ("交易记录确认","confirm_transaction_record"),
    /**
     * 远程账户余额更新
     */
     UPDATE_BALANCE ("update_balance"),
     UPDATE_BALANCE ("远程账户余额更新","update_balance"),
    /**
     * 离线卡数据同步
     */
     SYNCHRONIZE_OFFLINE_CARD ("synchronize_offline_card"),
     SYNCHRONIZE_OFFLINE_CARD ("离线卡数据同步","synchronize_offline_card"),
    /**
     * 离线卡数据清除
     */
     CLEAR_OFFLINE_CARD ("clear_offline_card"),
     CLEAR_OFFLINE_CARD ("离线卡数据清除","clear_offline_card"),
    /**
     * 离线卡数据查询
     */
     QUERY_OFFLINE_CARD ("query_offline_card"),
     QUERY_OFFLINE_CARD ("离线卡数据查询","query_offline_card"),
    /**
     * 充电桩工作参数设置
     */
     WORKING_PARAMETER_SETTING ("working_parameter_setting"),
     WORKING_PARAMETER_SETTING ("充电桩工作参数设置","working_parameter_setting"),
    /**
     * 对时设置
     */
     TIMING_SETTING ("timing_setting"),
     TIMING_SETTING ("对时设置","timing_setting"),
    /**
     * 计费模型设置
     */
     SETUP_BILLING_MODEL ("setup_billing_model"),
     SETUP_BILLING_MODEL ("计费模型设置","setup_billing_model"),
    /**
     * 遥控地锁升锁与降锁命令 (下行)
     */
     OPEN_OR_CLOSE_GROUND_LOCK ("open_or_close_ground_lock"),
     OPEN_OR_CLOSE_GROUND_LOCK ("遥控地锁升锁与降锁命令 (下行)","open_or_close_ground_lock"),
    /**
     * 远程重启
     */
     PLATFORM_RESTART ("platform_restart"),
     PLATFORM_RESTART ("远程重启","platform_restart"),
    /**
     * 远程更新
     */
     PLATFORM_REMOTE_UPDATE ("platform_remote_update"),
     PLATFORM_REMOTE_UPDATE ("远程更新","platform_remote_update"),
    ;
    private String key;
    private String value;
    ServiceIdMenu(String value) {
    ServiceIdMenu(String key,String value) {
        this.value = value;
    }
    
    public String getKey() {
        return key;
    }
    public void setKey(String key) {
        this.key = key;
    }
    public String getValue() {
        return value;
    }
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/tools/MessageUtil.java
@@ -129,7 +129,7 @@
     * @param platformStartCharging 实体对象
     * @return
     */
    public String platformConfirmationCharging(PlatformStartCharging platformStartCharging){
    public String platformStartCharging(PlatformStartCharging platformStartCharging){
        platformStartChargingService.create(platformStartCharging);
        return  getMessageJsonString(platformStartCharging, ServiceIdMenu.PLATFORM_START_CHARGING.getValue());
    }