|
|
@@ -3,6 +3,7 @@ package com.kym.service.miniapp.impl;
|
|
|
import cn.dev33.satoken.stp.StpUtil;
|
|
|
import com.alibaba.fastjson2.JSONObject;
|
|
|
import com.baomidou.dynamic.datasource.annotation.DS;
|
|
|
+import com.baomidou.dynamic.datasource.annotation.DSTransactional;
|
|
|
import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder;
|
|
|
import com.kym.common.cache.ConnectorStatusCache;
|
|
|
import com.kym.common.config.EnPlusConfig;
|
|
|
@@ -176,6 +177,7 @@ public class ChargeServiceImpl implements ChargeService {
|
|
|
* @return
|
|
|
*/
|
|
|
@Override
|
|
|
+ @DSTransactional(rollbackFor = Exception.class)
|
|
|
public Map<String, String> queryStartCharge(Long userId, String connectorId, Long userRechargeRightsId, Boolean isBooking, LocalDateTime startTime, LocalDateTime endTime) {
|
|
|
var map = getConnectorIdAndStationId(connectorId);
|
|
|
connectorId = map.get("connectorId");
|
|
|
@@ -289,9 +291,17 @@ public class ChargeServiceImpl implements ChargeService {
|
|
|
|
|
|
if (equipAuth.containsKey("SuccStat") && equipAuth.getIntValue("SuccStat") == 0) {
|
|
|
// 启动充电
|
|
|
- var startCharge = enPlusService.queryStartCharge(order.getStartChargeSeq(), connectorId, qrCode, amount);
|
|
|
+ JSONObject startCharge = null;
|
|
|
|
|
|
- if (startCharge.containsKey("SuccStat") && startCharge.getIntValue("SuccStat") == 0) {
|
|
|
+ try {
|
|
|
+ startCharge = enPlusService.queryStartCharge(order.getStartChargeSeq(), connectorId, qrCode, amount);
|
|
|
+ } catch (Exception e) {
|
|
|
+ // 这里可能超时,忽略
|
|
|
+ LOGGER.error("EN+启动充电超时,订单:{}", order.getStartChargeSeq(), e);
|
|
|
+ return Map.of("startChargeSeq", order.getStartChargeSeq());
|
|
|
+ }
|
|
|
+
|
|
|
+ if (startCharge != null && startCharge.containsKey("SuccStat") && startCharge.getIntValue("SuccStat") == 0) {
|
|
|
// 启动成功,更新充电订单状态
|
|
|
chargeOrderService.lambdaUpdate()
|
|
|
.set(ChargeOrder::getIsBooking, ChargeOrder.IS_BOOKING_否)
|