This commit is contained in:
邹宗楠
2022-06-02 18:16:02 +08:00
parent 679de30524
commit 4f7ed20843
5 changed files with 56 additions and 17 deletions

View File

@@ -339,7 +339,6 @@ func GetStoresMapList2(db *DaoDB, vendorIDs, storeIDs, storeStatuss []int, statu
sql += " AND t1.sync_status <> 0"
}
sql += " ORDER BY t1.store_id , t1.vendor_id"
globals.SugarLogger.Debug("刘磊=============sql",sql,sqlParams)
if err = GetRows(db, &storeMapList, sql, sqlParams...); err == nil {
return storeMapList, nil
}

View File

@@ -468,9 +468,6 @@ func GetStoreCategories(db *DaoDB, vendorID, storeID int, skuIDs []int, level in
sql += " AND t4.level = ?"
sqlParams = append(sqlParams, level)
}
globals.SugarLogger.Debug("??????????????==",sql)
globals.SugarLogger.Debug("??????????????==",fieldPrefixParams)
globals.SugarLogger.Debug("??????????????==3",sqlParams)
if err = GetRows(db, &cats, fmt.Sprintf(sql, fieldPrefixParams...), sqlParams...); err != nil {
return nil, err
}
@@ -484,11 +481,66 @@ func GetStoreCategories(db *DaoDB, vendorID, storeID int, skuIDs []int, level in
}
}
}
return result, err
}
// 获取门店分类,区别同步方法
func GetStoreCategories2(db *DaoDB, vendorID, storeID int, skuIDs []int, level int, mustDirty bool) (cats []*SkuStoreCatInfo, err error) {
fieldPrefix := ConvertDBFieldPrefix(model.VendorNames[vendorID])
sql := `
SELECT t4.*, ts.store_category_name store_cat_name, ts.store_category_seq store_cat_seq, ts.id store_category_id,
t5.id map_id, t5.%s_id vendor_cat_id, t5.%s_sync_status cat_sync_status,
t4p.name parent_cat_name,
tsp.store_category_name store_parent_cat_name,
t5p.id parent_map_id, t5p.%s_id parent_vendor_cat_id, t5p.%s_sync_status parent_cat_sync_status,
t1.is_sys_cat, t1.vendor_org_code,
t6.city_code , t6.brand_id
FROM store_sku_category_map t5
JOIN sku_category t4 ON t5.category_id = t4.id
LEFT JOIN store_category_map ts ON ts.store_id = t5.store_id AND ts.category_id = t4.id AND ts.deleted_at = ?
`
sqlParams := []interface{}{
utils.DefaultTimeValue,
}
fieldPrefixParams := []interface{}{fieldPrefix, fieldPrefix, fieldPrefix, fieldPrefix}
if len(skuIDs) > 0 {
sql += `
LEFT JOIN (
SELECT DISTINCT b.category_id
FROM sku a
JOIN sku_name b ON a.name_id = b.id AND b.deleted_at = ?
WHERE a.id IN (` + GenQuestionMarks(len(skuIDs)) + `)
AND a.deleted_at = ?
) t6 ON t6.category_id = t4.id
`
sqlParams = append(sqlParams, utils.DefaultTimeValue, skuIDs, utils.DefaultTimeValue)
}
sql += `
LEFT JOIN sku_category t4p ON t4.parent_id = t4p.id
LEFT JOIN store_category_map tsp ON tsp.store_id = t5.store_id AND tsp.category_id = t4p.id AND tsp.deleted_at = ?
LEFT JOIN store_sku_category_map t5p ON t4p.id = t5p.category_id AND t5.store_id = t5p.store_id
LEFT JOIN store_map t1 ON t1.store_id = t5.store_id AND t1.vendor_id = ?
LEFT JOIN store t6 ON t6.id = t5.store_id
WHERE t5.store_id = ? AND t5.deleted_at = ? AND t4.is_sync <> ?`
sqlParams = append(sqlParams, utils.DefaultTimeValue, vendorID, storeID, utils.DefaultTimeValue, model.YES)
if mustDirty {
sql += " AND t5.%s_sync_status <> 0"
fieldPrefixParams = append(fieldPrefixParams, fieldPrefix)
}
if level > 0 {
sql += " AND t4.level = ?"
sqlParams = append(sqlParams, level)
}
if err = GetRows(db, &cats, fmt.Sprintf(sql, fieldPrefixParams...), sqlParams...); err != nil {
return nil, err
}
return cats, err
}
func GetDirtyStoreCategories(db *DaoDB, vendorID, storeID int, level int, skuIDs []int) (cats []*SkuStoreCatInfo, err error) {
return GetStoreCategories(db, vendorID, storeID, skuIDs, level, true)
return GetStoreCategories2(db, vendorID, storeID, skuIDs, level, true)
}
// 以store_sku_bind为基础来做同步正常情况下使用