This commit is contained in:
2026-08-19 09:42:07 +08:00
parent ff1d330c2d
commit b5864bfcda
56 changed files with 497 additions and 306 deletions
@@ -58,7 +58,7 @@ export async function run(context) {
{ feeItemId: initialDerived.feeItemId, direction: 'RECEIVABLE',
businessDate: initialDerived.businessDate, unitPrice: initialDerived.unitPrice,
currency: initialDerived.currency, amount: initialDerived.amount,
settlementIncluded: initialDerived.settlementIncluded, remark: `${context.marker}-禁止修改派生` })
remark: `${context.marker}-禁止修改派生` })
context.assert(MODULE, 'FBA_PRICING 派生详情拒绝通用编辑', derivedUpdateResponse,
derivedUpdateResponse.http === 200 && !success(derivedUpdateResponse)
&& String(derivedUpdateResponse.body?.message || '').includes('只读派生'),
@@ -108,8 +108,7 @@ export async function run(context) {
&& id(row.sourceFeeId) === id(sent?.feeId))
context.assert(MODULE, '仅人工发布后费用为 SENT 且派生明细为 PUBLISHED', sendResponse,
sent?.feeStatus === 'SENT' && sent?.nextProcessStatus === 'WAIT_SPLIT'
&& published?.publicationStatus === 'PUBLISHED' && published?.reviewStatus === 'APPROVED'
&& published?.settlementIncluded === true,
&& published?.publicationStatus === 'PUBLISHED' && published?.reviewStatus === 'APPROVED',
`status=${sent?.feeStatus || 'missing'}, process=${sent?.nextProcessStatus || 'missing'}, publication=${published?.publicationStatus || 'missing'}`, OPTIONS)
const feeItemsResponse = await context.request('GET', '/api/platform/v1/fee-items?page=1&size=500&status=ACTIVE')
@@ -125,7 +124,7 @@ export async function run(context) {
const detailsBase = `/api/platform/v1/inbounds/${encodeURIComponent(inboundId)}/fee-details`
const manualPayload = { feeItemId: manualItem.id, direction: 'RECEIVABLE',
businessDate: new Date().toISOString().slice(0, 10), unitPrice: 12.34, currency: 'CNY', amount: 12.34,
settlementIncluded: true, remark: `${context.marker}-其他应收` }
remark: `${context.marker}-其他应收` }
const manualCreateResponse = await context.request('POST', `${detailsBase}?accountId=${encodeURIComponent(tenantId)}`, manualPayload)
const manual = context.apiSuccess(MODULE, '新增独立 MANUAL 其他应收', manualCreateResponse, '', OPTIONS)
context.assert(MODULE, 'MANUAL 初始版本待审核且不冒充 FBA_PRICING', manualCreateResponse,
@@ -139,10 +138,10 @@ export async function run(context) {
context.apiSuccess(MODULE, '审核通过 MANUAL 其他应收', approveResponse, '', OPTIONS)
const afterApproval = await listDetails(context, tenantId, inboundId, '回查已审核 MANUAL 其他应收')
const approved = afterApproval.rows.find((row) => id(row.id) === id(manual.id))
context.assert(MODULE, '已审核 MANUAL 纳入对客应收但与头程费用独立', afterApproval.response,
context.assert(MODULE, '已审核 MANUAL 自动进入对客应收候选且与头程费用独立', afterApproval.response,
approved?.sourceType === 'MANUAL' && approved?.reviewStatus === 'APPROVED'
&& approved?.settlementIncluded === true,
`review=${approved?.reviewStatus || 'missing'}, settlementIncluded=${approved?.settlementIncluded ?? 'missing'}`, OPTIONS)
&& approved?.publicationStatus === 'PUBLISHED',
`review=${approved?.reviewStatus || 'missing'}, publication=${approved?.publicationStatus || 'missing'}`, OPTIONS)
const adjustedManualPayload = { ...manualPayload, unitPrice: 15.67, amount: 15.67,
remark: `${context.marker}-其他应收版本调整` }