mirror of
https://github.com/Rain-kl/OpenFlare.git
synced 2026-10-11 17:56:37 +08:00
压缩历史至 95081aff
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
/**
|
||||
* 交易服务模块
|
||||
*
|
||||
* @description
|
||||
* 提供交易相关的功能,包括:
|
||||
* - 查询交易记录列表(分页)
|
||||
*
|
||||
* @example
|
||||
* ```typescript
|
||||
* import { TransactionService } from '@/lib/services';
|
||||
*
|
||||
* // 查询交易记录
|
||||
* const result = await TransactionService.getTransactions({
|
||||
* page: 1,
|
||||
* page_size: 20,
|
||||
* types: ['receive'],
|
||||
* statuses: ['success'],
|
||||
* payee_transfer_status: 'pending',
|
||||
* });
|
||||
* ```
|
||||
*/
|
||||
|
||||
export { TransactionService } from './transaction.service';
|
||||
export { DEFAULT_ORDER_TYPES } from './types';
|
||||
export type {
|
||||
Order,
|
||||
OrderType,
|
||||
OrderStatus,
|
||||
TransferStatus,
|
||||
TransactionQueryParams,
|
||||
TransactionListResponse,
|
||||
} from './types';
|
||||
@@ -0,0 +1,32 @@
|
||||
import { BaseService } from '../core/base.service';
|
||||
import type { TransactionQueryParams, TransactionListResponse } from './types';
|
||||
|
||||
/**
|
||||
* 交易服务
|
||||
* 处理订单和交易记录相关的 API 请求
|
||||
*/
|
||||
export class TransactionService extends BaseService {
|
||||
protected static readonly basePath = '/api/v1/order';
|
||||
|
||||
/**
|
||||
* 获取交易记录列表(分页)
|
||||
* @param params - 查询参数
|
||||
* @returns 交易记录列表
|
||||
* @throws {UnauthorizedError} 当未登录时
|
||||
* @throws {ValidationError} 当参数验证失败时
|
||||
*
|
||||
* @example
|
||||
* ```typescript
|
||||
* const result = await TransactionService.getTransactions({
|
||||
* page: 1,
|
||||
* page_size: 20,
|
||||
* types: ['receive'],
|
||||
* statuses: ['success'],
|
||||
* payee_transfer_status: 'pending'
|
||||
* });
|
||||
* ```
|
||||
*/
|
||||
static async getTransactions(params: TransactionQueryParams): Promise<TransactionListResponse> {
|
||||
return this.post<TransactionListResponse>('/transactions', params as unknown as Record<string, unknown>);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,134 @@
|
||||
/**
|
||||
* 订单类型
|
||||
*/
|
||||
export type OrderType = 'receive' | 'payment' | 'community' | 'online' | 'test' | 'distribute' | 'red_envelope_send' | 'red_envelope_receive' | 'red_envelope_refund';
|
||||
|
||||
/**
|
||||
* 前端默认展示的订单类型
|
||||
* 显式排除已移除的积分转移类型
|
||||
*/
|
||||
export const DEFAULT_ORDER_TYPES: OrderType[] = [
|
||||
'receive',
|
||||
'payment',
|
||||
'community',
|
||||
'online',
|
||||
'test',
|
||||
'distribute',
|
||||
'red_envelope_send',
|
||||
'red_envelope_receive',
|
||||
'red_envelope_refund',
|
||||
];
|
||||
|
||||
/**
|
||||
* 订单状态
|
||||
*/
|
||||
export type OrderStatus = 'success' | 'pending' | 'failed' | 'expired' | 'disputing' | 'refund' | 'refused';
|
||||
|
||||
/**
|
||||
* 到账状态
|
||||
*/
|
||||
export type TransferStatus = 'pending' | 'completed';
|
||||
|
||||
/**
|
||||
* 订单信息
|
||||
*/
|
||||
export interface Order {
|
||||
/** 订单 ID */
|
||||
id: string;
|
||||
/** 订单号(18位字符串) */
|
||||
order_no: string;
|
||||
/** 订单名称 */
|
||||
order_name: string;
|
||||
/** 商户订单号 */
|
||||
merchant_order_no: string;
|
||||
/** 付款方用户ID */
|
||||
payer_user_id: string;
|
||||
/** 收款方用户ID */
|
||||
payee_user_id: string;
|
||||
/** 付款方账户 */
|
||||
payer_username: string;
|
||||
/** 付款方头像 */
|
||||
payer_avatar_url?: string;
|
||||
/** 收款方账户 */
|
||||
payee_username: string;
|
||||
/** 收款方头像 */
|
||||
payee_avatar_url?: string;
|
||||
/** 交易金额(decimal字符串) */
|
||||
amount: string;
|
||||
/** 订单状态 */
|
||||
status: OrderStatus;
|
||||
/** 订单类型 */
|
||||
type: OrderType;
|
||||
/** 备注 */
|
||||
remark: string;
|
||||
/** 客户端ID */
|
||||
client_id: string;
|
||||
/** 交易时间 */
|
||||
trade_time: string;
|
||||
/** 过期时间 */
|
||||
expires_at: string;
|
||||
/** 创建时间 */
|
||||
created_at: string;
|
||||
/** 更新时间 */
|
||||
updated_at: string;
|
||||
/** 应用名称(可选) */
|
||||
app_name?: string;
|
||||
/** 应用主页 URL(可选) */
|
||||
app_homepage_url?: string;
|
||||
/** 应用描述(可选) */
|
||||
app_description?: string;
|
||||
/** 重定向 URI(可选) */
|
||||
redirect_uri?: string;
|
||||
/** 关联的争议 ID(可选) */
|
||||
dispute_id?: string;
|
||||
/** 支付类型 */
|
||||
payment_type: string;
|
||||
/** 是否到账 */
|
||||
payee_transfer_status: TransferStatus;
|
||||
/** 到账时间 */
|
||||
payee_transfer_at: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* 交易查询参数
|
||||
*/
|
||||
export interface TransactionQueryParams {
|
||||
/** 页码,从 1 开始 */
|
||||
page: number;
|
||||
/** 每页数量,1-100 */
|
||||
page_size: number;
|
||||
/** 订单类型列表(可选) */
|
||||
types?: OrderType[];
|
||||
/** 订单状态列表(可选) */
|
||||
statuses?: OrderStatus[];
|
||||
/** 收款方结算状态(可选) */
|
||||
payee_transfer_status?: TransferStatus;
|
||||
/** 客户端 ID(可选) */
|
||||
client_id?: string;
|
||||
/** 开始时间(可选) */
|
||||
startTime?: string;
|
||||
/** 结束时间(可选) */
|
||||
endTime?: string;
|
||||
/** 订单 ID(可选) */
|
||||
id?: string;
|
||||
/** 订单名称,支持前缀模糊查询(可选) */
|
||||
order_name?: string;
|
||||
/** 付款方账户,支持前缀模糊查询(可选) */
|
||||
payer_username?: string;
|
||||
/** 收款方账户,支持前缀模糊查询(可选) */
|
||||
payee_username?: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* 交易列表响应
|
||||
*/
|
||||
export interface TransactionListResponse {
|
||||
/** 总记录数 */
|
||||
total: number;
|
||||
/** 当前页码 */
|
||||
page: number;
|
||||
/** 每页数量 */
|
||||
page_size: number;
|
||||
/** 订单列表 */
|
||||
orders: Order[];
|
||||
}
|
||||
Reference in New Issue
Block a user