package com.ruoyi.integration.rocket.produce;
|
|
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSONObject;
|
import com.ruoyi.integration.iotda.constant.SendTagConstant;
|
import com.ruoyi.integration.rocket.model.*;
|
import com.ruoyi.integration.rocket.util.RocketMQEnhanceTemplate;
|
import lombok.Setter;
|
import lombok.extern.slf4j.Slf4j;
|
import org.apache.rocketmq.client.producer.SendResult;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Component;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RestController;
|
|
import java.util.UUID;
|
|
@Slf4j
|
@Component
|
public class EnhanceProduce {
|
|
//注入增强后的模板,可以自动实现环境隔离,日志记录
|
@Setter(onMethod_ = @Autowired)
|
private RocketMQEnhanceTemplate rocketMQEnhanceTemplate;
|
|
private static final String TOPIC = "rocket_enhance";
|
|
/**
|
* 充电桩登录认证
|
*/
|
public SendResult onlineMessage(JSONObject jsonObject) {
|
OnlineMessage message = JSON.parseObject(jsonObject.toJSONString(),OnlineMessage.class);
|
// 设置业务key
|
message.setKey(UUID.randomUUID().toString());
|
// 设置消息来源,便于查询
|
message.setSource(SendTagConstant.ONLINE);
|
return rocketMQEnhanceTemplate.send(TOPIC, SendTagConstant.ONLINE, message);
|
}
|
|
/**
|
* 充电桩心跳包
|
*/
|
public SendResult pingMessage(JSONObject jsonObject) {
|
PingMessage message = JSON.parseObject(jsonObject.toJSONString(),PingMessage.class);
|
// 设置业务key
|
message.setKey(UUID.randomUUID().toString());
|
// 设置消息来源,便于查询
|
message.setSource(SendTagConstant.PING);
|
return rocketMQEnhanceTemplate.send(TOPIC, SendTagConstant.PING, message);
|
}
|
/**
|
* 充电结束
|
*/
|
public SendResult endChargeMessage(JSONObject jsonObject) {
|
PingMessage message = JSON.parseObject(jsonObject.toJSONString(),PingMessage.class);
|
// 设置业务key
|
message.setKey(UUID.randomUUID().toString());
|
// 设置消息来源,便于查询
|
message.setSource(SendTagConstant.END_CHARGE);
|
return rocketMQEnhanceTemplate.send(TOPIC, SendTagConstant.END_CHARGE, message);
|
}
|
|
/**
|
* 计费模型验证请求
|
*/
|
public SendResult billingModeVerifyMessage(JSONObject jsonObject) {
|
BillingModeVerifyMessage message = JSON.parseObject(jsonObject.toJSONString(),BillingModeVerifyMessage.class);
|
// 设置业务key
|
message.setKey(UUID.randomUUID().toString());
|
// 设置消息来源,便于查询
|
message.setSource(SendTagConstant.BILLING_MODE_VERIFY);
|
return rocketMQEnhanceTemplate.send(TOPIC, SendTagConstant.BILLING_MODE_VERIFY, message);
|
}
|
|
/**
|
* 充电桩计费模型请求
|
*/
|
public SendResult acquisitionBillingModeMessage(JSONObject jsonObject) {
|
AcquisitionBillingModeMessage message = JSON.parseObject(jsonObject.toJSONString(),AcquisitionBillingModeMessage.class);
|
// 设置业务key
|
message.setKey(UUID.randomUUID().toString());
|
// 设置消息来源,便于查询
|
message.setSource(SendTagConstant.ACQUISITION_BILLING_MODE);
|
return rocketMQEnhanceTemplate.send(TOPIC, SendTagConstant.ACQUISITION_BILLING_MODE, message);
|
}
|
|
/**
|
* 上传实时监测数据
|
*/
|
public SendResult uploadRealTimeMonitoringDataMessage(JSONObject jsonObject) {
|
UploadRealTimeMonitoringDataMessage message = JSON.parseObject(jsonObject.toJSONString(),UploadRealTimeMonitoringDataMessage.class);
|
// 设置业务key
|
message.setKey(UUID.randomUUID().toString());
|
// 设置消息来源,便于查询
|
message.setSource(SendTagConstant.UPLOAD_REAL_TIME_MONITORING_DATA);
|
return rocketMQEnhanceTemplate.send(TOPIC, SendTagConstant.UPLOAD_REAL_TIME_MONITORING_DATA, message);
|
}
|
|
/**
|
* 充电握手
|
*/
|
public SendResult chargingHandshakeMessage(JSONObject jsonObject) {
|
ChargingHandshakeMessage message = JSON.parseObject(jsonObject.toJSONString(),ChargingHandshakeMessage.class);
|
// 设置业务key
|
message.setKey(UUID.randomUUID().toString());
|
// 设置消息来源,便于查询
|
message.setSource(SendTagConstant.CHARGING_HANDSHAKE);
|
return rocketMQEnhanceTemplate.send(TOPIC, SendTagConstant.CHARGING_HANDSHAKE, message);
|
}
|
|
/**
|
* 充电阶段BMS中止
|
*/
|
public SendResult bmsAbortMessage(JSONObject jsonObject) {
|
BmsAbortMessage message = JSON.parseObject(jsonObject.toJSONString(),BmsAbortMessage.class);
|
// 设置业务key
|
message.setKey(UUID.randomUUID().toString());
|
// 设置消息来源,便于查询
|
message.setSource(SendTagConstant.BMS_ABORT);
|
return rocketMQEnhanceTemplate.send(TOPIC, SendTagConstant.BMS_ABORT, message);
|
}
|
|
/**
|
* 充电阶段充电机中止
|
*/
|
public SendResult motorAbortMessage(JSONObject jsonObject) {
|
MotorAbortMessage message = JSON.parseObject(jsonObject.toJSONString(),MotorAbortMessage.class);
|
// 设置业务key
|
message.setKey(UUID.randomUUID().toString());
|
// 设置消息来源,便于查询
|
message.setSource(SendTagConstant.MOTOR_ABORT);
|
return rocketMQEnhanceTemplate.send(TOPIC, SendTagConstant.MOTOR_ABORT, message);
|
}
|
|
/**
|
* 充电过程BMS需求、充电机输出
|
*/
|
public SendResult bmsDemandAndChargerExportationMessage(JSONObject jsonObject) {
|
BmsDemandAndChargerExportationMessage message = JSON.parseObject(jsonObject.toJSONString(),BmsDemandAndChargerExportationMessage.class);
|
// 设置业务key
|
message.setKey(UUID.randomUUID().toString());
|
// 设置消息来源,便于查询
|
message.setSource(SendTagConstant.BMS_DEMAND_AND_CHARGER_EXPORTATION);
|
return rocketMQEnhanceTemplate.send(TOPIC, SendTagConstant.BMS_DEMAND_AND_CHARGER_EXPORTATION, message);
|
}
|
|
/**
|
* 充电过程BMS信息
|
*/
|
public SendResult bmsInformationMessage(JSONObject jsonObject) {
|
BmsInformationMessage message = JSON.parseObject(jsonObject.toJSONString(),BmsInformationMessage.class);
|
// 设置业务key
|
message.setKey(UUID.randomUUID().toString());
|
// 设置消息来源,便于查询
|
message.setSource(SendTagConstant.BMS_INFORMATION);
|
return rocketMQEnhanceTemplate.send(TOPIC, SendTagConstant.BMS_INFORMATION, message);
|
}
|
|
/**
|
* 充电桩主动申请启动充电
|
*/
|
public SendResult chargingPileStartsChargingMessage(JSONObject jsonObject) {
|
ChargingPileStartsChargingMessage message = JSON.parseObject(jsonObject.toJSONString(),ChargingPileStartsChargingMessage.class);
|
// 设置业务key
|
message.setKey(UUID.randomUUID().toString());
|
// 设置消息来源,便于查询
|
message.setSource(SendTagConstant.CHARGING_PILE_STARTS_CHARGING);
|
return rocketMQEnhanceTemplate.send(TOPIC, SendTagConstant.CHARGING_PILE_STARTS_CHARGING, message);
|
}
|
|
/**
|
* 远程启机命令回复
|
*/
|
public SendResult platformStartChargingReplyMessage(JSONObject jsonObject) {
|
PlatformStartChargingReplyMessage message = JSON.parseObject(jsonObject.toJSONString(),PlatformStartChargingReplyMessage.class);
|
// 设置业务key
|
message.setKey(UUID.randomUUID().toString());
|
// 设置消息来源,便于查询
|
message.setSource(SendTagConstant.PLATFORM_START_CHARGING_REPLY);
|
return rocketMQEnhanceTemplate.send(TOPIC, SendTagConstant.PLATFORM_START_CHARGING_REPLY, message);
|
}
|
|
/**
|
* 远程停机命令回复
|
*/
|
public SendResult platformStopChargingReplyMessage(JSONObject jsonObject) {
|
PlatformStopChargingReplyMessage message = JSON.parseObject(jsonObject.toJSONString(),PlatformStopChargingReplyMessage.class);
|
// 设置业务key
|
message.setKey(UUID.randomUUID().toString());
|
// 设置消息来源,便于查询
|
message.setSource(SendTagConstant.PLATFORM_STOP_CHARGING_REPLY);
|
return rocketMQEnhanceTemplate.send(TOPIC, SendTagConstant.PLATFORM_STOP_CHARGING_REPLY, message);
|
}
|
|
/**
|
* 交易记录
|
*/
|
public SendResult transactionRecordMessage(JSONObject jsonObject) {
|
TransactionRecordMessage message = JSON.parseObject(jsonObject.toJSONString(),TransactionRecordMessage.class);
|
// 设置业务key
|
message.setKey(UUID.randomUUID().toString());
|
// 设置消息来源,便于查询
|
message.setSource(SendTagConstant.TRANSACTION_RECORD);
|
return rocketMQEnhanceTemplate.send(TOPIC, SendTagConstant.TRANSACTION_RECORD, message);
|
}
|
|
/**
|
* 余额更新应答
|
*/
|
public SendResult updateBalanceReplyMessage(JSONObject jsonObject) {
|
UpdateBalanceReplyMessage message = JSON.parseObject(jsonObject.toJSONString(),UpdateBalanceReplyMessage.class);
|
// 设置业务key
|
message.setKey(UUID.randomUUID().toString());
|
// 设置消息来源,便于查询
|
message.setSource(SendTagConstant.UPDATE_BALANCE_REPLY);
|
return rocketMQEnhanceTemplate.send(TOPIC, SendTagConstant.UPDATE_BALANCE_REPLY, message);
|
}
|
|
/**
|
* 卡数据同步应答
|
*/
|
public SendResult synchronizeOfflineCardReplyMessage(JSONObject jsonObject) {
|
SynchronizeOfflineCardReplyMessage message = JSON.parseObject(jsonObject.toJSONString(),SynchronizeOfflineCardReplyMessage.class);
|
// 设置业务key
|
message.setKey(UUID.randomUUID().toString());
|
// 设置消息来源,便于查询
|
message.setSource(SendTagConstant.SYNCHRONIZE_OFFLINE_CARD_REPLY);
|
return rocketMQEnhanceTemplate.send(TOPIC, SendTagConstant.SYNCHRONIZE_OFFLINE_CARD_REPLY, message);
|
}
|
|
/**
|
* 离线卡数据清除应答
|
*/
|
public SendResult clearOfflineCardReplyMessage(JSONObject jsonObject) {
|
ClearOfflineCardReplyMessage message = JSON.parseObject(jsonObject.toJSONString(),ClearOfflineCardReplyMessage.class);
|
// 设置业务key
|
message.setKey(UUID.randomUUID().toString());
|
// 设置消息来源,便于查询
|
message.setSource(SendTagConstant.CLEAR_OFFLINE_CARD_REPLY);
|
return rocketMQEnhanceTemplate.send(TOPIC, SendTagConstant.CLEAR_OFFLINE_CARD_REPLY, message);
|
}
|
|
/**
|
* 充电桩工作参数设置应答
|
*/
|
public SendResult workingParameterSettingReplyMessage(JSONObject jsonObject) {
|
WorkingParameterSettingReplyMessage message = JSON.parseObject(jsonObject.toJSONString(),WorkingParameterSettingReplyMessage.class);
|
// 设置业务key
|
message.setKey(UUID.randomUUID().toString());
|
// 设置消息来源,便于查询
|
message.setSource(SendTagConstant.WORKING_PARAMETER_SETTING_REPLY);
|
return rocketMQEnhanceTemplate.send(TOPIC, SendTagConstant.WORKING_PARAMETER_SETTING_REPLY, message);
|
}
|
|
/**
|
* 对时设置
|
*/
|
public SendResult timingSettingMessage(JSONObject jsonObject) {
|
TimingSettingMessage message = JSON.parseObject(jsonObject.toJSONString(),TimingSettingMessage.class);
|
// 设置业务key
|
message.setKey(UUID.randomUUID().toString());
|
// 设置消息来源,便于查询
|
message.setSource(SendTagConstant.TIMING_SETTING);
|
return rocketMQEnhanceTemplate.send(TOPIC, SendTagConstant.TIMING_SETTING, message);
|
}
|
|
/**
|
* 计费模型应答
|
*/
|
public SendResult setupBillingModelReplyMessage(JSONObject jsonObject) {
|
SetupBillingModelReplyMessage message = JSON.parseObject(jsonObject.toJSONString(),SetupBillingModelReplyMessage.class);
|
// 设置业务key
|
message.setKey(UUID.randomUUID().toString());
|
// 设置消息来源,便于查询
|
message.setSource(SendTagConstant.SETUP_BILLING_MODEL_REPLY);
|
return rocketMQEnhanceTemplate.send(TOPIC, SendTagConstant.SETUP_BILLING_MODEL_REPLY, message);
|
}
|
|
/**
|
* 地锁数据上送(充电桩上送)
|
*/
|
public SendResult groundLockRealTimeDataMessage(JSONObject jsonObject) {
|
GroundLockRealTimeDataMessage message = JSON.parseObject(jsonObject.toJSONString(),GroundLockRealTimeDataMessage.class);
|
// 设置业务key
|
message.setKey(UUID.randomUUID().toString());
|
// 设置消息来源,便于查询
|
message.setSource(SendTagConstant.GROUND_LOCK_REAL_TIME_DATA);
|
return rocketMQEnhanceTemplate.send(TOPIC, SendTagConstant.GROUND_LOCK_REAL_TIME_DATA, message);
|
}
|
|
/**
|
* 充电桩返回数据(上行)
|
*/
|
public SendResult chargingPileReturnsGroundLockDataMessage(JSONObject jsonObject) {
|
ChargingPileReturnsGroundLockDataMessage message = JSON.parseObject(jsonObject.toJSONString(),ChargingPileReturnsGroundLockDataMessage.class);
|
// 设置业务key
|
message.setKey(UUID.randomUUID().toString());
|
// 设置消息来源,便于查询
|
message.setSource(SendTagConstant.CHARGING_PILE_RETURNS_GROUND_LOCK_DATA);
|
return rocketMQEnhanceTemplate.send(TOPIC, SendTagConstant.CHARGING_PILE_RETURNS_GROUND_LOCK_DATA, message);
|
}
|
|
/**
|
* 远程重启应答
|
*/
|
public SendResult platformRestartReplyMessage(JSONObject jsonObject) {
|
PlatformRestartReplyMessage message = JSON.parseObject(jsonObject.toJSONString(),PlatformRestartReplyMessage.class);
|
// 设置业务key
|
message.setKey(UUID.randomUUID().toString());
|
// 设置消息来源,便于查询
|
message.setSource(SendTagConstant.PLATFORM_RESTART_REPLY);
|
return rocketMQEnhanceTemplate.send(TOPIC, SendTagConstant.PLATFORM_RESTART_REPLY, message);
|
}
|
|
/**
|
* 远程更新应答
|
*/
|
public SendResult platformRemoteUpdateReplyMessage(JSONObject jsonObject) {
|
PlatformRemoteUpdateReplyMessage message = JSON.parseObject(jsonObject.toJSONString(),PlatformRemoteUpdateReplyMessage.class);
|
// 设置业务key
|
message.setKey(UUID.randomUUID().toString());
|
// 设置消息来源,便于查询
|
message.setSource(SendTagConstant.PLATFORM_REMOTE_UPDATE_REPLY);
|
return rocketMQEnhanceTemplate.send(TOPIC, SendTagConstant.PLATFORM_REMOTE_UPDATE_REPLY, message);
|
}
|
}
|