diff --git a/business/model/dao/store_sku.go b/business/model/dao/store_sku.go index 219b09ae8..7947159a0 100644 --- a/business/model/dao/store_sku.go +++ b/business/model/dao/store_sku.go @@ -44,6 +44,7 @@ type StoreSkuSyncInfo struct { Name string Unit string Img string + Upc string VendorVendorCatID int64 `orm:"column(vendor_vendor_cat_id)"` @@ -122,7 +123,7 @@ func GetStoreSkus(db *DaoDB, vendorID, storeID int, skuIDs []int) (skus []*Store sql := ` SELECT t1.id bind_id, t1.price, t1.unit_price, t1.status store_sku_status, %s.%s_id vendor_sku_id, t1.%s_sync_status sku_sync_status, t2.*, - t3.prefix, t3.name, t3.unit, t3.img, + t3.prefix, t3.name, t3.unit, t3.img, t3.upc, t4.%s_category_id vendor_vendor_cat_id, t5.%s_sync_status cat_sync_status, t5.%s_id vendor_cat_id, t5sku.%s_sync_status sku_cat_sync_status, t5sku.%s_id sku_vendor_cat_id diff --git a/business/partner/purchase/ebai/store_sku.go b/business/partner/purchase/ebai/store_sku.go index 7102ccc8d..a446b8a07 100644 --- a/business/partner/purchase/ebai/store_sku.go +++ b/business/partner/purchase/ebai/store_sku.go @@ -36,6 +36,7 @@ type tStoreSkuFullInfo struct { Unit string `orm:"size(8)" json:"unit"` Img string `orm:"size(255)" json:"img"` PlaceStr string + Upc string CatName string `orm:"size(255)"` @@ -78,7 +79,7 @@ var ( func (p *PurchaseHandler) getDirtyStoreSkus(db *dao.DaoDB, storeID int, skuIDs []int) (storeSkuInfoList []*tStoreSkuFullInfo, err error) { sql := ` SELECT t8.price_percentage, t1.*, t2.spec_quality, t2.spec_unit, t2.weight, t2.status sku_status, - t3.prefix, t3.name, t2.comment, t3.is_global, t3.unit, t3.img, + t3.prefix, t3.name, t2.comment, t3.is_global, t3.unit, t3.img, t3.upc, t4.name cat_name, t4.id cat_id, t4.level cat_level, t5.ebai_id cat_ebai_id, t4p.id parent_cat_id, t5p.ebai_id parent_cat_ebai_id, t5p.ebai_sync_status parent_cat_ebai_sync_status, @@ -157,7 +158,7 @@ func (p *PurchaseHandler) FullSyncStoreSkus(ctx *jxcontext.Context, parentTask t case 4: _, err = p.SyncStoreCategory(ctx, rootTask, storeID, false) case 5: - _, err = p.SyncStoreSkus(ctx, rootTask, storeID, nil, true, isContinueWhenError) + _, err = p.SyncStoreSkus(ctx, rootTask, storeID, nil, false, isContinueWhenError) } return nil, err }, 6) @@ -277,6 +278,8 @@ func (p *PurchaseHandler) GetAllRemoteSkus(storeID int) (skus []map[string]inter } func (p *PurchaseHandler) DeleteRemoteSkus(storeID int, vendorSkuIDs []string) (err error) { + globals.SugarLogger.Debugf("DeleteRemoteSkus饿百 storeID:%d", storeID) + if vendorSkuIDs == nil { result, err2 := p.GetAllRemoteSkus(storeID) if err = err2; err == nil { @@ -302,6 +305,8 @@ func (p *PurchaseHandler) DeleteRemoteSkus(storeID int, vendorSkuIDs []string) ( } func (p *PurchaseHandler) DeleteRemoteCategories(storeID int, vendorCatIDs []int64) (err error) { + globals.SugarLogger.Debugf("DeleteRemoteCategories饿百 storeID:%d", storeID) + strStoreID := utils.Int2Str(storeID) if vendorCatIDs == nil { result, err2 := api.EbaiAPI.ShopCategoryGet(strStoreID) @@ -328,9 +333,9 @@ func (p *PurchaseHandler) RefreshStoresAllSkusID(ctx *jxcontext.Context, parentT } /////////// -func genSkuParamsFromStoreSkuInfo(storeSku *tStoreSkuFullInfo) map[string]interface{} { +func genSkuParamsFromStoreSkuInfo(storeSku *tStoreSkuFullInfo) (params map[string]interface{}) { price := jxutils.CaculateSkuVendorPrice(storeSku.Price, storeSku.PricePercentage) - return map[string]interface{}{ + params = map[string]interface{}{ "name": jxutils.ComposeSkuName(storeSku.Prefix, storeSku.Name, storeSku.Comment, storeSku.Unit, storeSku.SpecQuality, storeSku.SpecUnit, 0), "status": jxSkuStatus2Ebai(jxutils.MergeSkuStatus(storeSku.SkuStatus, storeSku.Status)), "left_num": model.MaxStoreSkuStockQty, @@ -347,6 +352,11 @@ func genSkuParamsFromStoreSkuInfo(storeSku *tStoreSkuFullInfo) map[string]interf }, }, } + // todo 饿百如果给的UPC是空要报错,但如果我要删除UPC怎么弄? + if storeSku.Upc != "" { + params["upc"] = storeSku.Upc + } + return params } func jxSkuStatus2Ebai(status int) int { @@ -531,6 +541,7 @@ func (p *PurchaseHandler) updateLocalCatAsNew(db *dao.DaoDB, localCatMap map[str } func (p *PurchaseHandler) setStoreSkuSyncStatus(ctx *jxcontext.Context, db *dao.DaoDB, storeID int, skuIDs []int, syncStatus int) (num int64, err error) { + globals.SugarLogger.Debugf("setStoreSkuSyncStatus饿百 storeID:%d", storeID) return dao.SetStoreSkuSyncStatus(ctx, db, model.VendorIDEBAI, storeID, skuIDs, syncStatus) } diff --git a/business/partner/purchase/jd/sku.go b/business/partner/purchase/jd/sku.go index 88726232a..8fb3d7797 100644 --- a/business/partner/purchase/jd/sku.go +++ b/business/partner/purchase/jd/sku.go @@ -141,7 +141,7 @@ func (p *PurchaseHandler) cuSku(db *dao.DaoDB, sku *model.Sku, handler func(skuE if err == nil { skuName := jxutils.ComposeSkuName(skuInfoExt.Prefix, skuInfoExt.Name, sku.Comment, skuInfoExt.Unit, sku.SpecQuality, sku.SpecUnit, 0) skuPrice := jxutils.CaculateSkuPrice(skuInfoExt.Price, sku.SpecQuality, sku.SpecUnit, skuInfoExt.Unit) - if skuInfoExt.Upc != "" { + if true { //skuInfoExt.Upc != "" { addParams["upcCode"] = skuInfoExt.Upc } result, err2 := handler(&skuInfoExt, skuPrice, skuName, shopCategories, addParams) diff --git a/business/partner/purchase/mtwm/store_sku.go b/business/partner/purchase/mtwm/store_sku.go index 8c2e54203..e6863543f 100644 --- a/business/partner/purchase/mtwm/store_sku.go +++ b/business/partner/purchase/mtwm/store_sku.go @@ -263,6 +263,7 @@ func (p *PurchaseHandler) SyncStoreSkus(ctx *jxcontext.Context, parentTask tasks "weight": skuItem.Weight, "price": foodData["price"], "stock": "*", + "upc": skuItem.Upc, }, } if globals.EnableStoreWrite && globals.EnableMtwmStoreWrite { @@ -309,7 +310,7 @@ func (p *PurchaseHandler) FullSyncStoreSkus(ctx *jxcontext.Context, parentTask t case 3: _, err = p.SyncStoreCategory(ctx, rootTask, storeID, false) case 4: - // _, err = p.SyncStoreSkus(ctx, rootTask, storeID, nil, true, isContinueWhenError) + _, err = p.SyncStoreSkus(ctx, rootTask, storeID, nil, true, isContinueWhenError) } return nil, err }, 5)