update 电单车协议

This commit is contained in:
Guoqs
2024-09-20 08:39:45 +08:00
parent 501e3fc085
commit 9a2af549d8
8 changed files with 123 additions and 17 deletions

View File

@@ -5,7 +5,7 @@ import com.google.common.collect.Lists;
import com.jsowell.common.constant.CacheConstants;
import com.jsowell.common.core.domain.ykc.YKCDataProtocol;
import com.jsowell.common.core.redis.RedisCache;
import com.jsowell.common.enums.ebike.EBikeChargeCommandResponse;
import com.jsowell.common.enums.ebike.EBikeChargeResponseEnum;
import com.jsowell.common.enums.ykc.ChargingFailedReasonEnum;
import com.jsowell.common.enums.ykc.ReturnCodeEnum;
import com.jsowell.common.exception.BusinessException;
@@ -141,7 +141,7 @@ public class PileRemoteService {
// 启动成功
orderBasicInfoService.chargingPileStartedSuccessfully(transactionCode);
} else {
String failedReasonMsg = EBikeChargeCommandResponse.getDescriptionByCode(result);
String failedReasonMsg = EBikeChargeResponseEnum.getDescriptionByCode(result);
// 启动失败 682204000001000000000041
orderBasicInfoService.chargingPileFailedToStart(transactionCode, failedReasonMsg);
}

View File

@@ -3103,8 +3103,8 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService {
*/
@Override
public void payOrderSuccessCallback(PayOrderSuccessCallbackDTO dto) {
logger.info("订单:{}支付成功 支付回调", dto.getOrderCode());
OrderBasicInfo orderInfo = this.getOrderInfoByOrderCode(dto.getOrderCode());
logger.info("订单:{}支付成功支付回调, OrderBasicInfo:{}", dto.getOrderCode(), JSON.toJSONString(orderInfo));
BigDecimal payAmount = dto.getPayAmount();
// 是否发送启动指令

View File

@@ -20,6 +20,7 @@ import com.jsowell.common.enums.DelFlagEnum;
import com.jsowell.common.enums.MemberWalletEnum;
import com.jsowell.common.enums.adapay.AdapayStatusEnum;
import com.jsowell.common.enums.adapay.MerchantDelayModeEnum;
import com.jsowell.common.enums.ebike.EBikeStopReasonEnum;
import com.jsowell.common.enums.ykc.*;
import com.jsowell.common.exception.BusinessException;
import com.jsowell.common.util.AdapayUtil;
@@ -473,7 +474,35 @@ public class DelayMerchantProgramLogic extends AbstractProgramLogic {
@Override
public void settleOrderForEBike(EBikeMessageCmd03 message, OrderBasicInfo orderBasicInfo) {
// 判断订单状态
if (StringUtils.equals(orderBasicInfo.getOrderStatus(), OrderStatusEnum.ORDER_COMPLETE.getValue())) {
logger.info("结算订单:{}, 是订单完成状态", orderBasicInfo.getOrderCode());
return;
}
// 订单状态
orderBasicInfo.setOrderStatus(OrderStatusEnum.ORDER_COMPLETE.getValue());
// 停止原因
orderBasicInfo.setReason(EBikeStopReasonEnum.getDescriptionByCode(message.getStopReason()));
// 更新订单详情
OrderDetail orderDetail = orderBasicInfoService.getOrderDetailByOrderCode(orderBasicInfo.getOrderCode());
if (orderDetail != null) {
orderDetail.setTotalUsedElectricity(message.getConsumedEnergy());
orderDetail.setFlatUsedElectricity(message.getConsumedEnergy());
}
// 更新数据库
OrderTransactionDTO dto = new OrderTransactionDTO();
dto.setOrderBasicInfo(orderBasicInfo);
dto.setOrderDetail(orderDetail);
transactionService.doUpdateOrder(dto);
// 充电时间大于30秒不退费
int chargingTime = message.getChargingTime();
if (chargingTime < 30) {
// 退款
}
}
/**