Files
cpms_operation_platform/src/config/mock/paymentFlow.ts
T

150 lines
3.3 KiB
TypeScript
Raw Normal View History

/**
* 支付流水假数据
* 对应接口:GET /admin/finance/paymentFlow/page
*/
import type { PaymentFlowVO, PaymentFlowQueryParams, PageData } from '@/api/payments';
const MOCK_LIST: PaymentFlowVO[] = [
{
serialNo: 'FL20260730001',
orderNo: 'OD20260730001',
type: 1,
nickname: '张三',
phone: '12345678997',
amount: '99.00',
createDate: '2026-07-30 08:00:00',
},
{
serialNo: '',
orderNo: '',
type: 2,
nickname: '李四',
phone: '12345678998',
amount: '100.00',
createDate: '2026-07-30 07:00:00',
},
{
serialNo: 'FL20260729002',
orderNo: 'OD20260729002',
type: 1,
nickname: '王五',
phone: '12345678998',
amount: '199.00',
createDate: '2026-07-29 16:00:00',
},
{
serialNo: '',
orderNo: '',
type: 2,
nickname: '赵六',
phone: '13800138000',
amount: '50.00',
createDate: '2026-07-29 15:20:00',
},
{
serialNo: 'FL20260728003',
orderNo: 'OD20260728003',
type: 1,
nickname: '钱七',
phone: '13900139001',
amount: '350.00',
createDate: '2026-07-28 14:00:00',
},
{
serialNo: '',
orderNo: '',
type: 2,
nickname: '孙八',
phone: '18600186001',
amount: '120.00',
createDate: '2026-07-28 10:30:00',
},
{
serialNo: 'FL20260727004',
orderNo: 'OD20260727004',
type: 1,
nickname: '周九',
phone: '15200152000',
amount: '88.00',
createDate: '2026-07-27 09:00:00',
},
{
serialNo: 'FL20260727005',
orderNo: 'OD20260727005',
type: 1,
nickname: '吴十',
phone: '17000170001',
amount: '520.00',
createDate: '2026-07-27 08:00:00',
},
{
serialNo: '',
orderNo: '',
type: 2,
nickname: '李四',
phone: '12345678998',
amount: '200.00',
createDate: '2026-07-26 17:00:00',
},
{
serialNo: 'FL20260726006',
orderNo: 'OD20260726006',
type: 1,
nickname: '张三',
phone: '12345678997',
amount: '128.00',
createDate: '2026-07-26 11:00:00',
},
{
serialNo: '',
orderNo: '',
type: 2,
nickname: '王五',
phone: '12345678998',
amount: '80.00',
createDate: '2026-07-25 13:00:00',
},
{
serialNo: 'FL20260725007',
orderNo: 'OD20260725007',
type: 1,
nickname: '赵六',
phone: '13800138000',
amount: '680.00',
createDate: '2026-07-25 10:00:00',
},
];
function inDateRange(date: string, begin?: string, end?: string): boolean {
if (!begin && !end) return true;
const d = date.slice(0, 10);
if (begin && d < begin) return false;
if (end && d > end) return false;
return true;
}
export function buildMockPaymentFlowPage(
page: number,
limit: number,
params: PaymentFlowQueryParams,
): PageData<PaymentFlowVO> {
let filtered = [...MOCK_LIST];
if (params.nickname) {
filtered = filtered.filter((item) => item.nickname.includes(params.nickname!));
}
if (params.phone) {
filtered = filtered.filter((item) => item.phone.includes(params.phone!));
}
if (params.type) {
filtered = filtered.filter((item) => item.type === Number(params.type));
}
filtered = filtered.filter((item) =>
inDateRange(item.createDate, params.createDateBegin, params.createDateEnd),
);
const total = filtered.length;
const start = (page - 1) * limit;
return { total, list: filtered.slice(start, start + limit) };
}