完成退款列表,增加车辆编号、骑行起止时间,便于查询骑行轨迹
This commit is contained in:
parent
2494cdad98
commit
518bfb8ae9
@ -68,12 +68,12 @@ public class EbikeWxPaymentController {
|
|||||||
* 退款申请
|
* 退款申请
|
||||||
*
|
*
|
||||||
* @param refundDto 退款信息
|
* @param refundDto 退款信息
|
||||||
* @return 退款成功返回true,否则返回false
|
* @return 退款成功返回主键id,否则返回失败
|
||||||
*/
|
*/
|
||||||
@PostMapping("/refundApply")
|
@PostMapping("/refundApply")
|
||||||
public JsonResult<?> refundApply(@RequestBody EbikeRefundDto refundDto) {
|
public JsonResult<?> refundApply(@RequestBody EbikeRefundDto refundDto) {
|
||||||
String r = wxPayService.refundApply(refundDto.getOrderId(), refundDto.getReason());
|
String r = wxPayService.refundApply(refundDto.getOrderId(), refundDto.getReason());
|
||||||
return r == null?JsonResult.failed("退款失败"):JsonResult.success(r);
|
return r == null?JsonResult.failed("退款申请失败"):JsonResult.success((Object) r);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -17,7 +17,7 @@ import java.util.List;
|
|||||||
public class ReqRefundDto {
|
public class ReqRefundDto {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 退款单号
|
* 主键id
|
||||||
*/
|
*/
|
||||||
private String refundId;
|
private String refundId;
|
||||||
|
|
||||||
|
|||||||
@ -17,7 +17,7 @@ import java.util.List;
|
|||||||
public class ReqRefundProcessDto {
|
public class ReqRefundProcessDto {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 退款单号
|
* 主键id
|
||||||
*/
|
*/
|
||||||
private String refundId;
|
private String refundId;
|
||||||
|
|
||||||
|
|||||||
@ -76,4 +76,19 @@ public class ResApplyRefundDto {
|
|||||||
*/
|
*/
|
||||||
private String applicant;
|
private String applicant;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 骑行设备编号
|
||||||
|
*/
|
||||||
|
private String ebikeCode;;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 骑行开始时间
|
||||||
|
*/
|
||||||
|
private LocalDateTime startTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 骑行开始时间
|
||||||
|
*/
|
||||||
|
private LocalDateTime endTime;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -86,4 +86,19 @@ public class ResCloseRefundDto {
|
|||||||
*/
|
*/
|
||||||
private String applicant;
|
private String applicant;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 骑行设备编号
|
||||||
|
*/
|
||||||
|
private String ebikeCode;;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 骑行开始时间
|
||||||
|
*/
|
||||||
|
private LocalDateTime startTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 骑行开始时间
|
||||||
|
*/
|
||||||
|
private LocalDateTime endTime;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -81,4 +81,19 @@ public class ResHandleRefundDto {
|
|||||||
*/
|
*/
|
||||||
private String applicant;
|
private String applicant;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 骑行设备编号
|
||||||
|
*/
|
||||||
|
private String ebikeCode;;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 骑行开始时间
|
||||||
|
*/
|
||||||
|
private LocalDateTime startTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 骑行开始时间
|
||||||
|
*/
|
||||||
|
private LocalDateTime endTime;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -106,4 +106,19 @@ public class ResProcessedRefundDto {
|
|||||||
*/
|
*/
|
||||||
private String applicant;
|
private String applicant;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 骑行设备编号
|
||||||
|
*/
|
||||||
|
private String ebikeCode;;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 骑行开始时间
|
||||||
|
*/
|
||||||
|
private LocalDateTime startTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 骑行开始时间
|
||||||
|
*/
|
||||||
|
private LocalDateTime endTime;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -34,6 +34,11 @@ public class EbikeRefund implements Serializable {
|
|||||||
@Id
|
@Id
|
||||||
private String refundId;
|
private String refundId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 退款单号
|
||||||
|
*/
|
||||||
|
private String refundOrder;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 骑行订单号
|
* 骑行订单号
|
||||||
*/
|
*/
|
||||||
@ -116,4 +121,14 @@ public class EbikeRefund implements Serializable {
|
|||||||
*/
|
*/
|
||||||
private LocalDateTime processTime ;
|
private LocalDateTime processTime ;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 审核人
|
||||||
|
*/
|
||||||
|
private String reviewOperator ;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 退款人
|
||||||
|
*/
|
||||||
|
private String refundOperator ;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -0,0 +1,136 @@
|
|||||||
|
package com.cdzy.payment.model.entity;
|
||||||
|
|
||||||
|
import com.mybatisflex.annotation.Column;
|
||||||
|
import com.mybatisflex.annotation.Id;
|
||||||
|
import com.mybatisflex.annotation.Table;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Builder;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
import java.io.Serial;
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户订单表 实体类。
|
||||||
|
*
|
||||||
|
* @author attiya
|
||||||
|
* @since 2025-03-28
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@Builder
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
@Table("ebike_user_orders")
|
||||||
|
public class EbikeUserOrders implements Serializable {
|
||||||
|
|
||||||
|
@Serial
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分布式ID(雪花算法或业务前缀+序列)
|
||||||
|
*/
|
||||||
|
@Id
|
||||||
|
private Long orderId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户ID,关联用户表
|
||||||
|
*/
|
||||||
|
private String userId;
|
||||||
|
|
||||||
|
private String bikeId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 订单类型:1-单次骑行 2-骑行卡购买 3-会员卡续费
|
||||||
|
*/
|
||||||
|
private Integer orderType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 状态:0-进行中 1-已取消 2-待支付 3-已支付 4-退款中 5-已退款
|
||||||
|
*/
|
||||||
|
@Column(onInsertValue = "0")
|
||||||
|
private Integer status;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 订单总金额(单位:元)
|
||||||
|
*/
|
||||||
|
private BigDecimal totalAmount;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 实付金额(扣除卡券优惠后)
|
||||||
|
*/
|
||||||
|
private BigDecimal actualAmount;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 骑行开始时间(仅骑行订单有效)
|
||||||
|
*/
|
||||||
|
private LocalDateTime startTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 骑行结束时间(仅骑行订单有效)
|
||||||
|
*/
|
||||||
|
private LocalDateTime endTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 支付成功时间
|
||||||
|
*/
|
||||||
|
private LocalDateTime paymentTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 支付方式:wechat/alipay/balance
|
||||||
|
*/
|
||||||
|
private String paymentMethod;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 使用卡券ID集合(JSON数组)
|
||||||
|
*/
|
||||||
|
private String couponIds;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 优惠明细(结构化存储,便于对账)
|
||||||
|
*/
|
||||||
|
private String discountDetails;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 骑行设备编号(仅骑行订单有效)
|
||||||
|
*/
|
||||||
|
private String bikeCode;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 地理位置GeoHash编码(用于区域优惠分析)
|
||||||
|
*/
|
||||||
|
private String geoHash;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 创建时间
|
||||||
|
*/
|
||||||
|
@Column(onInsertValue = "now()")
|
||||||
|
private LocalDateTime createdAt;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 更新时间
|
||||||
|
*/
|
||||||
|
@Column(onUpdateValue = "now()")
|
||||||
|
private LocalDateTime updatedAt;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 骑行起始点
|
||||||
|
*/
|
||||||
|
private String ridePoint;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 骑行结束点
|
||||||
|
*/
|
||||||
|
private String returnPoint;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 0-未临时锁车 -1临时锁车
|
||||||
|
*/
|
||||||
|
private Integer tempLock;
|
||||||
|
|
||||||
|
@Column(isLogicDelete = true,onInsertValue = "0")
|
||||||
|
private Integer isDelete;
|
||||||
|
|
||||||
|
}
|
||||||
@ -20,6 +20,7 @@ import java.util.List;
|
|||||||
|
|
||||||
import static com.cdzy.payment.model.entity.table.EbikePaymentTableDef.EBIKE_PAYMENT;
|
import static com.cdzy.payment.model.entity.table.EbikePaymentTableDef.EBIKE_PAYMENT;
|
||||||
import static com.cdzy.payment.model.entity.table.EbikeRefundTableDef.EBIKE_REFUND;
|
import static com.cdzy.payment.model.entity.table.EbikeRefundTableDef.EBIKE_REFUND;
|
||||||
|
import static com.cdzy.payment.model.entity.table.EbikeUserOrdersTableDef.EBIKE_USER_ORDERS;
|
||||||
import static com.cdzy.payment.model.entity.table.EbikeUserTableDef.EBIKE_USER;
|
import static com.cdzy.payment.model.entity.table.EbikeUserTableDef.EBIKE_USER;
|
||||||
import static com.cdzy.payment.model.enums.RefundProcessState.*;
|
import static com.cdzy.payment.model.enums.RefundProcessState.*;
|
||||||
import static com.mybatisflex.core.constant.FuncName.*;
|
import static com.mybatisflex.core.constant.FuncName.*;
|
||||||
@ -91,10 +92,12 @@ public class EbikeRefundServiceImpl extends ServiceImpl<EbikeRefundMapper, Ebike
|
|||||||
.when(PayMethod.balance.name()).then("余额").end().as("pay_method"),
|
.when(PayMethod.balance.name()).then("余额").end().as("pay_method"),
|
||||||
EBIKE_PAYMENT.PAYMENT_TIME.as("pay_time"), EBIKE_REFUND.REASON.as("apply_reason"),
|
EBIKE_PAYMENT.PAYMENT_TIME.as("pay_time"), EBIKE_REFUND.REASON.as("apply_reason"),
|
||||||
QueryMethods.case_(EBIKE_REFUND.SOURCE).when("0").then("用户")
|
QueryMethods.case_(EBIKE_REFUND.SOURCE).when("0").then("用户")
|
||||||
.when("1").then("客服").end().as("source"), EBIKE_USER.NICKNAME.as("applicant")
|
.when("1").then("客服").end().as("source"), EBIKE_USER.NICKNAME.as("applicant"),
|
||||||
|
EBIKE_USER_ORDERS.BIKE_CODE.as("ebike_code"),EBIKE_USER_ORDERS.START_TIME.as("start_time"), EBIKE_USER_ORDERS.END_TIME.as("end_time")
|
||||||
)
|
)
|
||||||
.leftJoin(EBIKE_PAYMENT).on(EBIKE_PAYMENT.ORDER_ID.eq(EBIKE_REFUND.ORDER_ID))
|
.leftJoin(EBIKE_PAYMENT).on(EBIKE_PAYMENT.ORDER_ID.eq(EBIKE_REFUND.ORDER_ID))
|
||||||
.leftJoin(EBIKE_USER).on(EBIKE_USER.USER_ID.eq(EBIKE_PAYMENT.USER_ID))
|
.leftJoin(EBIKE_USER).on(EBIKE_USER.USER_ID.eq(EBIKE_PAYMENT.USER_ID))
|
||||||
|
.leftJoin(EBIKE_USER_ORDERS).on(EBIKE_USER_ORDERS.ORDER_ID.eq(EBIKE_REFUND.ORDER_ID))
|
||||||
.where(EBIKE_REFUND.PROCESS_STATE.eq(String.valueOf(applying.ordinal())));
|
.where(EBIKE_REFUND.PROCESS_STATE.eq(String.valueOf(applying.ordinal())));
|
||||||
if(refundDto.getPhone() != null && !refundDto.getPhone().isEmpty())
|
if(refundDto.getPhone() != null && !refundDto.getPhone().isEmpty())
|
||||||
query.and(EBIKE_USER.MOBILE.like(refundDto.getPhone()));
|
query.and(EBIKE_USER.MOBILE.like(refundDto.getPhone()));
|
||||||
@ -124,10 +127,12 @@ public class EbikeRefundServiceImpl extends ServiceImpl<EbikeRefundMapper, Ebike
|
|||||||
.when("2").then("线下退款").end().as("refund_method"),
|
.when("2").then("线下退款").end().as("refund_method"),
|
||||||
EBIKE_PAYMENT.PAYMENT_TIME.as("pay_time"), EBIKE_REFUND.REASON.as("apply_reason"),
|
EBIKE_PAYMENT.PAYMENT_TIME.as("pay_time"), EBIKE_REFUND.REASON.as("apply_reason"),
|
||||||
QueryMethods.case_(EBIKE_REFUND.SOURCE).when("0").then("用户")
|
QueryMethods.case_(EBIKE_REFUND.SOURCE).when("0").then("用户")
|
||||||
.when("1").then("客服").end().as("source"), EBIKE_USER.NICKNAME.as("applicant")
|
.when("1").then("客服").end().as("source"), EBIKE_USER.NICKNAME.as("applicant"),
|
||||||
|
EBIKE_USER_ORDERS.BIKE_CODE.as("ebike_code"),EBIKE_USER_ORDERS.START_TIME.as("start_time"), EBIKE_USER_ORDERS.END_TIME.as("end_time")
|
||||||
)
|
)
|
||||||
.leftJoin(EBIKE_PAYMENT).on(EBIKE_PAYMENT.ORDER_ID.eq(EBIKE_REFUND.ORDER_ID))
|
.leftJoin(EBIKE_PAYMENT).on(EBIKE_PAYMENT.ORDER_ID.eq(EBIKE_REFUND.ORDER_ID))
|
||||||
.leftJoin(EBIKE_USER).on(EBIKE_USER.USER_ID.eq(EBIKE_PAYMENT.USER_ID))
|
.leftJoin(EBIKE_USER).on(EBIKE_USER.USER_ID.eq(EBIKE_PAYMENT.USER_ID))
|
||||||
|
.leftJoin(EBIKE_USER_ORDERS).on(EBIKE_USER_ORDERS.ORDER_ID.eq(EBIKE_REFUND.ORDER_ID))
|
||||||
.where(EBIKE_REFUND.PROCESS_STATE.eq(String.valueOf(processing.ordinal())));
|
.where(EBIKE_REFUND.PROCESS_STATE.eq(String.valueOf(processing.ordinal())));
|
||||||
if(refundDto.getPhone() != null && !refundDto.getPhone().isEmpty())
|
if(refundDto.getPhone() != null && !refundDto.getPhone().isEmpty())
|
||||||
query.and(EBIKE_USER.MOBILE.like(refundDto.getPhone()));
|
query.and(EBIKE_USER.MOBILE.like(refundDto.getPhone()));
|
||||||
@ -162,10 +167,12 @@ public class EbikeRefundServiceImpl extends ServiceImpl<EbikeRefundMapper, Ebike
|
|||||||
.when("2").then("线下退款").end().as("refund_method"),
|
.when("2").then("线下退款").end().as("refund_method"),
|
||||||
EBIKE_PAYMENT.PAYMENT_TIME.as("pay_time"), EBIKE_REFUND.REASON.as("apply_reason"),
|
EBIKE_PAYMENT.PAYMENT_TIME.as("pay_time"), EBIKE_REFUND.REASON.as("apply_reason"),
|
||||||
QueryMethods.case_(EBIKE_REFUND.SOURCE).when("0").then("用户")
|
QueryMethods.case_(EBIKE_REFUND.SOURCE).when("0").then("用户")
|
||||||
.when("1").then("客服").end().as("source"), EBIKE_USER.NICKNAME.as("applicant")
|
.when("1").then("客服").end().as("source"), EBIKE_USER.NICKNAME.as("applicant"),
|
||||||
|
EBIKE_USER_ORDERS.BIKE_CODE.as("ebike_code"),EBIKE_USER_ORDERS.START_TIME.as("start_time"), EBIKE_USER_ORDERS.END_TIME.as("end_time")
|
||||||
)
|
)
|
||||||
.leftJoin(EBIKE_PAYMENT).on(EBIKE_PAYMENT.ORDER_ID.eq(EBIKE_REFUND.ORDER_ID))
|
.leftJoin(EBIKE_PAYMENT).on(EBIKE_PAYMENT.ORDER_ID.eq(EBIKE_REFUND.ORDER_ID))
|
||||||
.leftJoin(EBIKE_USER).on(EBIKE_USER.USER_ID.eq(EBIKE_PAYMENT.USER_ID))
|
.leftJoin(EBIKE_USER).on(EBIKE_USER.USER_ID.eq(EBIKE_PAYMENT.USER_ID))
|
||||||
|
.leftJoin(EBIKE_USER_ORDERS).on(EBIKE_USER_ORDERS.ORDER_ID.eq(EBIKE_REFUND.ORDER_ID))
|
||||||
.where(EBIKE_REFUND.PROCESS_STATE.eq(String.valueOf(processed.ordinal())));
|
.where(EBIKE_REFUND.PROCESS_STATE.eq(String.valueOf(processed.ordinal())));
|
||||||
if(refundDto.getPhone() != null && !refundDto.getPhone().isEmpty())
|
if(refundDto.getPhone() != null && !refundDto.getPhone().isEmpty())
|
||||||
query.and(EBIKE_USER.MOBILE.like(refundDto.getPhone()));
|
query.and(EBIKE_USER.MOBILE.like(refundDto.getPhone()));
|
||||||
@ -192,10 +199,12 @@ public class EbikeRefundServiceImpl extends ServiceImpl<EbikeRefundMapper, Ebike
|
|||||||
.when(PayMethod.balance.name()).then("余额").end().as("pay_method"),
|
.when(PayMethod.balance.name()).then("余额").end().as("pay_method"),
|
||||||
EBIKE_PAYMENT.PAYMENT_TIME.as("pay_time"), EBIKE_REFUND.REASON.as("apply_reason"),
|
EBIKE_PAYMENT.PAYMENT_TIME.as("pay_time"), EBIKE_REFUND.REASON.as("apply_reason"),
|
||||||
QueryMethods.case_(EBIKE_REFUND.SOURCE).when("0").then("用户")
|
QueryMethods.case_(EBIKE_REFUND.SOURCE).when("0").then("用户")
|
||||||
.when("1").then("客服").end().as("source"), EBIKE_USER.NICKNAME.as("applicant")
|
.when("1").then("客服").end().as("source"), EBIKE_USER.NICKNAME.as("applicant"),
|
||||||
|
EBIKE_USER_ORDERS.BIKE_CODE.as("ebike_code"),EBIKE_USER_ORDERS.START_TIME.as("start_time"), EBIKE_USER_ORDERS.END_TIME.as("end_time")
|
||||||
)
|
)
|
||||||
.leftJoin(EBIKE_PAYMENT).on(EBIKE_PAYMENT.ORDER_ID.eq(EBIKE_REFUND.ORDER_ID))
|
.leftJoin(EBIKE_PAYMENT).on(EBIKE_PAYMENT.ORDER_ID.eq(EBIKE_REFUND.ORDER_ID))
|
||||||
.leftJoin(EBIKE_USER).on(EBIKE_USER.USER_ID.eq(EBIKE_PAYMENT.USER_ID))
|
.leftJoin(EBIKE_USER).on(EBIKE_USER.USER_ID.eq(EBIKE_PAYMENT.USER_ID))
|
||||||
|
.leftJoin(EBIKE_USER_ORDERS).on(EBIKE_USER_ORDERS.ORDER_ID.eq(EBIKE_REFUND.ORDER_ID))
|
||||||
.where(EBIKE_REFUND.PROCESS_STATE.eq(String.valueOf(closed.ordinal())));
|
.where(EBIKE_REFUND.PROCESS_STATE.eq(String.valueOf(closed.ordinal())));
|
||||||
if(refundDto.getPhone() != null && !refundDto.getPhone().isEmpty())
|
if(refundDto.getPhone() != null && !refundDto.getPhone().isEmpty())
|
||||||
query.and(EBIKE_USER.MOBILE.like(refundDto.getPhone()));
|
query.and(EBIKE_USER.MOBILE.like(refundDto.getPhone()));
|
||||||
|
|||||||
@ -359,7 +359,7 @@ public class WxPayServiceImpl implements WxPayService {
|
|||||||
String outRefundNo = StringUtils.generateSnowflakeId("refundId");
|
String outRefundNo = StringUtils.generateSnowflakeId("refundId");
|
||||||
ebikeRefund = new EbikeRefund();
|
ebikeRefund = new EbikeRefund();
|
||||||
ebikeRefund.setCreateTime(LocalDateTime.now());
|
ebikeRefund.setCreateTime(LocalDateTime.now());
|
||||||
ebikeRefund.setRefundId(outRefundNo);
|
ebikeRefund.setRefundOrder(outRefundNo);
|
||||||
ebikeRefund.setOrderId(outTradeNo);
|
ebikeRefund.setOrderId(outTradeNo);
|
||||||
ebikeRefund.setCurrency(ebikePayment.getCurrency());
|
ebikeRefund.setCurrency(ebikePayment.getCurrency());
|
||||||
ebikeRefund.setTotal(ebikePayment.getCostPrice());
|
ebikeRefund.setTotal(ebikePayment.getCostPrice());
|
||||||
@ -370,7 +370,7 @@ public class WxPayServiceImpl implements WxPayService {
|
|||||||
ebikeRefund.setProcessState(String.valueOf(RefundProcessState.applying.ordinal()));
|
ebikeRefund.setProcessState(String.valueOf(RefundProcessState.applying.ordinal()));
|
||||||
ebikeRefund.setSource(String.valueOf(RefoundApplySource.user.ordinal()));
|
ebikeRefund.setSource(String.valueOf(RefoundApplySource.user.ordinal()));
|
||||||
ebikeRefundService.saveRefundResult(ebikeRefund);
|
ebikeRefundService.saveRefundResult(ebikeRefund);
|
||||||
return outRefundNo;
|
return ebikeRefund.getRefundId();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -406,6 +406,23 @@ public class WxPayServiceImpl implements WxPayService {
|
|||||||
result_.setMessage(String.format("{%s}退款申请不存在", refundDto.getRefundId()));
|
result_.setMessage(String.format("{%s}退款申请不存在", refundDto.getRefundId()));
|
||||||
return result_;
|
return result_;
|
||||||
}
|
}
|
||||||
|
// 检查退款状态
|
||||||
|
if (String.valueOf(Status.SUCCESS.ordinal()).equals(ebikeRefund.getStatus())) {
|
||||||
|
log.error("退款refund失败,{} 退款已经成功,不能重复退款", refundDto.getRefundId());
|
||||||
|
result_.setMessage(String.format("{%s}退款已经成功,不能重复退款", refundDto.getRefundId()));
|
||||||
|
return result_;
|
||||||
|
}
|
||||||
|
if (String.valueOf(Status.PROCESSING.ordinal()).equals(ebikeRefund.getStatus())) {
|
||||||
|
log.error("退款refund失败,{} 退款中,不能重复退款", refundDto.getRefundId());
|
||||||
|
result_.setMessage(String.format("{%s}退款中,不能重复退款", refundDto.getRefundId()));
|
||||||
|
return result_;
|
||||||
|
}
|
||||||
|
if (String.valueOf(Status.CLOSED.ordinal()).equals(ebikeRefund.getStatus())||
|
||||||
|
String.valueOf(Status.ABNORMAL.ordinal()).equals(ebikeRefund.getStatus())) {
|
||||||
|
//重新发起
|
||||||
|
String new_order = StringUtils.generateSnowflakeId("refundId");
|
||||||
|
ebikeRefund.setRefundOrder(new_order);
|
||||||
|
}
|
||||||
// 查询支付记录
|
// 查询支付记录
|
||||||
String outTradeNo = ebikeRefund.getOrderId();
|
String outTradeNo = ebikeRefund.getOrderId();
|
||||||
EbikePayment ebikePayment = ebikePaymentService.getByOrderId(outTradeNo);
|
EbikePayment ebikePayment = ebikePaymentService.getByOrderId(outTradeNo);
|
||||||
@ -418,7 +435,7 @@ public class WxPayServiceImpl implements WxPayService {
|
|||||||
CreateRequest request = new CreateRequest();
|
CreateRequest request = new CreateRequest();
|
||||||
request.setTransactionId(transactionId);
|
request.setTransactionId(transactionId);
|
||||||
request.setOutTradeNo(outTradeNo);
|
request.setOutTradeNo(outTradeNo);
|
||||||
request.setOutRefundNo(ebikeRefund.getRefundId());
|
request.setOutRefundNo(ebikeRefund.getRefundOrder());
|
||||||
request.setReason(ebikeRefund.getReason());
|
request.setReason(ebikeRefund.getReason());
|
||||||
request.setNotifyUrl(wxPayConfig.getRefundNotifyUrl());
|
request.setNotifyUrl(wxPayConfig.getRefundNotifyUrl());
|
||||||
AmountReq amountReq = new AmountReq();
|
AmountReq amountReq = new AmountReq();
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user