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 timingSettingReply 实体对象 * @return */ @PostMapping("/timingSettingReply") public String timingSettingReply(@RequestBody TimingSettingReply timingSettingReply){ return iotMessageProduce.sendMessage(timingSettingReply.getCharging_pile_code(), ServiceIdMenu.TIMING_SETTING_REPLY.getKey(),messageUtil.timingSettingReply(timingSettingReply)); } /** * 计费模型设置 * @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)); } /** * 二维码下发 * @param qrCodeDelivery 实体对象 * @return */ @PostMapping("/qrCodeDelivery") public String qrCodeDelivery(@RequestBody QrCodeDelivery qrCodeDelivery){ return iotMessageProduce.sendMessage(qrCodeDelivery.getCharging_pile_code(), ServiceIdMenu.QR_CODE_DELIVERY.getKey(),messageUtil.qrCodeDelivery(qrCodeDelivery)); } }