饿鲜达分类同步优化

This commit is contained in:
苏尹岚
2020-02-17 16:08:44 +08:00
parent 3bb8aa3415
commit 94bce18432
5 changed files with 33 additions and 22 deletions

View File

@@ -24,8 +24,9 @@ const (
var (
sensitiveWordRegexp = regexp.MustCompile(`商品名称中含有敏感词(\[.*\])`)
categoryCheck = map[string]string{
"赠品专区": "赠品专区",
categoryCheck = map[int]string{
175: "赠品专区",
18: "烧烤吧台",
}
)
@@ -80,10 +81,9 @@ func getCheckExdStoreNameAndSeq(storeID int, storeCat *dao.SkuStoreCatInfo) (nam
return storeCat.Name, storeCat.Seq, false
}
if strings.Contains(store.Name, model.ExdStoreName) {
if categoryCheck[storeCat.ExdName] != "" {
if categoryCheck[storeCat.ID] != "" {
return storeCat.ExdName, storeCat.ExdSeq, true
}
return storeCat.ExdName, storeCat.ExdSeq, false
} else {
return storeCat.Name, storeCat.Seq, false
}
@@ -93,11 +93,9 @@ func getCheckExdStoreNameAndSeq(storeID int, storeCat *dao.SkuStoreCatInfo) (nam
func (p *PurchaseHandler) CreateStoreCategory(ctx *jxcontext.Context, storeID int, vendorStoreID string, storeCat *dao.SkuStoreCatInfo) (err error) {
var vendorCatID int64
if globals.EnableEbaiStoreWrite {
catName, catSeq, _ := getCheckExdStoreNameAndSeq(storeID, storeCat)
// if isCheck {
// return nil
// }
vendorCatID, err = api.EbaiAPI.ShopCategoryCreate(utils.Int2Str(storeID), utils.Str2Int64WithDefault(storeCat.ParentVendorCatID, 0), formatCatName(catName), jxCatSeq2Ebai(catSeq))
if catName, catSeq, isCheck := getCheckExdStoreNameAndSeq(storeID, storeCat); !isCheck {
vendorCatID, err = api.EbaiAPI.ShopCategoryCreate(utils.Int2Str(storeID), utils.Str2Int64WithDefault(storeCat.ParentVendorCatID, 0), formatCatName(catName), jxCatSeq2Ebai(catSeq))
}
} else {
vendorCatID = jxutils.GenFakeID()
}
@@ -107,11 +105,9 @@ func (p *PurchaseHandler) CreateStoreCategory(ctx *jxcontext.Context, storeID in
func (p *PurchaseHandler) UpdateStoreCategory(ctx *jxcontext.Context, storeID int, vendorStoreID string, storeCat *dao.SkuStoreCatInfo) (err error) {
if globals.EnableEbaiStoreWrite {
catName, catSeq, _ := getCheckExdStoreNameAndSeq(storeID, storeCat)
// if isCheck {
// return nil
// }
err = api.EbaiAPI.ShopCategoryUpdate(utils.Int2Str(storeID), utils.Str2Int64WithDefault(storeCat.VendorCatID, 0), formatCatName(catName), jxCatSeq2Ebai(catSeq))
if catName, catSeq, isCheck := getCheckExdStoreNameAndSeq(storeID, storeCat); !isCheck {
err = api.EbaiAPI.ShopCategoryUpdate(utils.Int2Str(storeID), utils.Str2Int64WithDefault(storeCat.VendorCatID, 0), formatCatName(catName), jxCatSeq2Ebai(catSeq))
}
// todo, 饿百将一个分类重复改名也会报分类名重复错特殊处理一下不过因为GetStoreCategory其实会拉取所有的门店分类是比较耗时的操作
if utils.IsErrMatch(err, "1", []string{"分类名称已经存在"}) {
if cat, err2 := p.GetStoreCategory(ctx, storeID, vendorStoreID, storeCat.Name); err2 == nil {