From e8f18b70337c18e80dbdf906ddaad1c722a74611 Mon Sep 17 00:00:00 2001 From: xuhy <3313886187@qq.com> Date: 星期一, 23 九月 2024 17:24:14 +0800 Subject: [PATCH] 充电桩硬件对接 --- ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/listener/IotMessageListener.java | 135 ++++++++++++++++++++++++++++---------------- 1 files changed, 86 insertions(+), 49 deletions(-) diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/listener/IotMessageListener.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/listener/IotMessageListener.java index c29b1a2..e43d689 100644 --- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/listener/IotMessageListener.java +++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/listener/IotMessageListener.java @@ -16,13 +16,12 @@ import com.ruoyi.integration.iotda.utils.tools.StrategyUtil; import com.ruoyi.integration.rocket.model.*; import com.ruoyi.integration.rocket.produce.EnhanceProduce; +import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.apache.rocketmq.client.producer.SendResult; import org.springframework.beans.BeanUtils; 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.RestController; +import org.springframework.web.bind.annotation.*; import java.io.IOException; import java.math.BigDecimal; @@ -36,6 +35,7 @@ */ @Slf4j @RestController +@RequestMapping("/iot") public class IotMessageListener { @Autowired @@ -266,60 +266,97 @@ return AjaxResult.success(); } - @PostMapping(value = "/message/sendMessage") - public R sendMessage() { + + @ApiOperation(value = "运营平台远程控制启机",tags = {"硬件接口"}) + @GetMapping(value = "/platformStartCharging") + public R platformStartCharging(String orderNum,String deviceId,Long orderId,BigDecimal money) { // 运营平台远程控制启机 -// PlatformStartCharging platformStartCharging = new PlatformStartCharging(); -// platformStartCharging.setTransaction_serial_number("4200002375202409185150427245"); -// platformStartCharging.setCharging_pile_code("3401231001200202"); -// platformStartCharging.setCharging_gun_code("1"); -// platformStartCharging.setCard_number("1833063878153543681"); -// platformStartCharging.setAccount_balance(new BigDecimal(50)); -// String message = iotMessageProduce.sendMessage(platformStartCharging.getCharging_pile_code(), ServiceIdMenu.PLATFORM_START_CHARGING.getKey(), messageUtil.platformStartCharging(platformStartCharging)); + PlatformStartCharging platformStartCharging = new PlatformStartCharging(); + platformStartCharging.setTransaction_serial_number(orderNum); + platformStartCharging.setCharging_pile_code(deviceId); + platformStartCharging.setCharging_gun_code("1"); + platformStartCharging.setCard_number(orderId.toString()); + platformStartCharging.setAccount_balance(money); + String message = iotMessageProduce.sendMessage(platformStartCharging.getCharging_pile_code(), ServiceIdMenu.PLATFORM_START_CHARGING.getKey(), messageUtil.platformStartCharging(platformStartCharging)); + return R.ok(message); + } + + @ApiOperation(value = "运营平台远程停机",tags = {"硬件接口"}) + @GetMapping(value = "/platformStopCharging") + public R platformStopCharging(String deviceId) { // 运营平台远程停机 -// PlatformStopCharging platformStopCharging = new PlatformStopCharging(); -// platformStopCharging.setCharging_pile_code("3401231001200202"); -// platformStopCharging.setCharging_gun_code("1"); -// String message = iotMessageProduce.sendMessage(platformStopCharging.getCharging_pile_code(), ServiceIdMenu.PLATFORM_STOP_CHARGING.getKey(),messageUtil.platformStopCharging(platformStopCharging)); + PlatformStopCharging platformStopCharging = new PlatformStopCharging(); + platformStopCharging.setCharging_pile_code(deviceId); + platformStopCharging.setCharging_gun_code("1"); + 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 = "/updateBalance") + public R updateBalance(String deviceId,Long orderId) { // 修改余额 -// UpdateBalance updateBalance = new UpdateBalance(); -// updateBalance.setCharging_pile_code("3401231001200202"); -// updateBalance.setCharging_gun_code("1"); -// updateBalance.setPhysical_card_number("1833063878153543681"); -// updateBalance.setAccount_balance(new BigDecimal(20)); -// String message = iotMessageProduce.sendMessage(updateBalance.getCharging_pile_code(), ServiceIdMenu.UPDATE_BALANCE.getKey(),messageUtil.updateBalance(updateBalance)); + UpdateBalance updateBalance = new UpdateBalance(); + updateBalance.setCharging_pile_code(deviceId); + updateBalance.setCharging_gun_code("1"); + updateBalance.setPhysical_card_number(orderId.toString()); + updateBalance.setAccount_balance(new BigDecimal(20)); + String message = iotMessageProduce.sendMessage(updateBalance.getCharging_pile_code(), ServiceIdMenu.UPDATE_BALANCE.getKey(),messageUtil.updateBalance(updateBalance)); + return R.ok(message); + } + + @ApiOperation(value = "充电桩工作参数设置",tags = {"硬件接口"}) + @GetMapping(value = "/workingParameterSetting") + public R workingParameterSetting(String deviceId) { // 充电桩工作参数设置 -// WorkingParameterSetting workingParameterSetting = new WorkingParameterSetting(); -// workingParameterSetting.setCharging_pile_code("3401231001200202"); -// workingParameterSetting.setAllow_work(0); -// workingParameterSetting.setMaximum_output_power(220); -// String message = iotMessageProduce.sendMessage(workingParameterSetting.getCharging_pile_code(), ServiceIdMenu.WORKING_PARAMETER_SETTING.getKey(),messageUtil.workingParameterSetting(workingParameterSetting)); + WorkingParameterSetting workingParameterSetting = new WorkingParameterSetting(); + workingParameterSetting.setCharging_pile_code(deviceId); + workingParameterSetting.setAllow_work(0); + workingParameterSetting.setMaximum_output_power(220); + String message = iotMessageProduce.sendMessage(workingParameterSetting.getCharging_pile_code(), ServiceIdMenu.WORKING_PARAMETER_SETTING.getKey(),messageUtil.workingParameterSetting(workingParameterSetting)); + return R.ok(message); + } + + @ApiOperation(value = "对时设置",tags = {"硬件接口"}) + @GetMapping(value = "/timingSetting") + public R timingSetting(String deviceId) { // 对时设置 -// TimingSetting timingSetting = new TimingSetting(); -// timingSetting.setCharging_pile_code("3401231001200202"); -// System.err.println(CP56Time2aConverter.convertToCP56Time2a(new Date())); -// timingSetting.setCurrent_time(CP56Time2aConverter.convertToCP56Time2a(new Date())); -// String message = iotMessageProduce.sendMessage(timingSetting.getCharging_pile_code(), ServiceIdMenu.TIMING_SETTING.getKey(),messageUtil.timingSetting(timingSetting)); + TimingSetting timingSetting = new TimingSetting(); + timingSetting.setCharging_pile_code(deviceId); + timingSetting.setCurrent_time(CP56Time2aConverter.convertToCP56Time2a(new Date())); + String message = iotMessageProduce.sendMessage(timingSetting.getCharging_pile_code(), ServiceIdMenu.TIMING_SETTING.getKey(),messageUtil.timingSetting(timingSetting)); + return R.ok(message); + } + + @ApiOperation(value = "计费模型设置",tags = {"硬件接口"}) + @GetMapping(value = "/setupBillingModel") + public R setupBillingModel(String deviceId) { // TODO 罗 计费模型设置 -// SetupBillingModel setupBillingModel = new SetupBillingModel(); -// // 计费模型 -// List<TAccountingStrategyDetail> accountingStrategyDetails = accountingStrategyDetailClient.getDetailListByCode("3401231001200202").getData(); -// Map<Integer, TAccountingStrategyDetail> strategyPrice = StrategyUtil.getStrategyPrice(accountingStrategyDetails); -// // 价格设置 -// AcquisitionBillingModeReply acquisitionBillingModeReply = new AcquisitionBillingModeReply(); -// StrategyUtil.setStrategyPrice(strategyPrice,acquisitionBillingModeReply); -// // 时段设置 -// StrategyUtil.setTime(accountingStrategyDetails,acquisitionBillingModeReply); -// TAccountingStrategyDetail accountingStrategyDetail = accountingStrategyDetailClient.getDetailByCode("3401231001200202").getData(); -// acquisitionBillingModeReply.setBilling_model_code(accountingStrategyDetail.getId().toString()); -// acquisitionBillingModeReply.setCharging_pile_code("3401231001200202"); -// acquisitionBillingModeReply.setLoss_ratio(BigDecimal.ZERO); -// BeanUtils.copyProperties(acquisitionBillingModeReply,setupBillingModel); -// System.err.println(setupBillingModel); -// String message = iotMessageProduce.sendMessage(setupBillingModel.getCharging_pile_code(), ServiceIdMenu.SETUP_BILLING_MODEL.getKey(),messageUtil.setupBillingModel(setupBillingModel)); + SetupBillingModel setupBillingModel = new SetupBillingModel(); + // 计费模型 + List<TAccountingStrategyDetail> accountingStrategyDetails = accountingStrategyDetailClient.getDetailListByCode(deviceId).getData(); + Map<Integer, TAccountingStrategyDetail> strategyPrice = StrategyUtil.getStrategyPrice(accountingStrategyDetails); + // 价格设置 + AcquisitionBillingModeReply acquisitionBillingModeReply = new AcquisitionBillingModeReply(); + StrategyUtil.setStrategyPrice(strategyPrice,acquisitionBillingModeReply); + // 时段设置 + StrategyUtil.setTime(accountingStrategyDetails,acquisitionBillingModeReply); + TAccountingStrategyDetail accountingStrategyDetail = accountingStrategyDetailClient.getDetailByCode(deviceId).getData(); + acquisitionBillingModeReply.setBilling_model_code(accountingStrategyDetail.getId().toString()); + acquisitionBillingModeReply.setCharging_pile_code(deviceId); + acquisitionBillingModeReply.setLoss_ratio(BigDecimal.ZERO); + BeanUtils.copyProperties(acquisitionBillingModeReply,setupBillingModel); + System.err.println(setupBillingModel); + String message = iotMessageProduce.sendMessage(setupBillingModel.getCharging_pile_code(), ServiceIdMenu.SETUP_BILLING_MODEL.getKey(),messageUtil.setupBillingModel(setupBillingModel)); + return R.ok(message); + } + + @ApiOperation(value = "远程重启",tags = {"硬件接口"}) + @PostMapping(value = "/platformRestart") + public R platformRestart(String deviceId) { // 远程重启 PlatformRestart platformRestart = new PlatformRestart(); - platformRestart.setCharging_pile_code("3401231001200202"); + platformRestart.setCharging_pile_code(deviceId); platformRestart.setOperate(2); String message = iotMessageProduce.sendMessage(platformRestart.getCharging_pile_code(), ServiceIdMenu.PLATFORM_RESTART.getKey(),messageUtil.platformRestart(platformRestart)); return R.ok(message); -- Gitblit v1.7.1