feat(t219): show pending-payment reconciliation

This commit is contained in:
QiuSW
2026-07-28 18:16:09 +08:00
parent c2ec98d5be
commit 78dc595815
20 changed files with 768 additions and 37 deletions
@@ -380,6 +380,9 @@ func (h *adminHandlers) taskDetail(ctx *gin.Context) {
"order_authorizations": orderAuthorizationResponses(
detail.OrderAuthorizations,
),
"order_submissions": adminOrderSubmissionResponses(
detail.OrderSubmissions,
),
"events": events,
"assets": []gin.H{
assetResponse(detail.Asset),
@@ -387,6 +390,50 @@ func (h *adminHandlers) taskDetail(ctx *gin.Context) {
})
}
func adminOrderSubmissionResponses(
submissions []domain.OrderSubmission,
) []gin.H {
result := make([]gin.H, 0, len(submissions))
for _, submission := range submissions {
result = append(result, adminOrderSubmissionResponse(submission))
}
return result
}
func adminOrderSubmissionResponse(
submission domain.OrderSubmission,
) gin.H {
return gin.H{
"id": submission.ID,
"authorization_id": submission.AuthorizationID,
"dry_run_id": submission.DryRunID,
"execution_id": submission.ExecutionID,
"status": submission.Status,
"expected_title": submission.ExpectedTitle,
"expected_sku": submission.ExpectedSKU,
"expected_quantity": submission.ExpectedQuantity,
"expected_unit_price_cents": submission.ExpectedUnitPriceCents,
"expected_total_price_cents": submission.ExpectedTotalPriceCents,
"platform_order_no": submission.PlatformOrderNo,
"platform_ordered_at": formatOptionalTime(
submission.PlatformOrderedAt,
),
"platform_order_status": submission.PlatformOrderStatus,
"reconciliation_evidence_asset_id": submission.
ReconciliationEvidenceAssetID,
"reconciliation_evidence_sha256": submission.
ReconciliationEvidenceSHA256,
"manual_reason_code": submission.ManualReasonCode,
"fenced_at": formatTime(submission.FencedAt),
"reconciled_at": formatOptionalTime(
submission.ReconciledAt,
),
"manual_review_at": formatOptionalTime(
submission.ManualReviewAt,
),
}
}
func (h *adminHandlers) createOrderAuthorization(ctx *gin.Context) {
var request struct {
ExecutionID string `json:"execution_id"`