From 46a43f78fcf7aace5d81f2c835858b1bf81f6670 Mon Sep 17 00:00:00 2001 From: gazebo Date: Mon, 15 Jul 2019 15:44:36 +0800 Subject: [PATCH] =?UTF-8?q?-=20GetActStoreSkuVendorInfo=E4=B8=AD=E5=AF=B9?= =?UTF-8?q?=E4=BA=8Estore=5Fsku=5Fbind=E7=94=A8LEFT=20JOIN?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/model/dao/act.go | 2 +- business/partner/purchase/ebai/act.go | 36 ++++++++++++++++----------- business/partner/purchase/jd/act.go | 14 ++++++----- 3 files changed, 30 insertions(+), 22 deletions(-) diff --git a/business/model/dao/act.go b/business/model/dao/act.go index 783d3b41c..ceb8318cf 100644 --- a/business/model/dao/act.go +++ b/business/model/dao/act.go @@ -101,7 +101,7 @@ func GetActStoreSkuVendorInfo(db *DaoDB, actID int, vendorIDs, storeIDs, skuIDs sql += fmt.Sprintf(` %s 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 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_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 WHERE t1.act_id = ? `, leftOrEmpty) diff --git a/business/partner/purchase/ebai/act.go b/business/partner/purchase/ebai/act.go index 51de3b5ea..a0caa3713 100644 --- a/business/partner/purchase/ebai/act.go +++ b/business/partner/purchase/ebai/act.go @@ -32,12 +32,14 @@ func actOrderRules2Ebai(actOrderRules []*model.ActOrderRule) (ebaiRules []*ebaia func actStoreSu2Ebai4Add(oneStoreActSku []*model.ActStoreSku2) (skus []*ebaiapi.ActivitySkuInfo4Add) { for _, v := range oneStoreActSku { - if model.IsSyncStatusNeedCreate(v.SyncStatus) { - skus = append(skus, &ebaiapi.ActivitySkuInfo4Add{ - SkuID: v.VendorSkuID, - SpecialPrice: v.ActualActPrice, - Stock: v.Stock, - }) + if v.VendorSkuID != "" { + if model.IsSyncStatusNeedCreate(v.SyncStatus) { + skus = append(skus, &ebaiapi.ActivitySkuInfo4Add{ + SkuID: v.VendorSkuID, + SpecialPrice: v.ActualActPrice, + Stock: v.Stock, + }) + } } } return skus @@ -45,13 +47,15 @@ func actStoreSu2Ebai4Add(oneStoreActSku []*model.ActStoreSku2) (skus []*ebaiapi. func actStoreSu2Ebai4Update(oneStoreActSku []*model.ActStoreSku2) (skus []*ebaiapi.ActivitySkuInfo4Update) { for _, v := range oneStoreActSku { - if model.IsSyncStatusNeedUpdate(v.SyncStatus) { - skus = append(skus, &ebaiapi.ActivitySkuInfo4Update{ - ShopID: utils.Int2Str(v.StoreID), - SkuID: v.VendorSkuID, - SpecialPrice: v.ActPrice, - Stock: v.Stock, - }) + if v.VendorSkuID != "" { + if model.IsSyncStatusNeedUpdate(v.SyncStatus) { + skus = append(skus, &ebaiapi.ActivitySkuInfo4Update{ + ShopID: utils.Int2Str(v.StoreID), + SkuID: v.VendorSkuID, + SpecialPrice: v.ActPrice, + Stock: v.Stock, + }) + } } } return skus @@ -59,8 +63,10 @@ func actStoreSu2Ebai4Update(oneStoreActSku []*model.ActStoreSku2) (skus []*ebaia func actStoreSu2Ebai4Delete(oneStoreActSku []*model.ActStoreSku2) (skus []string) { for _, v := range oneStoreActSku { - if model.IsSyncStatusNeedDelete(v.SyncStatus) { - skus = append(skus, v.VendorSkuID) + if v.VendorSkuID != "" { + if model.IsSyncStatusNeedDelete(v.SyncStatus) { + skus = append(skus, v.VendorSkuID) + } } } return skus diff --git a/business/partner/purchase/jd/act.go b/business/partner/purchase/jd/act.go index a461eda46..9e12a91c3 100644 --- a/business/partner/purchase/jd/act.go +++ b/business/partner/purchase/jd/act.go @@ -166,12 +166,14 @@ func AdjustPromotionSku(promotionType int, infoId int64, outInfoId string, skus func storeSku2Jd(actStoreSku []*model.ActStoreSku2, handler func(syncStatus int) bool) (jdActStoreSku []*jdapi.PromotionSku) { for _, v := range actStoreSku { if handler(v.SyncStatus) { - jdActStoreSku = append(jdActStoreSku, &jdapi.PromotionSku{ - StationNo: utils.Str2Int64(v.VendorStoreID), - SkuID: utils.Str2Int64(v.VendorSkuID), - PromotionPrice: v.ActualActPrice, - LimitSkuCount: v.Stock, - }) + if v.VendorStoreID != "" && v.VendorSkuID != "" { + jdActStoreSku = append(jdActStoreSku, &jdapi.PromotionSku{ + StationNo: utils.Str2Int64(v.VendorStoreID), + SkuID: utils.Str2Int64(v.VendorSkuID), + PromotionPrice: v.ActualActPrice, + LimitSkuCount: v.Stock, + }) + } } } return jdActStoreSku