Files
huangjingfen/pro_v3.5.1/view/admin/src/api/hjfQueue.js

81 lines
2.7 KiB
JavaScript
Raw Normal View History

/**
* 公排模块 - Admin API
* @module api/hjfQueue
* @description 公排订单列表公排配置公排财务明细等管理端接口
*/
import request from '@/plugins/request';
import {
MOCK_QUEUE_ORDER_LIST,
MOCK_QUEUE_CONFIG,
MOCK_QUEUE_FINANCE
} from '@/utils/hjfMockData.js';
/** @type {boolean} Phase 1 使用 MockPhase 4 集成时改为 false */
const USE_MOCK = true;
/**
* Mock 包装返回与 request 相同形状的 Promisestatus + data
* @param {Object} data - 要返回的响应体
* @param {number} [delay=200] - 模拟网络延迟ms
* @returns {Promise<{ status: number, data: Object }>}
*/
function mockResponse(data, delay = 200) {
return new Promise(resolve => {
setTimeout(() => {
resolve({ status: 200, data: JSON.parse(JSON.stringify(data)) });
}, delay);
});
}
/**
* 公排订单列表分页 + 筛选
* @param {Object} [data] - 查询参数 pagelimitkeywordstatusdate_range
* @returns {Promise<{ status: number, data: { list: Array, count: number, page: number, limit: number } }>}
*/
export function queueOrderList(data) {
if (USE_MOCK) return mockResponse(MOCK_QUEUE_ORDER_LIST);
return request({ url: 'hjf/queue/order_list', method: 'get', params: data });
}
/** @alias queueOrderList */
export const queueOrderListApi = queueOrderList;
/**
* 公排配置获取
* @returns {Promise<{ status: number, data: { trigger_multiple: number, refund_cycle: number, enabled: boolean, release_rate: number, withdraw_fee_rate: number } }>}
*/
export function queueConfig() {
if (USE_MOCK) return mockResponse(MOCK_QUEUE_CONFIG);
return request({ url: 'hjf/queue/config', method: 'get' });
}
/** @alias queueConfig */
export const queueConfigGetApi = queueConfig;
/**
* 公排配置保存
* @param {Object} data - 配置数据包含 trigger_multiplerefund_cycleenabled 等字段
* @returns {Promise<{ status: number, data: Object }>}
*/
export function queueConfigSave(data) {
if (USE_MOCK) return mockResponse({ message: 'ok' }, 300);
return request({ url: 'hjf/queue/config', method: 'put', data });
}
/** @alias queueConfigSave */
export const queueConfigSaveApi = queueConfigSave;
/**
* 公排财务明细退款流水列表分页
* @param {Object} [data] - 查询参数 pagelimitdate_range
* @returns {Promise<{ status: number, data: { list: Array, count: number, total_refund: string, page: number, limit: number } }>}
*/
export function queueFinanceList(data) {
if (USE_MOCK) return mockResponse(MOCK_QUEUE_FINANCE);
return request({ url: 'hjf/queue/finance', method: 'get', params: data });
}
/** @alias queueFinanceList */
export const queueFinanceListApi = queueFinanceList;