This commit is contained in:
2024-02-28 17:00:31 +08:00
parent 50777ea07a
commit d7459ca721
3 changed files with 33 additions and 13 deletions

View File

@@ -222,8 +222,11 @@ public class OrderController extends BaseController {
RestApiResponse<?> response = null;
try {
// String memberId = getMemberIdByAuthorization(request);
String status = orderService.selectPileStarterStatus(dto.getOrderCode());
response = new RestApiResponse<>(ImmutableMap.of("status", status));
Map<String, String> map = orderService.selectPileStarterStatus(dto.getOrderCode());
response = new RestApiResponse<>(map);
} catch (BusinessException e) {
logger.error("根据订单号查询充电桩启动状态 error", e);
response = new RestApiResponse<>(e.getCode(), e.getMessage());
} catch (Exception e) {
logger.error("根据订单号查询充电桩启动状态 error", e);
response = new RestApiResponse<>(ReturnCodeEnum.CODE_GET_ORDER_DETAIL_ERROR);

View File

@@ -9,6 +9,7 @@ import com.fasterxml.jackson.databind.PropertyNamingStrategies;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.google.common.collect.Sets;
import com.huifu.adapay.core.AdapayCore;
import com.huifu.adapay.core.util.AdapaySign;
@@ -622,17 +623,34 @@ public class OrderService {
/**
* 根据订单号查询充电桩启动状态
*
* @param orderCode
* @return
* @param orderCode 订单编号
* @return 0: 未启动1: 启动成功2: 启动失败
*/
public String selectPileStarterStatus(String orderCode) {
OrderBasicInfo orderInfoByOrderCode = orderBasicInfoService.getOrderInfoByOrderCode(orderCode);
if (orderInfoByOrderCode == null) {
return Constants.ZERO;
public Map<String, String> selectPileStarterStatus(String orderCode) {
OrderBasicInfo orderInfo = orderBasicInfoService.getOrderInfoByOrderCode(orderCode);
if (orderInfo == null) {
throw new BusinessException(ReturnCodeEnum.CODE_QUERY_ORDER_INFO_IS_NULL);
}
List<RealTimeMonitorData> chargingRealTimeData = orderBasicInfoService.getChargingRealTimeData(orderInfoByOrderCode.getTransactionCode());
// 只有充电桩上传的实时数据中的状态为充电,才能查到实时数据列表
return CollectionUtils.isNotEmpty(chargingRealTimeData) ? Constants.ONE : Constants.ZERO;
String status = Constants.ZERO;
String reason = null;
// 如果是订单完成状态
if (StringUtils.equals(orderInfo.getOrderStatus(), OrderStatusEnum.ORDER_COMPLETE.getValue())) {
status = Constants.TWO;
reason = orderInfo.getReason();
} else {
// 查询订单的实时监测数据
List<RealTimeMonitorData> chargingRealTimeData = orderBasicInfoService.getChargingRealTimeData(orderInfo.getTransactionCode());
if (CollectionUtils.isNotEmpty(chargingRealTimeData)) {
// 实时监测数据不为空说明已经在充电中了
status = Constants.ONE;
}
}
Map<String, String> resultMap = Maps.newHashMap();
resultMap.put("status", status);
resultMap.put("reason", reason);
return resultMap;
}
/**

View File

@@ -491,7 +491,6 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService {
.flatUsedElectricity(Constants.ZERO)
.valleyUsedElectricity(Constants.ZERO)
.build();
// settleOrder(data, orderInfo);
// 新逻辑
try {
@@ -499,7 +498,7 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService {
AbstractProgramLogic orderLogic = ProgramLogicFactory.getProgramLogic(mode);
orderLogic.settleOrder(data, orderInfo);
} catch (Exception e) {
logger.error("充电桩启动失败,执行退款逻辑发生异常", e);
logger.error("启动失败退款, orderCode:{}, 执行订单结算逻辑发生异常", orderInfo.getOrderCode(), e);
}
}