From d22fef3bc78cce6d5f4c2477e51bdb7a39e3588c Mon Sep 17 00:00:00 2001 From: gazebo Date: Wed, 11 Dec 2019 11:43:52 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8E=BB=E9=99=A4=E4=B8=80=E4=BA=9B=E5=AF=B9?= =?UTF-8?q?=E4=BA=8Ejd=5Fid=E4=B8=8Ejd=5Fsync=5Fstatus=E7=9A=84=E7=9B=B4?= =?UTF-8?q?=E6=8E=A5=E4=BE=9D=E8=B5=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/cms/sku.go | 13 ++++++++++--- business/jxstore/cms/store_sku.go | 10 +++++----- business/jxstore/cms/sync.go | 7 +++++++ business/model/dao/act.go | 16 +++++++++++++--- business/model/dao/sku.go | 5 ----- controllers/cms_store_sku.go | 2 -- 6 files changed, 35 insertions(+), 18 deletions(-) diff --git a/business/jxstore/cms/sku.go b/business/jxstore/cms/sku.go index 578c5b46f..022b2da19 100644 --- a/business/jxstore/cms/sku.go +++ b/business/jxstore/cms/sku.go @@ -345,10 +345,17 @@ func GetSkuNames(ctx *jxcontext.Context, keyword string, isBySku bool, params ma keywordLike := "%" + keyword + "%" sql += " AND (t1.name LIKE ? OR t1.prefix LIKE ? OR t2.comment LIKE ? OR t1.upc LIKE ?" sqlParams = append(sqlParams, keywordLike, keywordLike, keywordLike, keywordLike) - + if globals.IsUseThingMap { + sql += " OR (SELECT COUNT(*) FROM thing_map tm WHERE tm.vendor_thing_id LIKE ? AND tm.thing_type = ? AND tm.thing_id = t2.id AND tm.deleted_at = ?) > 0" + sqlParams = append(sqlParams, keywordLike, model.ThingTypeSku, utils.DefaultTimeValue) + } if keywordInt64, err2 := strconv.ParseInt(keyword, 10, 64); err2 == nil { - sql += " OR t1.id = ? OR t2.id = ? OR t2.jd_id = ? OR t1.category_id = ?" - sqlParams = append(sqlParams, keywordInt64, keywordInt64, keywordInt64, keywordInt64) + sql += " OR t1.id = ? OR t2.id = ? OR t1.category_id = ?" + sqlParams = append(sqlParams, keywordInt64, keywordInt64, keywordInt64) + if !globals.IsUseThingMap { + sql += " OR t2.jd_id = ?" + sqlParams = append(sqlParams, keywordInt64) + } } sql += ")" } diff --git a/business/jxstore/cms/store_sku.go b/business/jxstore/cms/store_sku.go index a05685086..2fe1594fe 100644 --- a/business/jxstore/cms/store_sku.go +++ b/business/jxstore/cms/store_sku.go @@ -268,10 +268,6 @@ func getGetStoresSkusBaseSQL(db *dao.DaoDB, storeIDs, skuIDs []int, isFocus bool } sql += ")" } - // if params["jdID"] != nil { - // sql += " AND t1.jd_id = ?" - // sqlParams = append(sqlParams, params["jdID"].(int)) - // } if params["name"] != nil { sql += " AND t1.name LIKE ?" sqlParams = append(sqlParams, "%"+params["name"].(string)+"%") @@ -316,7 +312,11 @@ func getGetStoresSkusBaseSQL(db *dao.DaoDB, storeIDs, skuIDs []int, isFocus bool } sql += " AND ( 1 = 0" if params["jdSyncStatus"] != nil && realVendorMap[model.VendorIDJD] == 1 { - sql += " OR (t4.jd_sync_status & ? <> 0 AND t2.jd_id <> 0 AND t1.status = ? AND t2.status = ?)" + 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 = ?)" + } sqlParams = append(sqlParams, params["jdSyncStatus"], model.SkuStatusNormal, model.SkuStatusNormal) } if params["ebaiSyncStatus"] != nil && realVendorMap[model.VendorIDEBAI] == 1 { diff --git a/business/jxstore/cms/sync.go b/business/jxstore/cms/sync.go index 29a4cf774..3e4a711c3 100644 --- a/business/jxstore/cms/sync.go +++ b/business/jxstore/cms/sync.go @@ -657,6 +657,13 @@ func isSyncError(err error) bool { } func (v *VendorSync) SyncSkuNames(ctx *jxcontext.Context, nameIDs []int, isForce, isAsync, isContinueWhenError bool) (hint string, err error) { + if !globals.IsUseThingMap { + return v.oldSyncSkuNames(ctx, nameIDs, isForce, isAsync, isContinueWhenError) + } + return SyncSkus(ctx, nil, nil, nil, nameIDs, nil, isAsync) +} + +func (v *VendorSync) oldSyncSkuNames(ctx *jxcontext.Context, nameIDs []int, isForce, isAsync, isContinueWhenError bool) (hint string, err error) { db := dao.GetDB() if isForce { sql := ` diff --git a/business/model/dao/act.go b/business/model/dao/act.go index 62981ba55..baf49b436 100644 --- a/business/model/dao/act.go +++ b/business/model/dao/act.go @@ -77,9 +77,13 @@ func GetActStoreSkuVendorList(db *DaoDB, actID int, vendorIDs, storeIDs, skuIDs pageSize = jxutils.FormalizePageSize(pageSize) leftOrEmpty := "" + jdVendorIDField := "t4.jd_id" if len(vendorIDs) == 1 && (vendorIDs[0] == -1 || vendorIDs[0] == model.VendorIDJX) { leftOrEmpty = "LEFT" } + if globals.IsUseThingMap { + jdVendorIDField = "t4m.vendor_thing_id" + } sql := fmt.Sprintf(` SELECT SQL_CALC_FOUND_ROWS t1.*, @@ -87,7 +91,7 @@ func GetActStoreSkuVendorList(db *DaoDB, actID int, vendorIDs, storeIDs, skuIDs t3.vendor_store_id, CASE t2.vendor_id WHEN 0 THEN - t4.jd_id + %s WHEN 1 THEN t5.mtwm_id WHEN 3 THEN @@ -99,7 +103,7 @@ func GetActStoreSkuVendorList(db *DaoDB, actID int, vendorIDs, storeIDs, skuIDs t6.name store_name, t7.name sku_name_name, t7.unit, t7.prefix FROM act_store_sku t1 - %s JOIN act_store_sku_map t2 ON t2.act_id = ? AND t2.bind_id = t1.id AND t2.deleted_at = ?`, leftOrEmpty) + %s JOIN act_store_sku_map t2 ON t2.act_id = ? AND t2.bind_id = t1.id AND t2.deleted_at = ?`, jdVendorIDField, leftOrEmpty) sqlParams := []interface{}{ actID, utils.DefaultTimeValue, @@ -111,7 +115,13 @@ func GetActStoreSkuVendorList(db *DaoDB, actID int, vendorIDs, storeIDs, skuIDs } sql += ` LEFT JOIN store_map t3 ON t3.store_id = t1.store_id AND t3.vendor_id = t2.vendor_id AND t3.deleted_at = ? - JOIN sku t4 ON t4.id = t1.sku_id + JOIN sku t4 ON t4.id = t1.sku_id` + if globals.IsUseThingMap { + sql += ` + LEFT JOIN thing_map t4m ON t4m.thing_id = t4.id AND t4m.thing_type = ? AND t4m.vendor_id = t2.vendor_id AND t4m.vendor_org_code = t3.vendor_org_code AND t4m.deleted_at = ?` + sqlParams = append(sqlParams, model.ThingTypeSku, utils.DefaultTimeValue) + } + sql += ` LEFT JOIN store_sku_bind t5 ON t5.sku_id = t1.sku_id AND t5.store_id = t1.store_id AND t5.deleted_at = ? LEFT JOIN store t6 ON t6.id = t1.store_id JOIN sku_name t7 ON t7.id = t4.name_id diff --git a/business/model/dao/sku.go b/business/model/dao/sku.go index 6c2180333..a55b11581 100644 --- a/business/model/dao/sku.go +++ b/business/model/dao/sku.go @@ -189,11 +189,6 @@ func GetSkuCategoryWithVendor(db *DaoDB, vendorIDs []int, appOrgCodes []string, t1p.name parent_cat_name, t1pm.vendor_thing_id parent_vendor_cat_id, t1pm.sync_status parent_cat_sync_status - /* - t1.jd_sync_status sync_status, - t1.jd_id vendor_cat_id, - t1p.jd_id vendor_parent_cat_id - */ FROM sku_category t1 LEFT JOIN thing_map t1m ON t1m.thing_id = t1.id AND t1m.thing_type = ? AND t1m.deleted_at = ? LEFT JOIN sku_category t1p ON t1p.id = t1.parent_id diff --git a/controllers/cms_store_sku.go b/controllers/cms_store_sku.go index 8378b7e49..8785f512b 100644 --- a/controllers/cms_store_sku.go +++ b/controllers/cms_store_sku.go @@ -28,7 +28,6 @@ type StoreSkuController struct { // @Param prefix query string false "商品前缀(不要求完全一致)" // @Param categoryID query int false "商品所属类别ID" // @Param unit query string false "商品单位" -// @Param jdID query int false "商品京东ID" // @Param fromStatus query int false "查询起始状态(0:不可售,1:可售)" // @Param toStatus query int false "查询结束状态(0:不可售,1:可售)" // @Param stFromTime query string false "统计SKU开始时间" @@ -69,7 +68,6 @@ func (c *StoreSkuController) GetStoreSkus() { // @Param prefix query string false "商品前缀(不要求完全一致)" // @Param categoryID query int false "商品所属类别ID" // @Param unit query string false "商品单位" -// @Param jdID query int false "商品京东ID" // @Param fromStatus query int false "查询起始状态(0:不可售,1:可售)" // @Param toStatus query int false "查询结束状态(0:不可售,1:可售)" // @Param stFromTime query string false "统计SKU开始时间"