trade:【交易售后】回调退款

This commit is contained in:
YunaiV
2022-11-17 01:05:12 +08:00
parent 67050eeaa8
commit ee1d362a7c
12 changed files with 134 additions and 8 deletions

View File

@ -1,6 +1,7 @@
package cn.iocoder.yudao.module.pay.api.refund;
import cn.iocoder.yudao.module.pay.api.refund.dto.PayRefundCreateReqDTO;
import cn.iocoder.yudao.module.pay.api.refund.dto.PayRefundRespDTO;
import javax.validation.Valid;
@ -19,4 +20,12 @@ public interface PayRefundApi {
*/
Long createPayRefund(@Valid PayRefundCreateReqDTO reqDTO);
/**
* 获得退款单
*
* @param id 退款单编号
* @return 退款单
*/
PayRefundRespDTO getPayRefund(Long id);
}

View File

@ -0,0 +1,37 @@
package cn.iocoder.yudao.module.pay.api.refund.dto;
import cn.iocoder.yudao.module.pay.enums.refund.PayRefundStatusEnum;
import lombok.Data;
import java.time.LocalDateTime;
/**
* 退款单信息 Response DTO
*
* TODO 芋艿:还没定好字段
*
* @author 芋道源码
*/
@Data
public class PayRefundRespDTO {
/**
* 退款单编号
*/
private Long id;
// ========== 退款相关字段 ==========
/**
* 退款状态
*
* 枚举 {@link PayRefundStatusEnum}
*/
private Integer status;
// ========== 渠道相关字段 ==========
/**
* 退款成功时间
*/
private LocalDateTime successTime;
}

View File

@ -0,0 +1,29 @@
package cn.iocoder.yudao.module.pay.enums.order;
import cn.iocoder.yudao.framework.common.core.IntArrayValuable;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 支付订单的状态枚举
*
* @author 芋道源码
*/
@Getter
@AllArgsConstructor
public enum PayOrderStatusEnum implements IntArrayValuable {
WAITING(0, "未支付"),
SUCCESS(10, "支付成功"),
CLOSED(20, "支付关闭"), // 未付款交易超时关闭,或支付完成后全额退款 TODO 芋艿:需要优化下
;
private final Integer status;
private final String name;
@Override
public int[] array() {
return new int[0];
}
}

View File

@ -0,0 +1,24 @@
package cn.iocoder.yudao.module.pay.enums.refund;
import lombok.AllArgsConstructor;
import lombok.Getter;
import java.util.Objects;
@Getter
@AllArgsConstructor
public enum PayRefundStatusEnum {
CREATE(0, "退款订单生成"),
SUCCESS(1, "退款成功"),
FAILURE(2, "退款失败"),
CLOSE(99, "退款关闭");
private final Integer status;
private final String name;
public static boolean isSuccess(Integer status) {
return Objects.equals(status, SUCCESS.getStatus());
}
}