From d75c85a1eb70fe6751b88b85b9cee894476fe7dc Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期一, 30 九月 2024 17:21:11 +0800 Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/mx_charging_pile --- ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/listener/IotMessageListener.java | 50 ++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 44 insertions(+), 6 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 c3961f0..fc580ee 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 @@ -23,12 +23,12 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import java.io.File; +import java.io.FileOutputStream; +import java.io.FileWriter; import java.io.IOException; import java.math.BigDecimal; -import java.util.Date; -import java.util.List; -import java.util.Map; -import java.util.Objects; +import java.util.*; /** * iotda消息监听 @@ -62,6 +62,11 @@ String productId = header.getString("product_id"); // 产品id String service_id = content.getString("service_id"); log.info("服务id:{}",service_id); + // 写入文件 + FileWriter writer = new FileWriter("D:/sample.txt",true); + writer.write("接收到消息中转:"+jsonObject+"\n"); + writer.write("服务id:"+service_id+"\n"); + writer.close(); SendResult sendResult; // 设备消息下发 String result; @@ -76,6 +81,11 @@ onlineReply.setOnline_result(0); result = iotMessageProduce.sendMessage(deviceId, ServiceIdMenu.ONLINE_REPLY.getKey(), messageUtil.onlineReply(onlineReply)); log.info("充电桩登录认证-返回结果:{}",result); + // 响应硬件 对时设置应答 + TimingSettingReply timingSettingReplyOnline = new TimingSettingReply(); + timingSettingReplyOnline.setCharging_pile_code(onlineMessage.getCharging_pile_code()); + timingSettingReplyOnline.setCurrent_time(CP56Time2aConverter.convertToCP56Time2a(new Date())); + iotMessageProduce.sendMessage(deviceId, ServiceIdMenu.TIMING_SETTING_REPLY.getKey(),messageUtil.timingSettingReply(timingSettingReplyOnline)); break; case SendTagConstant.PING: PingMessage pingMessage = JSON.parseObject(content.toJSONString(),PingMessage.class); @@ -129,14 +139,14 @@ AcquisitionBillingModeMessage acquisitionBillingModeMessage = JSON.parseObject(content.toJSONString(),AcquisitionBillingModeMessage.class); sendResult = enhanceProduce.acquisitionBillingModeMessage(acquisitionBillingModeMessage); // 响应硬件 计费模型请求应答 1=尖阶段,2=峰阶段,3=平阶段,4=谷阶段 - List<TAccountingStrategyDetail> accountingStrategyDetails = accountingStrategyDetailClient.getDetailListByCode(acquisitionBillingModeMessage.getCharging_pile_code()).getData(); + List<TAccountingStrategyDetail> accountingStrategyDetails = accountingStrategyDetailClient.getDetailListByCode(acquisitionBillingModeMessage.getCharging_pile_code().substring(0,14)).getData(); Map<Integer, TAccountingStrategyDetail> strategyPrice = StrategyUtil.getStrategyPrice(accountingStrategyDetails); // 价格设置 AcquisitionBillingModeReply acquisitionBillingModeReply = new AcquisitionBillingModeReply(); StrategyUtil.setStrategyPrice(strategyPrice,acquisitionBillingModeReply); // 时段设置 StrategyUtil.setTime(accountingStrategyDetails,acquisitionBillingModeReply); - TAccountingStrategyDetail accountingStrategyDetail = accountingStrategyDetailClient.getDetailByCode(acquisitionBillingModeMessage.getCharging_pile_code()).getData(); + TAccountingStrategyDetail accountingStrategyDetail = accountingStrategyDetailClient.getDetailByCode(acquisitionBillingModeMessage.getCharging_pile_code().substring(0,14)).getData(); acquisitionBillingModeReply.setBilling_model_code(accountingStrategyDetail.getId().toString()); acquisitionBillingModeReply.setCharging_pile_code(acquisitionBillingModeMessage.getCharging_pile_code()); acquisitionBillingModeReply.setLoss_ratio(BigDecimal.ZERO); @@ -364,4 +374,32 @@ return R.ok(message); } + @ApiOperation(value = "测试",tags = {"硬件接口"}) + @GetMapping(value = "/test") + public R test() { + String orderNum = "2024092646526785213546"; + String deviceId = "3401231001200202"; + Long orderId = 2024065544L; + BigDecimal money = new BigDecimal(50); + PlatformStartCharging platformStartCharging = new PlatformStartCharging(); + platformStartCharging.setTransaction_serial_number(orderNum); + platformStartCharging.setCharging_pile_code(deviceId); + platformStartCharging.setCharging_gun_code("02"); + 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)); + System.err.println(platformStartCharging); + return R.ok(message); + } + + @ApiOperation(value = "测试",tags = {"硬件接口"}) + @GetMapping(value = "/stop") + public R test1() { + PlatformStopCharging platformStopCharging = new PlatformStopCharging(); + platformStopCharging.setCharging_pile_code("3401231001200202"); + platformStopCharging.setCharging_gun_code("02"); + String message = iotMessageProduce.sendMessage(platformStopCharging.getCharging_pile_code(), ServiceIdMenu.PLATFORM_STOP_CHARGING.getKey(),messageUtil.platformStopCharging(platformStopCharging)); + return R.ok(message); + } + } \ No newline at end of file -- Gitblit v1.7.1