fix: 使用原始SKU辅助档口匹配 (#259)

This commit is contained in:
chengma
2026-08-18 15:25:58 +08:00
parent 103610a012
commit 4383bb87df
9 changed files with 237 additions and 33 deletions
+29
View File
@@ -63,6 +63,35 @@ func TestParseInnerCodeWorkbook_表头前置行与重复业务组(t *testing.T)
}
}
func TestParseInnerCodeWorkbook_识别原始SKU说明表头并保留原文(t *testing.T) {
book := excelize.NewFile()
defaultSheet := book.GetSheetList()[0]
if err := book.SetSheetName(defaultSheet, innerCodeSheetName); err != nil {
t.Fatal(err)
}
sourceSKU := " 上寮-青春网购工厂店8916##(&9)\n"
setInnerCodeWorkbookRows(t, book, [][]string{
{"内部档口入库码", "Shopee订单编号", "清洗后规格", "档口名称", "档口货号", "生成日期", "原始 SKU(源Excel C列,原样直拷)"},
{"DK001", "26081387A2EC2N", "紫色,XL", "上寮-青春网购工厂店", "8916", "2026-08-17", sourceSKU},
})
_, rows, err := parseInnerCodeWorkbook(book, "labels.xlsx", "user-1")
if err != nil || len(rows) != 1 {
t.Fatalf("rows=%+v err=%v", rows, err)
}
if rows[0].SourceSKURaw != sourceSKU || normalizeInnerCodeSourceSKU(rows[0].SourceSKURaw) != "上寮-青春网购工厂店8916##(&9)" {
t.Fatalf("原始 SKU 未按要求保留或比较: %q", rows[0].SourceSKURaw)
}
}
func TestInnerCodeHeaderMap_兼容原始SKU大小写和空格(t *testing.T) {
for _, header := range []string{"原始SKU", "原始sku", "原始 SKU", "原始sku(源Excel C列,原样直拷)"} {
headers, _ := innerCodeHeaderMap([]string{header})
if headers["原始SKU"] != 0 {
t.Fatalf("未识别表头 %q: %+v", header, headers)
}
}
}
func TestParseInnerCodeWorkbook_同日入库码指向不同业务键时报错(t *testing.T) {
book := excelize.NewFile()
defaultSheet := book.GetSheetList()[0]