!删除IsUseThingMap

This commit is contained in:
gazebo
2020-01-17 16:09:52 +08:00
parent 0fffdfdd76
commit 3e89a07a96
10 changed files with 45 additions and 301 deletions

View File

@@ -209,17 +209,15 @@ func getGetStoresSkusBaseSQL(db *dao.DaoDB, storeIDs, skuIDs []int, isFocus bool
FROM sku_name t1
JOIN sku t2 FORCE INDEX(PRIMARY) ON t1.id = t2.name_id AND t2.deleted_at = ?/* AND t2.status = ?*/
JOIN store t3 ON t3.deleted_at = ?
LEFT JOIN store_map sm ON sm.store_id = t3.id AND sm.vendor_id = ? AND sm.deleted_at = ?
LEFT JOIN thing_map t2m ON t2m.thing_type = ? AND t2m.thing_id = t2.id AND t2m.vendor_id = sm.vendor_id AND t2m.vendor_org_code = sm.vendor_org_code AND t2m.deleted_at = ?
`
sqlParams = []interface{}{
utils.DefaultTimeValue,
// model.SkuStatusNormal,
utils.DefaultTimeValue,
}
if globals.IsUseThingMap {
sql += `
LEFT JOIN store_map sm ON sm.store_id = t3.id AND sm.vendor_id = ? AND sm.deleted_at = ?
LEFT JOIN thing_map t2m ON t2m.thing_type = ? AND t2m.thing_id = t2.id AND t2m.vendor_id = sm.vendor_id AND t2m.vendor_org_code = sm.vendor_org_code AND t2m.deleted_at = ?`
sqlParams = append(sqlParams, model.VendorIDJD, utils.DefaultTimeValue, model.ThingTypeSku, utils.DefaultTimeValue)
model.VendorIDJD, utils.DefaultTimeValue, // TODO 这里直接用JD有问题
model.ThingTypeSku, utils.DefaultTimeValue,
}
if isAct {
sql += `
@@ -289,15 +287,13 @@ func getGetStoresSkusBaseSQL(db *dao.DaoDB, storeIDs, skuIDs []int, isFocus bool
sqlParams = append(sqlParams, keywordLike, keywordLike, keywordLike, keywordLike)
if keywordInt64, err2 := strconv.ParseInt(keyword, 10, 64); err2 == nil {
sql += " OR t1.id = ? OR t2.id = ?"
sqlParams = append(sqlParams, keywordInt64, keywordInt64)
if !globals.IsUseThingMap {
sql += " OR t2.jd_id = ?"
sqlParams = append(sqlParams, keywordInt64)
} else {
sql += " OR (SELECT COUNT(*) FROM thing_map tm WHERE tm.vendor_org_code = sm.vendor_org_code AND tm.thing_type = ? AND tm.thing_id = t2.id AND tm.deleted_at = ? AND tm.vendor_thing_id = ?) > 0"
sqlParams = append(sqlParams, model.ThingTypeSku, utils.DefaultTimeValue, keywordInt64)
}
sql += `
OR t1.id = ? OR t2.id = ?
OR (SELECT COUNT(*) FROM thing_map tm WHERE tm.vendor_org_code = sm.vendor_org_code AND tm.thing_type = ? AND tm.thing_id = t2.id AND tm.deleted_at = ? AND tm.vendor_thing_id = ?) > 0
`
sqlParams = append(sqlParams,
keywordInt64, keywordInt64,
model.ThingTypeSku, utils.DefaultTimeValue, keywordInt64)
if isFocus {
sql += " OR t4.ebai_id = ? OR t4.mtwm_id = ?"
sqlParams = append(sqlParams, keywordInt64, keywordInt64)
@@ -384,11 +380,7 @@ func getGetStoresSkusBaseSQL(db *dao.DaoDB, storeIDs, skuIDs []int, isFocus bool
}
sql += " AND ( 1 = 0"
if params["jdSyncStatus"] != nil && realVendorMap[model.VendorIDJD] == 1 {
if globals.IsUseThingMap {
sql += " OR (t4.jd_sync_status & ? <> 0 AND t1.status = ? AND t2.status = ?)"
} else {
sql += " OR (t4.jd_sync_status & ? <> 0 AND t2.jd_id <> 0 AND t1.status = ? AND t2.status = ?)"
}
sql += " OR (t4.jd_sync_status & ? <> 0 AND t1.status = ? AND t2.status = ?)"
sqlParams = append(sqlParams, params["jdSyncStatus"], model.SkuStatusNormal, model.SkuStatusNormal)
}
if params["ebaiSyncStatus"] != nil && realVendorMap[model.VendorIDEBAI] == 1 {
@@ -484,15 +476,12 @@ func GetStoresSkusNew(ctx *jxcontext.Context, storeIDs, skuIDs []int, isFocus bo
LIMIT ? OFFSET ?`
sqlParams = append(sqlParams, sqlParamsPage)
}
jdVendorIDField := "t2.jd_id"
if globals.IsUseThingMap {
jdVendorIDField = "t2m.vendor_thing_id"
}
sql = fmt.Sprintf(`
sql = `
SELECT SQL_CALC_FOUND_ROWS
t3.id store_id, t3.name store_name, t3.pay_percentage,
t1.*,
t2.name_id, t2.id sku_id, t2.spec_quality sku_spec_quality, t2.spec_unit sku_spec_unit, t2.weight, %s sku_jd_id,
t2.name_id, t2.id sku_id, t2.spec_quality sku_spec_quality, t2.spec_unit sku_spec_unit, t2.weight, t2m.vendor_thing_id sku_jd_id,
t2.comment, t2.category_id sku_category_id, t2.status sku_status,
t4.created_at bind_created_at, t4.updated_at bind_updated_at, t4.last_operator bind_last_operator, t4.deleted_at bind_deleted_at,
t4.sub_store_id, t4.price bind_price, IF(t4.unit_price IS NOT NULL, t4.unit_price, t1.price) unit_price, t4.status store_sku_status, t4.auto_sale_at,
@@ -502,7 +491,7 @@ func GetStoresSkusNew(ctx *jxcontext.Context, storeIDs, skuIDs []int, isFocus bo
t4.jd_lock_time, t4.ebai_lock_time, t4.mtwm_lock_time, t4.jx_lock_time,
t4.status_sale_begin, t4.status_sale_end,
t6.mid_unit_price real_mid_unit_price
`, jdVendorIDField) + sql
` + sql
var tmpList []*tGetStoresSkusInfo
beginTime := time.Now()
if err = dao.GetRows(db, &tmpList, sql, sqlParams...); err != nil {