From fde6b00780933fdb4aa6d8c22bc8789072cdf072 Mon Sep 17 00:00:00 2001 From: yml2213 Date: Sun, 9 Aug 2026 16:09:50 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=B0=8F=E5=BA=97=E6=8A=A5?= =?UTF-8?q?=E5=91=8A=E8=AE=A2=E5=8D=95=E7=8A=B6=E6=80=81=E5=B1=95=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/app/app_xiaodian_report_export.go | 15 +++++++++------ internal/app/app_xiaodian_report_export_test.go | 12 ++++++++++++ 2 files changed, 21 insertions(+), 6 deletions(-) diff --git a/internal/app/app_xiaodian_report_export.go b/internal/app/app_xiaodian_report_export.go index 048cb79..baebb24 100644 --- a/internal/app/app_xiaodian_report_export.go +++ b/internal/app/app_xiaodian_report_export.go @@ -289,7 +289,7 @@ func xiaodianSummaryRow(sequence int, report types.XiaodianRunReport, item xiaod exportText(account.Status), exportText(account.FailureReason), exportText(selectedRecordVerification(item)), - exportText(orderStatusText(recordStatus(matched))), + exportText(selectedRecordStatus(item, matched)), account.Attempts, exportText(remarks), exportText(formatReportTime(report.StartedAt)), @@ -403,11 +403,14 @@ func selectedRecordVerification(item xiaodianReportExportData) string { return "未发现订单" } -func recordStatus(record *types.XiaodianExchangeRecord) string { - if record == nil { - return "" +func selectedRecordStatus(item xiaodianReportExportData, record *types.XiaodianExchangeRecord) string { + if item.RecordError != "" { + return "查询失败" } - return record.Status + if record == nil { + return "无订单" + } + return orderStatusText(record.Status) } func orderStatusText(status string) string { @@ -425,7 +428,7 @@ func orderStatusText(status string) string { case "5": return "已退款" case "": - return "-" + return "状态未知" default: return "状态 " + status } diff --git a/internal/app/app_xiaodian_report_export_test.go b/internal/app/app_xiaodian_report_export_test.go index 6044bec..d940533 100644 --- a/internal/app/app_xiaodian_report_export_test.go +++ b/internal/app/app_xiaodian_report_export_test.go @@ -83,3 +83,15 @@ func TestWriteXiaodianReportCSVZip(t *testing.T) { t.Fatalf("summary CSV content invalid: %q, err=%v", content, err) } } + +func TestSelectedRecordStatus(t *testing.T) { + if got := selectedRecordStatus(xiaodianReportExportData{}, nil); got != "无订单" { + t.Fatalf("selectedRecordStatus(no record) = %q", got) + } + if got := selectedRecordStatus(xiaodianReportExportData{RecordError: "network error"}, nil); got != "查询失败" { + t.Fatalf("selectedRecordStatus(query error) = %q", got) + } + if got := orderStatusText(""); got != "状态未知" { + t.Fatalf("orderStatusText(empty) = %q", got) + } +}