fix(settlement): 操作记录分页、流水动作与坏账幂等加固
Some checks failed
lotterLaravel CI / test (push) Has been cancelled
lotterLaravel E2E / e2e-api (push) Has been cancelled

- 新增 settlement-operations 合并列表 API,收付/调账接口改为标准分页
- actionable_only 流水在内存过滤后正确分页
- 已结账单流水不再展示补差/冲正快捷动作
- 坏账核销支持 idempotency_key 并写入 result_bill_id
- 补充操作记录、流水与坏账幂等相关测试
This commit is contained in:
2026-06-26 16:40:46 +08:00
parent 7ec8f4c5a2
commit c83343e989
20 changed files with 1045 additions and 212 deletions

View File

@@ -8,8 +8,10 @@ export default async function globalSetup(): Promise<void> {
const mockPort = process.env.E2E_MOCK_WALLET_PORT ?? '5555';
const ctx = await pwRequest.newContext({ baseURL: api });
const siteCode = process.env.E2E_PLAYER_SITE_CODE ?? 'demo';
const walletResp = await ctx.post('/api/v1/_e2e/site/wallet-api', {
data: {
site_code: siteCode,
base_url: `http://127.0.0.1:${mockPort}`,
wallet_api_key: 'e2e-mock-key',
},

View File

@@ -22,7 +22,8 @@ test('超管进入结算中心 → 账期管理页可见', async ({ page }) => {
timeout: 60_000,
});
await expect(page.getByText(/账期管理|Period/i).first()).toBeVisible({ timeout: 30_000 });
await expect(page.getByRole('button', { name: /开账|Open period/i }).first()).toBeVisible({
timeout: 30_000,
});
const periodAction = page
.getByRole('button', { name: /开账|Open period|关账|Close period/i })
.first();
await expect(periodAction).toBeVisible({ timeout: 30_000 });
});