Merge remote-tracking branch 'origin/master'
This commit is contained in:
@@ -1039,6 +1039,7 @@ DO UPDATE SET dim_id = EXCLUDED.dim_id, updated_at = EXCLUDED.updated_at
|
||||
msVariants := make([]msVariantRow, 0, 1024)
|
||||
colorTokensByItem := make(map[int64][]string, len(itemIDs))
|
||||
dim3TokensByItem := make(map[int64][]string, len(itemIDs))
|
||||
itemHasMssqlDim3 := make(map[int64]bool, len(itemIDs))
|
||||
for msRows.Next() {
|
||||
var itemCode, colorCode, dim1Code, dim3Code string
|
||||
var qty sql.NullFloat64
|
||||
@@ -1064,6 +1065,9 @@ DO UPDATE SET dim_id = EXCLUDED.dim_id, updated_at = EXCLUDED.updated_at
|
||||
})
|
||||
addToken(colorTokensByItem, itemID, colorCode)
|
||||
addToken(dim3TokensByItem, itemID, dim3Code)
|
||||
if strings.TrimSpace(dim3Code) != "" {
|
||||
itemHasMssqlDim3[itemID] = true
|
||||
}
|
||||
}
|
||||
if err := msRows.Err(); err != nil {
|
||||
msRows.Close()
|
||||
@@ -1074,6 +1078,11 @@ DO UPDATE SET dim_id = EXCLUDED.dim_id, updated_at = EXCLUDED.updated_at
|
||||
|
||||
inferredDim1 := buildInferredMap("dimval1", colorTokensByItem, itemDim1Candidates)
|
||||
inferredDim3 := buildInferredMap("dimval3", dim3TokensByItem, itemDim3Candidates)
|
||||
for key, row := range tmpMap {
|
||||
if itemHasMssqlDim3[row.ItemID] && row.Dim3Key == 0 {
|
||||
delete(tmpMap, key)
|
||||
}
|
||||
}
|
||||
resolveProductDimID := func(itemID int64, column string, token string, inferred map[string]int64) (int64, bool) {
|
||||
token = strings.ToUpper(normalizeDimParam(token))
|
||||
if token == "" {
|
||||
@@ -1113,6 +1122,9 @@ DO UPDATE SET dim_id = EXCLUDED.dim_id, updated_at = EXCLUDED.updated_at
|
||||
if id, ok := resolveProductDimID(itemID, "dimval3", dim3Code, inferredDim3); ok {
|
||||
d3k = id
|
||||
}
|
||||
if strings.TrimSpace(dim3Code) != "" && d3k <= 0 {
|
||||
continue
|
||||
}
|
||||
key := fmt.Sprintf("%d|%d|%d", itemID, d1, d3k)
|
||||
prev, ok := tmpMap[key]
|
||||
if !ok {
|
||||
|
||||
Reference in New Issue
Block a user