diff --git a/business/jxstore/cms/store_sku.go b/business/jxstore/cms/store_sku.go index 6e23b1fd0..f16aef1aa 100644 --- a/business/jxstore/cms/store_sku.go +++ b/business/jxstore/cms/store_sku.go @@ -181,6 +181,12 @@ func getGetStoresSkusBaseSQL(db *dao.DaoDB, storeIDs, skuIDs []int, isFocus bool // 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) + } if isAct { sql += ` JOIN ( @@ -429,11 +435,15 @@ func GetStoresSkusNew(ctx *jxcontext.Context, storeIDs, skuIDs []int, isFocus bo LIMIT ? OFFSET ?` sqlParams = append(sqlParams, sqlParamsPage) } - sql = ` + jdVendorIDField := "t2.jd_id" + if globals.IsUseThingMap { + jdVendorIDField = "t2m.vendor_thing_id" + } + sql = fmt.Sprintf(` 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, t2.jd_id sku_jd_id, + 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.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, @@ -441,7 +451,7 @@ func GetStoresSkusNew(ctx *jxcontext.Context, storeIDs, skuIDs []int, isFocus bo t4.jd_sync_status, t4.ebai_sync_status, t4.mtwm_sync_status, t4.jd_price, t4.ebai_price, t4.mtwm_price, t4.jx_price, t4.status_sale_begin, t4.status_sale_end - ` + sql + `, jdVendorIDField) + sql var tmpList []*tGetStoresSkusInfo beginTime := time.Now() if err = dao.GetRows(db, &tmpList, sql, sqlParams...); err != nil {