mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-04-20 02:55:04 +08:00
在各个帧类中添加mq消息发送(部分添加用于测试)
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
package com.jsowell.netty.handler.yunkuaichong;
|
||||
|
||||
import com.jsowell.common.constant.Constants;
|
||||
import com.jsowell.common.constant.mq.ThirdPartyRabbitConstants;
|
||||
import com.jsowell.common.core.domain.ykc.YKCDataProtocol;
|
||||
import com.jsowell.common.core.domain.ykc.YKCFrameTypeCode;
|
||||
import com.jsowell.common.enums.ykc.ChargingFailedReasonEnum;
|
||||
@@ -14,6 +15,7 @@ import com.jsowell.pile.service.OrderBasicInfoService;
|
||||
import com.jsowell.thirdparty.common.CommonService;
|
||||
import io.netty.channel.ChannelHandlerContext;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.amqp.rabbit.core.RabbitTemplate;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
|
||||
import org.springframework.stereotype.Component;
|
||||
@@ -40,6 +42,9 @@ public class RemoteStartChargingRequestHandler extends AbstractYkcHandler {
|
||||
// 引入第三方平台任务线程池
|
||||
private ThreadPoolTaskExecutor thirdpartyTaskExecutor = SpringUtils.getBean("thirdpartyTaskExecutor");
|
||||
|
||||
@Autowired
|
||||
private RabbitTemplate rabbitTemplate;
|
||||
|
||||
@Override
|
||||
public void afterPropertiesSet() throws Exception {
|
||||
YKCOperateFactory.register(type, this);
|
||||
@@ -125,6 +130,33 @@ public class RemoteStartChargingRequestHandler extends AbstractYkcHandler {
|
||||
}
|
||||
}
|
||||
}, thirdpartyTaskExecutor);
|
||||
|
||||
// TODO 测试mq
|
||||
// 异步发送mq
|
||||
CompletableFuture.runAsync(() -> {
|
||||
OrderBasicInfo orderInfo = orderBasicInfoService.getOrderInfoByTransactionCode(transactionCode);
|
||||
if (orderInfo == null) {
|
||||
return;
|
||||
}
|
||||
try {
|
||||
// 推送启动充电结果
|
||||
Thread.sleep(1000);
|
||||
rabbitTemplate.convertAndSend(ThirdPartyRabbitConstants.WCC_THIRDPARTY_NAME,ThirdPartyRabbitConstants.QUEUE_CHARGE_RESULT_PUSH, orderInfo);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
// 启动失败, 推送第三方订单信息
|
||||
if (StringUtils.equals(startResult, Constants.DOUBLE_ZERO)) {
|
||||
try {
|
||||
Thread.sleep(1000);
|
||||
//充电订单信息推送,订单信息推送,停止充电结果推送,充电账单推送
|
||||
rabbitTemplate.convertAndSend(ThirdPartyRabbitConstants.WCC_THIRDPARTY_NAME,ThirdPartyRabbitConstants.QUEUE_STARTUP_CHARGING_FAILED_PUSH, orderInfo);
|
||||
} catch (Exception e) {
|
||||
log.error("统一推送第三方平台订单信息error, ", e);
|
||||
}
|
||||
}
|
||||
}, thirdpartyTaskExecutor);
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@ import com.alibaba.fastjson2.JSON;
|
||||
import com.google.common.primitives.Bytes;
|
||||
import com.jsowell.common.constant.CacheConstants;
|
||||
import com.jsowell.common.constant.Constants;
|
||||
import com.jsowell.common.constant.mq.ThirdPartyRabbitConstants;
|
||||
import com.jsowell.common.core.domain.ykc.TransactionRecordsData;
|
||||
import com.jsowell.common.core.domain.ykc.YKCDataProtocol;
|
||||
import com.jsowell.common.core.domain.ykc.YKCFrameTypeCode;
|
||||
@@ -27,6 +28,7 @@ import com.jsowell.thirdparty.common.CommonService;
|
||||
import com.jsowell.thirdparty.platform.service.impl.ChargeAlgorithmService;
|
||||
import io.netty.channel.ChannelHandlerContext;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.amqp.rabbit.core.RabbitTemplate;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
|
||||
import org.springframework.stereotype.Component;
|
||||
@@ -84,6 +86,10 @@ public class TransactionRecordsRequestHandler extends AbstractYkcHandler {
|
||||
@Autowired
|
||||
private PersonalChargingRecordService personalChargingRecordService;
|
||||
|
||||
@Autowired
|
||||
private RabbitTemplate rabbitTemplate;
|
||||
|
||||
|
||||
|
||||
// public static void main(String[] args) {
|
||||
// // BigDecimal totalElectricity = new BigDecimal("23.73");
|
||||
@@ -695,6 +701,27 @@ public class TransactionRecordsRequestHandler extends AbstractYkcHandler {
|
||||
}
|
||||
}, thirdpartyTaskExecutor);
|
||||
|
||||
|
||||
// TODO 测试mq
|
||||
// 异步推送充电订单算法平台
|
||||
CompletableFuture.runAsync(() -> {
|
||||
try {
|
||||
String result = chargeAlgorithmService.pushOrderInfo(finalOrderBasicInfo.getOrderCode());
|
||||
log.info("异步推送充电订单算法平台 result:{}", result);
|
||||
} catch (Exception e) {
|
||||
log.error("异步推送充电订单算法平台 error, ", e);
|
||||
}
|
||||
}, thirdpartyTaskExecutor);
|
||||
|
||||
|
||||
CompletableFuture.runAsync(() -> {
|
||||
try {
|
||||
rabbitTemplate.convertAndSend(ThirdPartyRabbitConstants.WCC_THIRDPARTY_NAME,ThirdPartyRabbitConstants.QUEUE_CHARGE_ORDER_PUSH, finalOrderBasicInfo);
|
||||
} catch (Exception e) {
|
||||
log.error("推送第三方平台订单信息error, ", e);
|
||||
}
|
||||
}, thirdpartyTaskExecutor);
|
||||
|
||||
} else {
|
||||
// 平台没有查到订单
|
||||
orderBasicInfoService.saveAbnormalOrder(data);
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.jsowell.netty.handler.yunkuaichong;
|
||||
|
||||
import com.jsowell.common.constant.CacheConstants;
|
||||
import com.jsowell.common.constant.Constants;
|
||||
import com.jsowell.common.constant.mq.ThirdPartyRabbitConstants;
|
||||
import com.jsowell.common.core.domain.ykc.RealTimeMonitorData;
|
||||
import com.jsowell.common.core.domain.ykc.YKCDataProtocol;
|
||||
import com.jsowell.common.core.domain.ykc.YKCFrameTypeCode;
|
||||
@@ -21,6 +22,7 @@ import com.jsowell.pile.service.PileBasicInfoService;
|
||||
import com.jsowell.thirdparty.common.CommonService;
|
||||
import io.netty.channel.ChannelHandlerContext;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.amqp.rabbit.core.RabbitTemplate;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
|
||||
import org.springframework.stereotype.Component;
|
||||
@@ -66,6 +68,9 @@ public class UploadRealTimeMonitorHandler extends AbstractYkcHandler {
|
||||
@Autowired
|
||||
private RedisCache redisCache;
|
||||
|
||||
@Autowired
|
||||
private RabbitTemplate rabbitTemplate;
|
||||
|
||||
|
||||
@Override
|
||||
public byte[] supplyProcess(YKCDataProtocol ykcDataProtocol, ChannelHandlerContext channel) {
|
||||
@@ -377,6 +382,26 @@ public class UploadRealTimeMonitorHandler extends AbstractYkcHandler {
|
||||
}, thirdpartyTaskExecutor);
|
||||
}
|
||||
|
||||
// TODO 测试mq
|
||||
// 向mq中发送实时数据消息,给第三方服务消费
|
||||
CompletableFuture.runAsync(() -> {
|
||||
try {
|
||||
rabbitTemplate.convertAndSend(ThirdPartyRabbitConstants.WCC_THIRDPARTY_NAME,ThirdPartyRabbitConstants.QUEUE_REALTIME_DATA_PUSH, realTimeMonitorData);
|
||||
} catch (Exception e){
|
||||
log.error("向mq中发送实时数据消息供第三方服务消费 error, ", e);
|
||||
}
|
||||
if (StringUtils.equals(connectorStatus,Constants.ONE)){
|
||||
// 故障
|
||||
// 异步推送第三方平台告警信息
|
||||
try {
|
||||
rabbitTemplate.convertAndSend(ThirdPartyRabbitConstants.WCC_THIRDPARTY_NAME,ThirdPartyRabbitConstants.QUEUE_ALARM_PUSH, realTimeMonitorData.getPutGunType());
|
||||
} catch (Exception e) {
|
||||
log.error("统一推送第三方平台告警信息 error, ", e);
|
||||
}
|
||||
}
|
||||
}, executor);
|
||||
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
@@ -371,6 +371,8 @@ public class UploadRealTimeMonitorStrategy implements AbstractYkcStrategy {
|
||||
}, executor);
|
||||
}
|
||||
|
||||
// TODO 测试
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user