gaoluyang
2026-06-24 712aa51536236d43e87273e4ce45ac5691dffad8
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
import type { PageParam, PageResult } from '..\..\..\..\packages\effects\request\src';
 
import type { MallOrderApi } from '#/api/mall/trade/order';
 
import { requestClient } from '#/api/request';
 
export namespace MallAfterSaleApi {
  /** 交易售后 */
  export interface AfterSale {
    id?: number; // 售后编号
    no?: string; // 售后单号
    status?: number; // 退款状态
    way?: number; // 售后方式
    type?: number; // 售后类型
    userId?: number; // 用户编号
    applyReason?: string; // 申请原因
    applyDescription?: string; // 补充描述
    applyPicUrls?: string[]; // 补充凭证图片
    orderId?: number; // 交易订单编号
    orderNo?: string; // 订单流水号
    orderItemId?: number; // 交易订单项编号
    spuId?: number; // 商品 SPU 编号
    spuName?: string; // 商品 SPU 名称
    skuId?: number; // 商品 SKU 编号
    properties?: {
      propertyId?: number; // 属性的编号
      propertyName?: string; // 属性的名称
      valueId?: number; // 属性值的编号
      valueName?: string; // 属性值的名称
    }[]; // 属性数组
    picUrl?: string; // 商品图片
    count?: number; // 退货商品数量
    auditTime?: Date; // 审批时间
    auditUserId?: number; // 审批人
    auditReason?: string; // 审批备注
    refundPrice?: number; // 退款金额,单位:分
    payRefundId?: number; // 支付退款编号
    refundTime?: Date; // 退款时间
    logisticsId?: number; // 退货物流公司编号
    logisticsNo?: string; // 退货物流单号
    deliveryTime?: Date; // 退货时间
    receiveTime?: Date; // 收货时间
    receiveReason?: string; // 收货备注
    order?: MallOrderApi.Order; // 关联订单
    orderItem?: MallOrderApi.OrderItem; // 关联订单项
    logs?: any[]; // 关联售后日志
  }
 
  /** 拒绝售后请求 */
  export interface AfterSaleDisagreeReqVO {
    /** 售后编号 */
    id: number;
    /** 拒绝原因 */
    reason: string;
  }
}
 
/** 获得交易售后分页 */
export function getAfterSalePage(params: PageParam) {
  return requestClient.get<PageResult<MallAfterSaleApi.AfterSale>>(
    '/trade/after-sale/page',
    { params },
  );
}
 
/** 获得交易售后详情 */
export function getAfterSale(id: number) {
  return requestClient.get<MallAfterSaleApi.AfterSale>(
    `/trade/after-sale/get-detail?id=${id}`,
  );
}
 
/** 同意售后 */
export function agreeAfterSale(id: number) {
  return requestClient.put(`/trade/after-sale/agree?id=${id}`);
}
 
/** 拒绝售后 */
export function disagreeAfterSale(
  data: MallAfterSaleApi.AfterSaleDisagreeReqVO,
) {
  return requestClient.put('/trade/after-sale/disagree', data);
}
 
/** 确认收货 */
export function receiveAfterSale(id: number) {
  return requestClient.put(`/trade/after-sale/receive?id=${id}`);
}
 
/** 拒绝收货 */
export function refuseAfterSale(id: number) {
  return requestClient.put(`/trade/after-sale/refuse?id=${id}`);
}
 
/** 确认退款 */
export function refundAfterSale(id: number) {
  return requestClient.put(`/trade/after-sale/refund?id=${id}`);
}