refund.ts
2.33 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
/*
* @Author: Auto
* @Date: 2025-01-XX
* @LastEditors: 赵丽婷
* @LastEditTime: 2026-01-08 11:03:31
* @FilePath: \LinkMed\linkmed-vue3\src\api\refund.ts
* @Description: 退费相关API
* Copyright (c) 2025 by 北京连心医疗科技有限公司, All Rights Reserved.
*/
import { service as http } from "@/utils/request";
// ==================== Types ====================
/** 查询可退费金额请求参数 */
export interface GetRefundableAmountParams {
orderId: number; // 订单ID(必需,int64)
}
/** 创建退款申请请求参数 */
export interface CreateRefundRequest {
orderId: number; // 订单ID(必需,int64)
refundAmount: number; // 退款金额(必需,>= 0)
refundReason: string; // 退款原因(必需,>= 1 字符)
}
/** 用户退款记录 */
export interface UserRefundRecord {
id?: number; // ID(可选,int64)
orderId?: number; // 订单ID(可选,int64)
orderNo?: string; // 订单编号(可选)
userId?: number; // 用户ID(可选,int64)
beanTransactionId?: number; // 领医豆交易记录ID(可选,int64)
orderAmount?: number; // 订单金额(可选)
refundAmount?: number; // 退款金额(可选)
actualRefundAmount?: number; // 实际退款金额(可选)
refundReason?: string; // 退款原因(可选)
operateReason?: string; // 操作原因(可选)
status?: 1 | 2 | 3 | 4 | 5 | 6; // 状态(可选,1=申请中,2=审核通过,3=退款中,4=退款完成,5=审核驳回,6=已取消)
operatorId?: number; // 操作员ID(可选,int64)
refundCompleteTime?: string; // 退款请求时间(可选,ISO 8601 日期时间)
createdAt?: string; // 退款完成时间(可选,ISO 8601 日期时间)
updatedAt?: string; // 更新时间(可选,ISO 8601 日期时间)
}
// ==================== APIs ====================
/** 查询订单可退费金额 */
export const getRefundableAmount = (params: GetRefundableAmountParams) =>
http.get<number>("/pay/refund/refundable-amount", {
params,
});
/** 创建退款申请 */
export const createRefundRequest = (payload: CreateRefundRequest) =>
http.post<UserRefundRecord>("/pay/refund/request", payload);
/** 取消退款申请 */
export const cancelRefundRequest = (refundId: number) =>
http.post<UserRefundRecord>(`/pay/refund/${refundId}/cancel`);