|
|
@@ -5,11 +5,12 @@ import com.alibaba.fastjson2.JSONObject;
|
|
|
import com.baomidou.dynamic.datasource.annotation.DS;
|
|
|
import com.baomidou.dynamic.datasource.annotation.DSTransactional;
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
|
|
+import com.kym.common.utils.PlatformConvertUtil;
|
|
|
import com.kym.entity.admin.ConnectorInfo;
|
|
|
import com.kym.entity.admin.EquipmentInfo;
|
|
|
import com.kym.entity.admin.MonitorLog;
|
|
|
import com.kym.entity.common.RedisKeys;
|
|
|
-import com.kym.entity.enplus.EnConnectorStatusInfo;
|
|
|
+import com.kym.entity.platform.PlatformConnectorStatusInfo;
|
|
|
import com.kym.entity.miniapp.Account;
|
|
|
import com.kym.entity.miniapp.ChargeOrder;
|
|
|
import com.kym.entity.miniapp.WalletDetail;
|
|
|
@@ -17,10 +18,10 @@ import com.kym.service.admin.ConnectorInfoService;
|
|
|
import com.kym.service.admin.EquipmentInfoService;
|
|
|
import com.kym.service.admin.MonitorLogService;
|
|
|
import com.kym.service.cache.KymCache;
|
|
|
-import com.kym.service.platform.EnNotifyService;
|
|
|
-import com.kym.service.platform.PlatformApiService;
|
|
|
import com.kym.service.factory.DiscountStrategyFactory;
|
|
|
import com.kym.service.miniapp.*;
|
|
|
+import com.kym.service.platform.PlatformApiService;
|
|
|
+import com.kym.service.platform.PlatformNotifyService;
|
|
|
import jakarta.annotation.PostConstruct;
|
|
|
import org.slf4j.Logger;
|
|
|
import org.slf4j.LoggerFactory;
|
|
|
@@ -37,13 +38,12 @@ import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
* @author skyline
|
|
|
- * @description
|
|
|
- * @date 2023-08-04 14:26
|
|
|
+ * 接收处理互联互通平台推送信息
|
|
|
*/
|
|
|
|
|
|
@Service
|
|
|
-public class EnNotifyServiceImpl implements EnNotifyService {
|
|
|
- private static final Logger LOGGER = LoggerFactory.getLogger(EnNotifyServiceImpl.class);
|
|
|
+public class PlatformNotifySServiceImpl implements PlatformNotifyService {
|
|
|
+ private static final Logger LOGGER = LoggerFactory.getLogger(PlatformNotifySServiceImpl.class);
|
|
|
public final StringRedisTemplate redisTemplate;
|
|
|
private final PlatformApiService enPlusService;
|
|
|
private final ChargeOrderService chargeOrderService;
|
|
|
@@ -53,16 +53,15 @@ public class EnNotifyServiceImpl implements EnNotifyService {
|
|
|
private final MonitorLogService monitorLogService;
|
|
|
private final EquipmentInfoService equipmentInfoService;
|
|
|
private final ConnectorInfoService connectorInfoService;
|
|
|
-
|
|
|
private final UserStationService userStationService;
|
|
|
|
|
|
@Value("${kym.notify-email}")
|
|
|
private String notifyEmail;
|
|
|
|
|
|
- public EnNotifyServiceImpl(PlatformApiService enPlusService, ChargeOrderService chargeOrderService,
|
|
|
- ChargeService chargeService, AccountService accountService, WalletDetailService walletDetailService,
|
|
|
- MonitorLogService monitorLogService, EquipmentInfoService equipmentInfoService,
|
|
|
- ConnectorInfoService connectorInfoService, StringRedisTemplate redisTemplate, UserStationService userStationService) {
|
|
|
+ public PlatformNotifySServiceImpl(PlatformApiService enPlusService, ChargeOrderService chargeOrderService,
|
|
|
+ ChargeService chargeService, AccountService accountService, WalletDetailService walletDetailService,
|
|
|
+ MonitorLogService monitorLogService, EquipmentInfoService equipmentInfoService,
|
|
|
+ ConnectorInfoService connectorInfoService, StringRedisTemplate redisTemplate, UserStationService userStationService) {
|
|
|
this.enPlusService = enPlusService;
|
|
|
this.chargeOrderService = chargeOrderService;
|
|
|
this.chargeService = chargeService;
|
|
|
@@ -91,10 +90,10 @@ public class EnNotifyServiceImpl implements EnNotifyService {
|
|
|
@DS("db-admin")
|
|
|
public String handleNotificationStationStatus(String platformName, JSONObject json) {
|
|
|
var data = enPlusService.signValidation(platformName, json);
|
|
|
- LOGGER.info("【EN+推送】收到充电桩设备状态变化推送:{},解密数据:{}", json, data);
|
|
|
+ LOGGER.info("【{}互联互通平台推送】收到充电桩设备状态变化推送:{},解密数据:{}", platformName, json, data);
|
|
|
// 更新数据库,存入redis,发送邮件通知
|
|
|
- var connectorStatusInfo = JSONObject.parseObject(data).getJSONObject("ConnectorStatusInfo").toJavaObject(EnConnectorStatusInfo.class);
|
|
|
- var connectorId = connectorStatusInfo.getConnectorId();
|
|
|
+ var connectorStatusInfo = JSONObject.parseObject(data).getJSONObject("ConnectorStatusInfo").toJavaObject(PlatformConnectorStatusInfo.class);
|
|
|
+ var connectorId = PlatformConvertUtil.parse2LocalConnectorId(connectorStatusInfo.getConnectorId());
|
|
|
var equipmentId = connectorId.substring(0, 16);
|
|
|
|
|
|
equipmentInfoService.lambdaUpdate()
|
|
|
@@ -167,12 +166,12 @@ public class EnNotifyServiceImpl implements EnNotifyService {
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
@DS("db-miniapp")
|
|
|
public String handleNotificationStartChargeResult(String platformName, JSONObject json) {
|
|
|
- var data = enPlusService.signValidation(platformName,json);
|
|
|
+ var data = enPlusService.signValidation(platformName, json);
|
|
|
LOGGER.info("【EN+推送】收到启动充电结果推送:{},解密数据:{}", json, data);
|
|
|
var obj = JSONObject.parseObject(data);
|
|
|
var startChargeSeq = obj.getString("StartChargeSeq");
|
|
|
var startChargeSeqStat = obj.getIntValue("StartChargeSeqStat");
|
|
|
- var connectorId = obj.getString("ConnectorID");
|
|
|
+ var connectorId = PlatformConvertUtil.parse2LocalConnectorId(obj.getString("ConnectorID"));
|
|
|
var startTime = LocalDateTime.parse(obj.getString("StartTime"), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
|
|
|
|
|
|
// 更新订单状态
|
|
|
@@ -203,7 +202,7 @@ public class EnNotifyServiceImpl implements EnNotifyService {
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public String handleNotificationEquipChargeStatus(String platformName, JSONObject json) {
|
|
|
- var dataStr = enPlusService.signValidation(platformName,json);
|
|
|
+ var dataStr = enPlusService.signValidation(platformName, json);
|
|
|
var data = JSONObject.parseObject(dataStr);
|
|
|
LOGGER.info("【EN+推送】 :{},解密数据:{}", json, data);
|
|
|
var startChargeSeq = data.getString("StartChargeSeq");
|
|
|
@@ -240,7 +239,7 @@ public class EnNotifyServiceImpl implements EnNotifyService {
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public String handleNotificationStopChargeResult(String platformName, JSONObject json) {
|
|
|
- var dataStr = enPlusService.signValidation(platformName,json);
|
|
|
+ var dataStr = enPlusService.signValidation(platformName, json);
|
|
|
var data = JSONObject.parseObject(dataStr);
|
|
|
LOGGER.info("【EN+推送】收到停止充电结果推送:{},解密数据:{}", json, data);
|
|
|
var startChargeSeq = data.getString("StartChargeSeq");
|
|
|
@@ -268,7 +267,7 @@ public class EnNotifyServiceImpl implements EnNotifyService {
|
|
|
@Override
|
|
|
@DSTransactional(rollbackFor = Exception.class)
|
|
|
public String handleNotificationChargeOrderInfo(String platformName, JSONObject json) {
|
|
|
- var dataStr = enPlusService.signValidation(platformName,json);
|
|
|
+ var dataStr = enPlusService.signValidation(platformName, json);
|
|
|
var data = JSONObject.parseObject(dataStr);
|
|
|
LOGGER.info("【EN+推送】收到充电订单信息推送:{},解密数据:{}", json, data);
|
|
|
var startChargeSeq = data.getString("StartChargeSeq");
|