- upc for ebai and mtwm
This commit is contained in:
@@ -44,6 +44,7 @@ type StoreSkuSyncInfo struct {
|
|||||||
Name string
|
Name string
|
||||||
Unit string
|
Unit string
|
||||||
Img string
|
Img string
|
||||||
|
Upc string
|
||||||
|
|
||||||
VendorVendorCatID int64 `orm:"column(vendor_vendor_cat_id)"`
|
VendorVendorCatID int64 `orm:"column(vendor_vendor_cat_id)"`
|
||||||
|
|
||||||
@@ -122,7 +123,7 @@ func GetStoreSkus(db *DaoDB, vendorID, storeID int, skuIDs []int) (skus []*Store
|
|||||||
sql := `
|
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,
|
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.*,
|
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,
|
t4.%s_category_id vendor_vendor_cat_id,
|
||||||
t5.%s_sync_status cat_sync_status, t5.%s_id 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
|
t5sku.%s_sync_status sku_cat_sync_status, t5sku.%s_id sku_vendor_cat_id
|
||||||
|
|||||||
@@ -36,6 +36,7 @@ type tStoreSkuFullInfo struct {
|
|||||||
Unit string `orm:"size(8)" json:"unit"`
|
Unit string `orm:"size(8)" json:"unit"`
|
||||||
Img string `orm:"size(255)" json:"img"`
|
Img string `orm:"size(255)" json:"img"`
|
||||||
PlaceStr string
|
PlaceStr string
|
||||||
|
Upc string
|
||||||
|
|
||||||
CatName string `orm:"size(255)"`
|
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) {
|
func (p *PurchaseHandler) getDirtyStoreSkus(db *dao.DaoDB, storeID int, skuIDs []int) (storeSkuInfoList []*tStoreSkuFullInfo, err error) {
|
||||||
sql := `
|
sql := `
|
||||||
SELECT t8.price_percentage, t1.*, t2.spec_quality, t2.spec_unit, t2.weight, t2.status sku_status,
|
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.name cat_name,
|
||||||
t4.id cat_id, t4.level cat_level, t5.ebai_id cat_ebai_id,
|
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,
|
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:
|
case 4:
|
||||||
_, err = p.SyncStoreCategory(ctx, rootTask, storeID, false)
|
_, err = p.SyncStoreCategory(ctx, rootTask, storeID, false)
|
||||||
case 5:
|
case 5:
|
||||||
_, err = p.SyncStoreSkus(ctx, rootTask, storeID, nil, true, isContinueWhenError)
|
_, err = p.SyncStoreSkus(ctx, rootTask, storeID, nil, false, isContinueWhenError)
|
||||||
}
|
}
|
||||||
return nil, err
|
return nil, err
|
||||||
}, 6)
|
}, 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) {
|
func (p *PurchaseHandler) DeleteRemoteSkus(storeID int, vendorSkuIDs []string) (err error) {
|
||||||
|
globals.SugarLogger.Debugf("DeleteRemoteSkus饿百 storeID:%d", storeID)
|
||||||
|
|
||||||
if vendorSkuIDs == nil {
|
if vendorSkuIDs == nil {
|
||||||
result, err2 := p.GetAllRemoteSkus(storeID)
|
result, err2 := p.GetAllRemoteSkus(storeID)
|
||||||
if err = err2; err == nil {
|
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) {
|
func (p *PurchaseHandler) DeleteRemoteCategories(storeID int, vendorCatIDs []int64) (err error) {
|
||||||
|
globals.SugarLogger.Debugf("DeleteRemoteCategories饿百 storeID:%d", storeID)
|
||||||
|
|
||||||
strStoreID := utils.Int2Str(storeID)
|
strStoreID := utils.Int2Str(storeID)
|
||||||
if vendorCatIDs == nil {
|
if vendorCatIDs == nil {
|
||||||
result, err2 := api.EbaiAPI.ShopCategoryGet(strStoreID)
|
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)
|
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),
|
"name": jxutils.ComposeSkuName(storeSku.Prefix, storeSku.Name, storeSku.Comment, storeSku.Unit, storeSku.SpecQuality, storeSku.SpecUnit, 0),
|
||||||
"status": jxSkuStatus2Ebai(jxutils.MergeSkuStatus(storeSku.SkuStatus, storeSku.Status)),
|
"status": jxSkuStatus2Ebai(jxutils.MergeSkuStatus(storeSku.SkuStatus, storeSku.Status)),
|
||||||
"left_num": model.MaxStoreSkuStockQty,
|
"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 {
|
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) {
|
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)
|
return dao.SetStoreSkuSyncStatus(ctx, db, model.VendorIDEBAI, storeID, skuIDs, syncStatus)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -141,7 +141,7 @@ func (p *PurchaseHandler) cuSku(db *dao.DaoDB, sku *model.Sku, handler func(skuE
|
|||||||
if err == nil {
|
if err == nil {
|
||||||
skuName := jxutils.ComposeSkuName(skuInfoExt.Prefix, skuInfoExt.Name, sku.Comment, skuInfoExt.Unit, sku.SpecQuality, sku.SpecUnit, 0)
|
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)
|
skuPrice := jxutils.CaculateSkuPrice(skuInfoExt.Price, sku.SpecQuality, sku.SpecUnit, skuInfoExt.Unit)
|
||||||
if skuInfoExt.Upc != "" {
|
if true { //skuInfoExt.Upc != "" {
|
||||||
addParams["upcCode"] = skuInfoExt.Upc
|
addParams["upcCode"] = skuInfoExt.Upc
|
||||||
}
|
}
|
||||||
result, err2 := handler(&skuInfoExt, skuPrice, skuName, shopCategories, addParams)
|
result, err2 := handler(&skuInfoExt, skuPrice, skuName, shopCategories, addParams)
|
||||||
|
|||||||
@@ -263,6 +263,7 @@ func (p *PurchaseHandler) SyncStoreSkus(ctx *jxcontext.Context, parentTask tasks
|
|||||||
"weight": skuItem.Weight,
|
"weight": skuItem.Weight,
|
||||||
"price": foodData["price"],
|
"price": foodData["price"],
|
||||||
"stock": "*",
|
"stock": "*",
|
||||||
|
"upc": skuItem.Upc,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
if globals.EnableStoreWrite && globals.EnableMtwmStoreWrite {
|
if globals.EnableStoreWrite && globals.EnableMtwmStoreWrite {
|
||||||
@@ -309,7 +310,7 @@ func (p *PurchaseHandler) FullSyncStoreSkus(ctx *jxcontext.Context, parentTask t
|
|||||||
case 3:
|
case 3:
|
||||||
_, err = p.SyncStoreCategory(ctx, rootTask, storeID, false)
|
_, err = p.SyncStoreCategory(ctx, rootTask, storeID, false)
|
||||||
case 4:
|
case 4:
|
||||||
// _, err = p.SyncStoreSkus(ctx, rootTask, storeID, nil, true, isContinueWhenError)
|
_, err = p.SyncStoreSkus(ctx, rootTask, storeID, nil, true, isContinueWhenError)
|
||||||
}
|
}
|
||||||
return nil, err
|
return nil, err
|
||||||
}, 5)
|
}, 5)
|
||||||
|
|||||||
Reference in New Issue
Block a user