package com.ruoyi.integration.iotda.utils.listener;
|
|
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSONObject;
|
import com.ruoyi.chargingPile.api.dto.CheckChargingStrategyDTO;
|
import com.ruoyi.chargingPile.api.feignClient.AccountingStrategyDetailClient;
|
import com.ruoyi.chargingPile.api.model.TAccountingStrategyDetail;
|
import com.ruoyi.common.core.domain.R;
|
import com.ruoyi.common.core.web.domain.AjaxResult;
|
import com.ruoyi.integration.api.model.*;
|
import com.ruoyi.integration.iotda.constant.SendTagConstant;
|
import com.ruoyi.integration.iotda.enums.ServiceIdMenu;
|
import com.ruoyi.integration.iotda.utils.produce.IotMessageProduce;
|
import com.ruoyi.integration.iotda.utils.tools.CP56Time2aConverter;
|
import com.ruoyi.integration.iotda.utils.tools.MessageUtil;
|
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.*;
|
|
import java.io.File;
|
import java.io.FileOutputStream;
|
import java.io.FileWriter;
|
import java.io.IOException;
|
import java.math.BigDecimal;
|
import java.util.*;
|
|
/**
|
* iotda消息监听
|
*/
|
@Slf4j
|
@RestController
|
@RequestMapping("/iot")
|
public class IotMessageListener {
|
|
@Autowired
|
private EnhanceProduce enhanceProduce;
|
@Autowired
|
private MessageUtil messageUtil;
|
@Autowired
|
private IotMessageProduce iotMessageProduce;
|
@Autowired
|
private AccountingStrategyDetailClient accountingStrategyDetailClient;
|
/**
|
* 设备消息监听
|
* @param jsonObject
|
* @return
|
* @throws IOException
|
*/
|
@PostMapping(value = "/message")
|
public AjaxResult<String> message(@RequestBody JSONObject jsonObject) throws IOException {
|
log.info("接收到消息中转:{}",jsonObject);
|
JSONObject content = jsonObject.getJSONObject("notify_data").getJSONObject("body").getJSONObject("content");
|
JSONObject header = jsonObject.getJSONObject("notify_data").getJSONObject("header");
|
String deviceId = header.getString("device_id"); // 设备id
|
String nodeId = header.getString("node_id"); // 设备编号
|
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;
|
switch (service_id){
|
case SendTagConstant.ONLINE:
|
OnlineMessage onlineMessage = JSON.parseObject(content.toJSONString(),OnlineMessage.class);
|
sendResult = enhanceProduce.onlineMessage(onlineMessage);
|
// 响应硬件
|
// 业务处理 登录认证应答
|
OnlineReply onlineReply = new OnlineReply();
|
onlineReply.setCharging_pile_code(onlineMessage.getCharging_pile_code());
|
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);
|
sendResult = enhanceProduce.pingMessage(pingMessage);
|
// 响应硬件
|
Pong pong = new Pong();
|
pong.setCharging_pile_code(pingMessage.getCharging_pile_code());
|
pong.setCharging_gun_code(pingMessage.getCharging_gun_code());
|
pong.setCharging_gun_status(0);
|
result = iotMessageProduce.sendMessage(deviceId, ServiceIdMenu.PONG.getKey(), messageUtil.pong(pong));
|
log.info("充电桩心跳包-返回结果:{}",result);
|
break;
|
case SendTagConstant.END_CHARGE:
|
EndChargeMessage endChargeMessage = JSON.parseObject(content.toJSONString(),EndChargeMessage.class);
|
sendResult = enhanceProduce.endChargeMessage(endChargeMessage);
|
// 响应硬件
|
break;
|
case SendTagConstant.ERROR_MESSAGE:
|
ErrorMessageMessage errorMessageMessage = JSON.parseObject(content.toJSONString(),ErrorMessageMessage.class);
|
sendResult = enhanceProduce.errorMessageMessage(errorMessageMessage);
|
// 响应硬件
|
break;
|
case SendTagConstant.BILLING_MODE_VERIFY:
|
BillingModeVerifyMessage billingModeVerifyMessage = JSON.parseObject(content.toJSONString(),BillingModeVerifyMessage.class);
|
sendResult = enhanceProduce.billingModeVerifyMessage(billingModeVerifyMessage);
|
// 响应硬件
|
BillingModeVerifyReply billingModeVerifyReply = new BillingModeVerifyReply();
|
if(billingModeVerifyMessage.getBilling_model_code().equals("0")){
|
// 首次
|
billingModeVerifyReply.setCharging_pile_code(billingModeVerifyMessage.getCharging_pile_code());
|
billingModeVerifyReply.setBilling_model_code("0");
|
billingModeVerifyReply.setBilling_model_result(1);
|
}else {
|
// 查询桩使用的模版
|
CheckChargingStrategyDTO dto = new CheckChargingStrategyDTO();
|
dto.setCode(billingModeVerifyMessage.getCharging_pile_code());
|
dto.setStrategyDetailId(Integer.valueOf(billingModeVerifyMessage.getBilling_model_code()));
|
Boolean check = accountingStrategyDetailClient.checkChargingStrategy(dto).getData();
|
// 校验计费模版是否准确
|
billingModeVerifyReply.setCharging_pile_code(billingModeVerifyMessage.getCharging_pile_code());
|
billingModeVerifyReply.setBilling_model_code(billingModeVerifyMessage.getBilling_model_code());
|
if(check){
|
billingModeVerifyReply.setBilling_model_result(0);
|
}else {
|
billingModeVerifyReply.setBilling_model_result(1);
|
}
|
}
|
iotMessageProduce.sendMessage(deviceId, ServiceIdMenu.BILLING_MODE_VERIFY_REPLY.getKey(),messageUtil.billingModeVerifyReply(billingModeVerifyReply));
|
break;
|
case SendTagConstant.ACQUISITION_BILLING_MODE:
|
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().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().substring(0,14)).getData();
|
acquisitionBillingModeReply.setBilling_model_code(accountingStrategyDetail.getId().toString());
|
acquisitionBillingModeReply.setCharging_pile_code(acquisitionBillingModeMessage.getCharging_pile_code());
|
acquisitionBillingModeReply.setLoss_ratio(BigDecimal.ZERO);
|
iotMessageProduce.sendMessage(deviceId, ServiceIdMenu.ACQUISITION_BILLING_MODE_REPLY.getKey(),messageUtil.acquisitionBillingModeReply(acquisitionBillingModeReply));
|
break;
|
case SendTagConstant.UPLOAD_REAL_TIME_MONITORING_DATA:
|
UploadRealTimeMonitoringDataMessage uploadRealTimeMonitoringDataMessage = JSON.parseObject(content.toJSONString(),UploadRealTimeMonitoringDataMessage.class);
|
sendResult = enhanceProduce.uploadRealTimeMonitoringDataMessage(uploadRealTimeMonitoringDataMessage);
|
// 响应硬件
|
break;
|
case SendTagConstant.CHARGING_HANDSHAKE:
|
ChargingHandshakeMessage chargingHandshakeMessage = JSON.parseObject(content.toJSONString(),ChargingHandshakeMessage.class);
|
sendResult = enhanceProduce.chargingHandshakeMessage(chargingHandshakeMessage);
|
// 响应硬件
|
break;
|
case SendTagConstant.PARAMETER_SETTING:
|
ParameterSettingMessage parameterSettingMessage = JSON.parseObject(content.toJSONString(),ParameterSettingMessage.class);
|
sendResult = enhanceProduce.parameterSettingMessage(parameterSettingMessage);
|
break;
|
case SendTagConstant.BMS_ABORT:
|
BmsAbortMessage bmsAbortMessage = JSON.parseObject(content.toJSONString(),BmsAbortMessage.class);
|
sendResult = enhanceProduce.bmsAbortMessage(bmsAbortMessage);
|
// 响应硬件
|
break;
|
case SendTagConstant.MOTOR_ABORT:
|
MotorAbortMessage motorAbortMessage = JSON.parseObject(content.toJSONString(),MotorAbortMessage.class);
|
sendResult = enhanceProduce.motorAbortMessage(motorAbortMessage);
|
break;
|
case SendTagConstant.BMS_DEMAND_AND_CHARGER_EXPORTATION:
|
BmsDemandAndChargerExportationMessage bmsDemandAndChargerExportationMessage = JSON.parseObject(content.toJSONString(),BmsDemandAndChargerExportationMessage.class);
|
sendResult = enhanceProduce.bmsDemandAndChargerExportationMessage(bmsDemandAndChargerExportationMessage);
|
// 响应硬件
|
break;
|
case SendTagConstant.BMS_INFORMATION:
|
BmsInformationMessage bmsInformationMessage = JSON.parseObject(content.toJSONString(),BmsInformationMessage.class);
|
sendResult = enhanceProduce.bmsInformationMessage(bmsInformationMessage);
|
// 响应硬件
|
break;
|
case SendTagConstant.CHARGING_PILE_STARTS_CHARGING:
|
ChargingPileStartsChargingMessage chargingPileStartsChargingMessage = JSON.parseObject(content.toJSONString(),ChargingPileStartsChargingMessage.class);
|
sendResult = enhanceProduce.chargingPileStartsChargingMessage(chargingPileStartsChargingMessage);
|
// 响应硬件
|
PlatformConfirmationCharging platformConfirmationCharging = new PlatformConfirmationCharging();
|
platformConfirmationCharging.setCharging_pile_code(chargingPileStartsChargingMessage.getCharging_pile_code());
|
platformConfirmationCharging.setCharging_gun_code(chargingPileStartsChargingMessage.getCharging_gun_code());
|
platformConfirmationCharging.setCard_number(chargingPileStartsChargingMessage.getAccount());
|
platformConfirmationCharging.setAccount_balance(BigDecimal.ZERO);
|
platformConfirmationCharging.setAuthentication(1);
|
// TODO 若是失败,给出失败原因
|
iotMessageProduce.sendMessage(deviceId, ServiceIdMenu.PLATFORM_CONFIRMATION_CHARGING.getKey(),messageUtil.platformConfirmationCharging(platformConfirmationCharging));
|
break;
|
case SendTagConstant.PLATFORM_START_CHARGING_REPLY:
|
PlatformStartChargingReplyMessage platformStartChargingReplyMessage = JSON.parseObject(content.toJSONString(),PlatformStartChargingReplyMessage.class);
|
sendResult = enhanceProduce.platformStartChargingReplyMessage(platformStartChargingReplyMessage);
|
// 响应硬件
|
break;
|
case SendTagConstant.PLATFORM_STOP_CHARGING_REPLY:
|
PlatformStopChargingReplyMessage platformStopChargingReplyMessage = JSON.parseObject(content.toJSONString(),PlatformStopChargingReplyMessage.class);
|
sendResult = enhanceProduce.platformStopChargingReplyMessage(platformStopChargingReplyMessage);
|
// 响应硬件
|
break;
|
case SendTagConstant.TRANSACTION_RECORD:
|
TransactionRecordMessage transactionRecordMessage = JSON.parseObject(content.toJSONString(),TransactionRecordMessage.class);
|
sendResult = enhanceProduce.transactionRecordMessage(transactionRecordMessage);
|
// 响应硬件
|
ConfirmTransactionRecord confirmTransactionRecord = new ConfirmTransactionRecord();
|
confirmTransactionRecord.setTransaction_serial_number(transactionRecordMessage.getTransaction_serial_number());
|
confirmTransactionRecord.setConfirm_result(0);
|
iotMessageProduce.sendMessage(deviceId, ServiceIdMenu.CONFIRM_TRANSACTION_RECORD.getKey(),messageUtil.confirmTransactionRecord(confirmTransactionRecord));
|
break;
|
case SendTagConstant.UPDATE_BALANCE_REPLY:
|
UpdateBalanceReplyMessage updateBalanceReplyMessage = JSON.parseObject(content.toJSONString(),UpdateBalanceReplyMessage.class);
|
sendResult = enhanceProduce.updateBalanceReplyMessage(updateBalanceReplyMessage);
|
// 响应硬件
|
break;
|
case SendTagConstant.SYNCHRONIZE_OFFLINE_CARD_REPLY:
|
SynchronizeOfflineCardReplyMessage synchronizeOfflineCardReplyMessage = JSON.parseObject(content.toJSONString(),SynchronizeOfflineCardReplyMessage.class);
|
sendResult = enhanceProduce.synchronizeOfflineCardReplyMessage(synchronizeOfflineCardReplyMessage);
|
// 响应硬件
|
break;
|
case SendTagConstant.CLEAR_OFFLINE_CARD_REPLY:
|
ClearOfflineCardReplyMessage clearOfflineCardReplyMessage = JSON.parseObject(content.toJSONString(),ClearOfflineCardReplyMessage.class);
|
sendResult = enhanceProduce.clearOfflineCardReplyMessage(clearOfflineCardReplyMessage);
|
// 响应硬件
|
break;
|
case SendTagConstant.WORKING_PARAMETER_SETTING_REPLY:
|
WorkingParameterSettingReplyMessage workingParameterSettingReplyMessage = JSON.parseObject(content.toJSONString(),WorkingParameterSettingReplyMessage.class);
|
sendResult = enhanceProduce.workingParameterSettingReplyMessage(workingParameterSettingReplyMessage);
|
// 响应硬件
|
break;
|
case SendTagConstant.TIMING_SETTING:
|
TimingSettingMessage timingSettingMessage = JSON.parseObject(content.toJSONString(),TimingSettingMessage.class);
|
sendResult = enhanceProduce.timingSettingMessage(timingSettingMessage);
|
// 响应硬件 对时设置应答
|
TimingSettingReply timingSettingReply = new TimingSettingReply();
|
timingSettingReply.setCharging_pile_code(timingSettingMessage.getCharging_pile_code());
|
timingSettingReply.setCurrent_time(CP56Time2aConverter.convertToCP56Time2a(new Date()));
|
iotMessageProduce.sendMessage(deviceId, ServiceIdMenu.TIMING_SETTING_REPLY.getKey(),messageUtil.timingSettingReply(timingSettingReply));
|
break;
|
case SendTagConstant.SETUP_BILLING_MODEL_REPLY:
|
SetupBillingModelReplyMessage setupBillingModelReplyMessage = JSON.parseObject(content.toJSONString(),SetupBillingModelReplyMessage.class);
|
sendResult = enhanceProduce.setupBillingModelReplyMessage(setupBillingModelReplyMessage);
|
// 响应硬件
|
break;
|
case SendTagConstant.GROUND_LOCK_REAL_TIME_DATA:
|
GroundLockRealTimeDataMessage groundLockRealTimeDataMessage = JSON.parseObject(content.toJSONString(),GroundLockRealTimeDataMessage.class);
|
sendResult = enhanceProduce.groundLockRealTimeDataMessage(groundLockRealTimeDataMessage);
|
// 响应硬件
|
break;
|
case SendTagConstant.CHARGING_PILE_RETURNS_GROUND_LOCK_DATA:
|
ChargingPileReturnsGroundLockDataMessage chargingPileReturnsGroundLockDataMessage = JSON.parseObject(content.toJSONString(),ChargingPileReturnsGroundLockDataMessage.class);
|
sendResult = enhanceProduce.chargingPileReturnsGroundLockDataMessage(chargingPileReturnsGroundLockDataMessage);
|
// 响应硬件
|
break;
|
case SendTagConstant.PLATFORM_RESTART_REPLY:
|
PlatformRestartReplyMessage platformRestartReplyMessage = JSON.parseObject(content.toJSONString(),PlatformRestartReplyMessage.class);
|
sendResult = enhanceProduce.platformRestartReplyMessage(platformRestartReplyMessage);
|
// 响应硬件
|
break;
|
case SendTagConstant.QR_CODE_DELIVERY_REPLY:
|
QrCodeDeliveryReplyMessage qrCodeDeliveryReplyMessage = JSON.parseObject(content.toJSONString(),QrCodeDeliveryReplyMessage.class);
|
sendResult = enhanceProduce.qrCodeDeliveryReplyMessage(qrCodeDeliveryReplyMessage);
|
// 响应硬件
|
break;
|
case SendTagConstant.SECURITY_DETECTION:
|
SecurityDetectionMessage securityDetectionMessage = JSON.parseObject(content.toJSONString(),SecurityDetectionMessage.class);
|
sendResult = enhanceProduce.securityDetectionMessage(securityDetectionMessage);
|
// 响应硬件
|
break;
|
default:
|
PlatformRemoteUpdateReplyMessage platformRemoteUpdateReplyMessage = JSON.parseObject(content.toJSONString(),PlatformRemoteUpdateReplyMessage.class);
|
sendResult = enhanceProduce.platformRemoteUpdateReplyMessage(platformRemoteUpdateReplyMessage);
|
// 响应硬件
|
break;
|
}
|
log.info("rocketmq消息下发结果:{}",sendResult);
|
return AjaxResult.success();
|
}
|
|
|
@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(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(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(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(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(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(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(deviceId);
|
platformRestart.setOperate(2);
|
String message = iotMessageProduce.sendMessage(platformRestart.getCharging_pile_code(), ServiceIdMenu.PLATFORM_RESTART.getKey(),messageUtil.platformRestart(platformRestart));
|
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);
|
}
|
|
}
|