修改退款成功时间,使用支付平台返回的时间退款成功时间;修正订单详情对应字段

This commit is contained in:
jkcdev 2025-05-22 13:54:38 +08:00
parent 31d929c99d
commit 043642f1b1
2 changed files with 23 additions and 6 deletions

View File

@ -90,10 +90,11 @@ public class EbikePaymentServiceImpl extends ServiceImpl<EbikePaymentMapper, Ebi
@Override @Override
public Map getOrderDetail(String orderId) { public Map getOrderDetail(String orderId) {
QueryWrapper query = QueryWrapper.create() QueryWrapper query = QueryWrapper.create()
.select(EBIKE_PAYMENT.COST_PRICE.as("totalAmount"), EBIKE_PAYMENT.TOTAL.as("actualAmount"),EBIKE_USER_ORDERS.BIKE_CODE.as("bikeCode"), .select(EBIKE_PAYMENT.COST_PRICE.as("totalAmount"), EBIKE_PAYMENT.TOTAL.as("actualAmount"),
EBIKE_USER_ORDERS.ORDER_ID.as("orderId"), EBIKE_USER_ORDERS.BIKE_CODE, EBIKE_USER_ORDERS.CREATED_AT.as("unLockTime"), EBIKE_USER_ORDERS.ORDER_ID.as("orderId"), EBIKE_USER_ORDERS.BIKE_CODE.as("bikeCode"),
EBIKE_USER_ORDERS.END_TIME.as("lockTime"), EBIKE_USER_ORDERS.CREATED_AT.as("createTime"), EBIKE_USER_ORDERS.START_TIME.as("unLockTime"), EBIKE_USER_ORDERS.END_TIME.as("lockTime"),
EBIKE_USER_ORDERS.END_TIME.as("endTime"), EBIKE_USER.NICKNAME.as("userName"), EBIKE_USER.MOBILE.as("phone"), EBIKE_USER_ORDERS.CREATED_AT.as("createTime"), EBIKE_USER_ORDERS.END_TIME.as("endTime"),
EBIKE_USER.NICKNAME.as("userName"), EBIKE_USER.MOBILE.as("phone"),
EBIKE_USER_ORDERS.RIDE_POINT.as("borrowCarCoordinate"), EBIKE_USER_ORDERS.RETURN_POINT.as("returnCarCoordinate"), EBIKE_USER_ORDERS.RIDE_POINT.as("borrowCarCoordinate"), EBIKE_USER_ORDERS.RETURN_POINT.as("returnCarCoordinate"),
EBIKE_PAYMENT.PAYMENT_TIME.as("payTime"), QueryMethods.case_(EBIKE_PAYMENT.PAYMENT_METHOD) EBIKE_PAYMENT.PAYMENT_TIME.as("payTime"), QueryMethods.case_(EBIKE_PAYMENT.PAYMENT_METHOD)
.when(PayMethod.wechat.name()).then("微信支付") .when(PayMethod.wechat.name()).then("微信支付")

View File

@ -2,6 +2,7 @@ package com.cdzy.payment.service.impl;
import com.cdzy.payment.model.dto.*; import com.cdzy.payment.model.dto.*;
import com.cdzy.payment.model.enums.PayMethod; import com.cdzy.payment.model.enums.PayMethod;
import com.cdzy.payment.utils.StringUtils;
import com.ebike.feign.clients.OrdersFeignClient; import com.ebike.feign.clients.OrdersFeignClient;
import com.mybatisflex.core.paginate.Page; import com.mybatisflex.core.paginate.Page;
import com.mybatisflex.core.query.QueryMethods; import com.mybatisflex.core.query.QueryMethods;
@ -66,12 +67,27 @@ public class EbikeRefundServiceImpl extends ServiceImpl<EbikeRefundMapper, Ebike
return getOne(query); return getOne(query);
} }
/**
* 通过退款订单号查询退款记录
*
* @param refundOrderId 退款订单号
* @return 退款记录
*/
private EbikeRefund getByRefundOrderId(String refundOrderId) {
// create_time到排序取最新的一条
QueryWrapper query = QueryWrapper.create()
.where(EBIKE_REFUND.REFUND_ORDER.eq(refundOrderId))
.orderBy(EBIKE_REFUND.CREATE_TIME.desc());
return getOne(query);
}
@Override @Override
public Boolean updateRefundStatus(Refund refund) { public Boolean updateRefundStatus(Refund refund) {
EbikeRefund ebikeRefund = getByOrderId(refund.getOutTradeNo()); EbikeRefund ebikeRefund = getByRefundOrderId(refund.getOutRefundNo());
ebikeRefund.setStatus(String.valueOf(refund.getStatus().ordinal())); ebikeRefund.setStatus(String.valueOf(refund.getStatus().ordinal()));
if (Status.SUCCESS.equals(refund.getStatus())) { if (Status.SUCCESS.equals(refund.getStatus())) {
ebikeRefund.setRefundTime(LocalDateTime.now()); String refundTime = refund.getSuccessTime();
ebikeRefund.setRefundTime(StringUtils.toLocalDatetime(refundTime));
ebikeRefund.setRefund(refund.getAmount().getRefund().doubleValue() / 100.0); ebikeRefund.setRefund(refund.getAmount().getRefund().doubleValue() / 100.0);
} }
long orderId = Long.parseLong(refund.getOutTradeNo()); long orderId = Long.parseLong(refund.getOutTradeNo());