Accept Merge Request #189: (su -> mark)
Merge Request: 饿先达商品分类完善 Created By: @苏尹岚 Accepted By: @苏尹岚 URL: https://rosydev.coding.net/p/jx-callback/d/jx-callback/git/merge/189
This commit is contained in:
@@ -24,6 +24,10 @@ const (
|
||||
|
||||
var (
|
||||
sensitiveWordRegexp = regexp.MustCompile(`商品名称中含有敏感词(\[.*\])`)
|
||||
categoryCheck = map[int]string{
|
||||
175: "赠品专区",
|
||||
18: "烧烤吧台",
|
||||
}
|
||||
)
|
||||
|
||||
func (p *PurchaseHandler) GetStoreSkusBatchSize(funcID int) (batchSize int) {
|
||||
@@ -71,24 +75,29 @@ func (p *PurchaseHandler) IsErrCategoryNotExist(err error) (isNotExist bool) {
|
||||
return ebaiapi.IsErrCategoryNotExist(err)
|
||||
}
|
||||
|
||||
func getCheckExdStoreNameAndSeq(storeID int, storeCat *dao.SkuStoreCatInfo) (name string, seq int) {
|
||||
func getCheckExdStoreNameAndSeq(storeID int, storeCat *dao.SkuStoreCatInfo) (name string, seq int, isCheck bool) {
|
||||
store, err := dao.GetStoreDetail(dao.GetDB(), storeID, model.VendorIDEBAI)
|
||||
if err != nil || store == nil {
|
||||
return storeCat.Name, storeCat.Seq
|
||||
return storeCat.Name, storeCat.Seq, false
|
||||
}
|
||||
if strings.Contains(store.Name, model.ExdStoreName) {
|
||||
return storeCat.ExdName, storeCat.ExdSeq
|
||||
if categoryCheck[storeCat.ID] != "" {
|
||||
return storeCat.ExdName, storeCat.ExdSeq, true
|
||||
} else {
|
||||
return storeCat.ExdName, storeCat.ExdSeq, false
|
||||
}
|
||||
} else {
|
||||
return storeCat.Name, storeCat.Seq
|
||||
return storeCat.Name, storeCat.Seq, false
|
||||
}
|
||||
return name, seq
|
||||
return name, seq, false
|
||||
}
|
||||
|
||||
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)
|
||||
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()
|
||||
}
|
||||
@@ -98,8 +107,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)
|
||||
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 {
|
||||
@@ -335,7 +345,7 @@ func genSkuParamsFromStoreSkuInfo2(storeSku *dao.StoreSkuSyncInfo, isCreate, isE
|
||||
params["upc"] = storeSku.Upc
|
||||
params["name"] = storeSku.Name
|
||||
params["cat3_id"] = storeSku.ExdCategoryThirdID
|
||||
params["category_id"] = utils.Str2Int64(storeSku.VendorCatID)
|
||||
params["category_id"] = utils.Str2Int64WithDefault(storeSku.VendorCatID, 0)
|
||||
}
|
||||
if storeSku.DescImg != "" {
|
||||
params["rtf"] = storeSku.DescImg
|
||||
|
||||
@@ -762,7 +762,7 @@ func AutoPayForPopluarMan(ctx *jxcontext.Context) (err error) {
|
||||
} else {
|
||||
errCode = model.ErrCodeSuccess
|
||||
}
|
||||
err = event.AddOperateEvent(ctx, ctx.GetTrackInfo(), cms.BuildDiffData(mapResult), errCode, errMsg, 0)
|
||||
err = event.AddOperateEvent(ctx, ctx.GetTrackInfo(), cms.BuildDiffData(mapResult), errCode, errMsg, 0, "AutoPayForPopluarMan")
|
||||
return err
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user