package com.ruoyi.integration.rocket.produce;
|
|
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSONObject;
|
import com.ruoyi.integration.api.model.ErrorMessage;
|
import com.ruoyi.integration.api.model.ParameterSetting;
|
import com.ruoyi.integration.api.model.QrCodeDeliveryReply;
|
import com.ruoyi.integration.api.model.SecurityDetection;
|
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 java.util.UUID;
|
|
@Slf4j
|
@Component
|
public class EnhanceProduce {
|
|
//注入增强后的模板,可以自动实现环境隔离,日志记录
|
@Setter(onMethod_ = @Autowired)
|
private RocketMQEnhanceTemplate rocketMQEnhanceTemplate;
|
|
private static final String TOPIC = "charge_";
|
|
/**
|
* 充电桩登录认证
|
*/
|
public SendResult onlineMessage(OnlineMessage message) {
|
// 设置业务key
|
message.setKey(UUID.randomUUID().toString());
|
// 设置消息来源,便于查询
|
message.setSource(SendTagConstant.ONLINE);
|
return rocketMQEnhanceTemplate.send(TOPIC+SendTagConstant.ONLINE, SendTagConstant.ONLINE, message);
|
}
|
|
/**
|
* 充电桩心跳包
|
*/
|
public SendResult pingMessage(PingMessage message) {
|
// 设置业务key
|
message.setKey(UUID.randomUUID().toString());
|
// 设置消息来源,便于查询
|
message.setSource(SendTagConstant.PING);
|
return rocketMQEnhanceTemplate.send(TOPIC+SendTagConstant.PING, SendTagConstant.PING, message);
|
}
|
/**
|
* 充电结束
|
*/
|
public SendResult endChargeMessage(EndChargeMessage message) {
|
// 设置业务key
|
message.setKey(UUID.randomUUID().toString());
|
// 设置消息来源,便于查询
|
message.setSource(SendTagConstant.END_CHARGE);
|
return rocketMQEnhanceTemplate.send(TOPIC+SendTagConstant.END_CHARGE, SendTagConstant.END_CHARGE, message);
|
}
|
/**
|
* 错误报文
|
*/
|
public SendResult errorMessageMessage(ErrorMessageMessage message) {
|
// 设置业务key
|
message.setKey(UUID.randomUUID().toString());
|
// 设置消息来源,便于查询
|
message.setSource(SendTagConstant.ERROR_MESSAGE);
|
return rocketMQEnhanceTemplate.send(TOPIC+SendTagConstant.ERROR_MESSAGE, SendTagConstant.ERROR_MESSAGE, message);
|
}
|
|
/**
|
* 计费模型验证请求
|
*/
|
public SendResult billingModeVerifyMessage(BillingModeVerifyMessage message) {
|
// 设置业务key
|
message.setKey(UUID.randomUUID().toString());
|
// 设置消息来源,便于查询
|
message.setSource(SendTagConstant.BILLING_MODE_VERIFY);
|
return rocketMQEnhanceTemplate.send(TOPIC+SendTagConstant.BILLING_MODE_VERIFY, SendTagConstant.BILLING_MODE_VERIFY, message);
|
}
|
|
/**
|
* 充电桩计费模型请求
|
*/
|
public SendResult acquisitionBillingModeMessage(AcquisitionBillingModeMessage message) {
|
// 设置业务key
|
message.setKey(UUID.randomUUID().toString());
|
// 设置消息来源,便于查询
|
message.setSource(SendTagConstant.ACQUISITION_BILLING_MODE);
|
return rocketMQEnhanceTemplate.send(TOPIC+SendTagConstant.ACQUISITION_BILLING_MODE, SendTagConstant.ACQUISITION_BILLING_MODE, message);
|
}
|
|
/**
|
* 上传实时监测数据
|
*/
|
public SendResult uploadRealTimeMonitoringDataMessage(UploadRealTimeMonitoringDataMessage message) {
|
// 设置业务key
|
message.setKey(UUID.randomUUID().toString());
|
// 设置消息来源,便于查询
|
message.setSource(SendTagConstant.UPLOAD_REAL_TIME_MONITORING_DATA);
|
return rocketMQEnhanceTemplate.send(TOPIC+SendTagConstant.UPLOAD_REAL_TIME_MONITORING_DATA, SendTagConstant.UPLOAD_REAL_TIME_MONITORING_DATA, message);
|
}
|
|
/**
|
* 充电握手
|
*/
|
public SendResult chargingHandshakeMessage(ChargingHandshakeMessage message) {
|
// 设置业务key
|
message.setKey(UUID.randomUUID().toString());
|
// 设置消息来源,便于查询
|
message.setSource(SendTagConstant.CHARGING_HANDSHAKE);
|
return rocketMQEnhanceTemplate.send(TOPIC+SendTagConstant.CHARGING_HANDSHAKE, SendTagConstant.CHARGING_HANDSHAKE, message);
|
}
|
/**
|
* 参数设置
|
*/
|
public SendResult parameterSettingMessage(ParameterSettingMessage message) {
|
// 设置业务key
|
message.setKey(UUID.randomUUID().toString());
|
// 设置消息来源,便于查询
|
message.setSource(SendTagConstant.PARAMETER_SETTING);
|
return rocketMQEnhanceTemplate.send(TOPIC+SendTagConstant.PARAMETER_SETTING, SendTagConstant.PARAMETER_SETTING, message);
|
}
|
|
/**
|
* 充电阶段BMS中止
|
*/
|
public SendResult bmsAbortMessage(BmsAbortMessage message) {
|
// 设置业务key
|
message.setKey(UUID.randomUUID().toString());
|
// 设置消息来源,便于查询
|
message.setSource(SendTagConstant.BMS_ABORT);
|
return rocketMQEnhanceTemplate.send(TOPIC+SendTagConstant.BMS_ABORT, SendTagConstant.BMS_ABORT, message);
|
}
|
|
/**
|
* 充电阶段充电机中止
|
*/
|
public SendResult motorAbortMessage(MotorAbortMessage message) {
|
// 设置业务key
|
message.setKey(UUID.randomUUID().toString());
|
// 设置消息来源,便于查询
|
message.setSource(SendTagConstant.MOTOR_ABORT);
|
return rocketMQEnhanceTemplate.send(TOPIC+SendTagConstant.MOTOR_ABORT, SendTagConstant.MOTOR_ABORT, message);
|
}
|
|
/**
|
* 充电过程BMS需求、充电机输出
|
*/
|
public SendResult bmsDemandAndChargerExportationMessage(BmsDemandAndChargerExportationMessage message) {
|
// 设置业务key
|
message.setKey(UUID.randomUUID().toString());
|
// 设置消息来源,便于查询
|
message.setSource(SendTagConstant.BMS_DEMAND_AND_CHARGER_EXPORTATION);
|
return rocketMQEnhanceTemplate.send(TOPIC+SendTagConstant.BMS_DEMAND_AND_CHARGER_EXPORTATION, SendTagConstant.BMS_DEMAND_AND_CHARGER_EXPORTATION, message);
|
}
|
|
/**
|
* 充电过程BMS信息
|
*/
|
public SendResult bmsInformationMessage(BmsInformationMessage message) {
|
// 设置业务key
|
message.setKey(UUID.randomUUID().toString());
|
// 设置消息来源,便于查询
|
message.setSource(SendTagConstant.BMS_INFORMATION);
|
return rocketMQEnhanceTemplate.send(TOPIC+SendTagConstant.BMS_INFORMATION, SendTagConstant.BMS_INFORMATION, message);
|
}
|
|
/**
|
* 充电桩主动申请启动充电
|
*/
|
public SendResult chargingPileStartsChargingMessage(ChargingPileStartsChargingMessage message) {
|
// 设置业务key
|
message.setKey(UUID.randomUUID().toString());
|
// 设置消息来源,便于查询
|
message.setSource(SendTagConstant.CHARGING_PILE_STARTS_CHARGING);
|
return rocketMQEnhanceTemplate.send(TOPIC+SendTagConstant.CHARGING_PILE_STARTS_CHARGING, SendTagConstant.CHARGING_PILE_STARTS_CHARGING, message);
|
}
|
|
/**
|
* 远程启机命令回复
|
*/
|
public SendResult platformStartChargingReplyMessage(PlatformStartChargingReplyMessage message) {
|
// 设置业务key
|
message.setKey(UUID.randomUUID().toString());
|
// 设置消息来源,便于查询
|
message.setSource(SendTagConstant.PLATFORM_START_CHARGING_REPLY);
|
return rocketMQEnhanceTemplate.send(TOPIC+SendTagConstant.PLATFORM_START_CHARGING_REPLY, SendTagConstant.PLATFORM_START_CHARGING_REPLY, message);
|
}
|
|
/**
|
* 远程停机命令回复
|
*/
|
public SendResult platformStopChargingReplyMessage(PlatformStopChargingReplyMessage message) {
|
// 设置业务key
|
message.setKey(UUID.randomUUID().toString());
|
// 设置消息来源,便于查询
|
message.setSource(SendTagConstant.PLATFORM_STOP_CHARGING_REPLY);
|
return rocketMQEnhanceTemplate.send(TOPIC+SendTagConstant.PLATFORM_STOP_CHARGING_REPLY, SendTagConstant.PLATFORM_STOP_CHARGING_REPLY, message);
|
}
|
|
/**
|
* 交易记录
|
*/
|
public SendResult transactionRecordMessage(TransactionRecordMessage message) {
|
// 设置业务key
|
message.setKey(UUID.randomUUID().toString());
|
// 设置消息来源,便于查询
|
message.setSource(SendTagConstant.TRANSACTION_RECORD);
|
return rocketMQEnhanceTemplate.send(TOPIC+SendTagConstant.TRANSACTION_RECORD, SendTagConstant.TRANSACTION_RECORD, message);
|
}
|
|
/**
|
* 余额更新应答
|
*/
|
public SendResult updateBalanceReplyMessage(UpdateBalanceReplyMessage message) {
|
// 设置业务key
|
message.setKey(UUID.randomUUID().toString());
|
// 设置消息来源,便于查询
|
message.setSource(SendTagConstant.UPDATE_BALANCE_REPLY);
|
return rocketMQEnhanceTemplate.send(TOPIC+SendTagConstant.UPDATE_BALANCE_REPLY, SendTagConstant.UPDATE_BALANCE_REPLY, message);
|
}
|
|
/**
|
* 卡数据同步应答
|
*/
|
public SendResult synchronizeOfflineCardReplyMessage(SynchronizeOfflineCardReplyMessage message) {
|
// 设置业务key
|
message.setKey(UUID.randomUUID().toString());
|
// 设置消息来源,便于查询
|
message.setSource(SendTagConstant.SYNCHRONIZE_OFFLINE_CARD_REPLY);
|
return rocketMQEnhanceTemplate.send(TOPIC+SendTagConstant.SYNCHRONIZE_OFFLINE_CARD_REPLY, SendTagConstant.SYNCHRONIZE_OFFLINE_CARD_REPLY, message);
|
}
|
|
/**
|
* 离线卡数据清除应答
|
*/
|
public SendResult clearOfflineCardReplyMessage(ClearOfflineCardReplyMessage message) {
|
// 设置业务key
|
message.setKey(UUID.randomUUID().toString());
|
// 设置消息来源,便于查询
|
message.setSource(SendTagConstant.CLEAR_OFFLINE_CARD_REPLY);
|
return rocketMQEnhanceTemplate.send(TOPIC+SendTagConstant.CLEAR_OFFLINE_CARD_REPLY, SendTagConstant.CLEAR_OFFLINE_CARD_REPLY, message);
|
}
|
|
/**
|
* 充电桩工作参数设置应答
|
*/
|
public SendResult workingParameterSettingReplyMessage(WorkingParameterSettingReplyMessage message) {
|
// 设置业务key
|
message.setKey(UUID.randomUUID().toString());
|
// 设置消息来源,便于查询
|
message.setSource(SendTagConstant.WORKING_PARAMETER_SETTING_REPLY);
|
return rocketMQEnhanceTemplate.send(TOPIC+SendTagConstant.WORKING_PARAMETER_SETTING_REPLY, SendTagConstant.WORKING_PARAMETER_SETTING_REPLY, message);
|
}
|
|
/**
|
* 对时设置
|
*/
|
public SendResult timingSettingMessage(TimingSettingMessage message) {
|
// 设置业务key
|
message.setKey(UUID.randomUUID().toString());
|
// 设置消息来源,便于查询
|
message.setSource(SendTagConstant.TIMING_SETTING);
|
return rocketMQEnhanceTemplate.send(TOPIC+SendTagConstant.TIMING_SETTING, SendTagConstant.TIMING_SETTING, message);
|
}
|
|
/**
|
* 计费模型应答
|
*/
|
public SendResult setupBillingModelReplyMessage(SetupBillingModelReplyMessage message) {
|
// 设置业务key
|
message.setKey(UUID.randomUUID().toString());
|
// 设置消息来源,便于查询
|
message.setSource(SendTagConstant.SETUP_BILLING_MODEL_REPLY);
|
return rocketMQEnhanceTemplate.send(TOPIC+SendTagConstant.SETUP_BILLING_MODEL_REPLY, SendTagConstant.SETUP_BILLING_MODEL_REPLY, message);
|
}
|
|
/**
|
* 地锁数据上送(充电桩上送)
|
*/
|
public SendResult groundLockRealTimeDataMessage(GroundLockRealTimeDataMessage message) {
|
// 设置业务key
|
message.setKey(UUID.randomUUID().toString());
|
// 设置消息来源,便于查询
|
message.setSource(SendTagConstant.GROUND_LOCK_REAL_TIME_DATA);
|
return rocketMQEnhanceTemplate.send(TOPIC+SendTagConstant.GROUND_LOCK_REAL_TIME_DATA, SendTagConstant.GROUND_LOCK_REAL_TIME_DATA, message);
|
}
|
|
/**
|
* 充电桩返回数据(上行)
|
*/
|
public SendResult chargingPileReturnsGroundLockDataMessage(ChargingPileReturnsGroundLockDataMessage message) {
|
// 设置业务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, SendTagConstant.CHARGING_PILE_RETURNS_GROUND_LOCK_DATA, message);
|
}
|
|
/**
|
* 远程重启应答
|
*/
|
public SendResult platformRestartReplyMessage(PlatformRestartReplyMessage message) {
|
// 设置业务key
|
message.setKey(UUID.randomUUID().toString());
|
// 设置消息来源,便于查询
|
message.setSource(SendTagConstant.PLATFORM_RESTART_REPLY);
|
return rocketMQEnhanceTemplate.send(TOPIC+SendTagConstant.PLATFORM_RESTART_REPLY, SendTagConstant.PLATFORM_RESTART_REPLY, message);
|
}
|
|
/**
|
* 远程更新应答
|
*/
|
public SendResult platformRemoteUpdateReplyMessage(PlatformRemoteUpdateReplyMessage message) {
|
// 设置业务key
|
message.setKey(UUID.randomUUID().toString());
|
// 设置消息来源,便于查询
|
message.setSource(SendTagConstant.PLATFORM_REMOTE_UPDATE_REPLY);
|
return rocketMQEnhanceTemplate.send(TOPIC+SendTagConstant.PLATFORM_REMOTE_UPDATE_REPLY, SendTagConstant.PLATFORM_REMOTE_UPDATE_REPLY, message);
|
}
|
|
/**
|
* 二维码下发应答
|
*/
|
public SendResult qrCodeDeliveryReplyMessage(QrCodeDeliveryReplyMessage message) {
|
// 设置业务key
|
message.setKey(UUID.randomUUID().toString());
|
// 设置消息来源,便于查询
|
message.setSource(SendTagConstant.QR_CODE_DELIVERY_REPLY);
|
return rocketMQEnhanceTemplate.send(TOPIC+SendTagConstant.QR_CODE_DELIVERY_REPLY, SendTagConstant.QR_CODE_DELIVERY_REPLY, message);
|
}
|
|
/**
|
* 安全监测
|
*/
|
public SendResult securityDetectionMessage(SecurityDetectionMessage message) {
|
// 设置业务key
|
message.setKey(UUID.randomUUID().toString());
|
// 设置消息来源,便于查询
|
message.setSource(SendTagConstant.SECURITY_DETECTION);
|
return rocketMQEnhanceTemplate.send(TOPIC+SendTagConstant.SECURITY_DETECTION, SendTagConstant.SECURITY_DETECTION, message);
|
}
|
|
/**
|
* 充电桩登录认证
|
*/
|
public SendResult chargingMessage(ChargingMessage message) {
|
// 设置业务key
|
message.setKey(UUID.randomUUID().toString());
|
// 设置消息来源,便于查询
|
message.setSource(SendTagConstant.CHARGING_MESSAGE);
|
|
|
|
return rocketMQEnhanceTemplate.send(TOPIC+SendTagConstant.CHARGING_MESSAGE, SendTagConstant.CHARGING_MESSAGE, message);
|
}
|
|
}
|