日常bug
This commit is contained in:
@@ -263,22 +263,12 @@ func BeginSavePriceRefer(ctx *jxcontext.Context, cityCodes, skuIDs []int, isAsyn
|
|||||||
v := batchItemList[0].(*model.PriceReferSnapshot)
|
v := batchItemList[0].(*model.PriceReferSnapshot)
|
||||||
for _, appOrg := range apimanager.CurAPIManager.GetAppOrgCodeList(model.VendorIDJD) {
|
for _, appOrg := range apimanager.CurAPIManager.GetAppOrgCodeList(model.VendorIDJD) {
|
||||||
directPrice, _ := jd.GetAPI(appOrg).GetJdSkuDirectPrice(v.SkuID)
|
directPrice, _ := jd.GetAPI(appOrg).GetJdSkuDirectPrice(v.SkuID)
|
||||||
dao.Begin(db)
|
|
||||||
defer func() {
|
|
||||||
if r := recover(); r != nil || err != nil {
|
|
||||||
dao.Rollback(db)
|
|
||||||
if r != nil {
|
|
||||||
panic(r)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}()
|
|
||||||
if directPrice == 0 {
|
if directPrice == 0 {
|
||||||
continue
|
continue
|
||||||
} else {
|
} else {
|
||||||
v.JdDirectPrice = int(directPrice)
|
v.JdDirectPrice = int(directPrice)
|
||||||
dao.UpdateEntity(db, v, "JdDirectPrice")
|
dao.UpdateEntity(db, v, "JdDirectPrice")
|
||||||
}
|
}
|
||||||
dao.Commit(db)
|
|
||||||
}
|
}
|
||||||
return retVal, err
|
return retVal, err
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -627,12 +627,12 @@ func GetStorePriceScoreSnapshot(db *DaoDB, snapDate time.Time) (storePriceScoreS
|
|||||||
sql := `
|
sql := `
|
||||||
SELECT c.store_id,ROUND(count(c.unit_price * IF(d.pay_percentage < 50 , 70, d.pay_percentage) / 100 <= a.mid_unit_price or NULL)/count(*)*100,2) score
|
SELECT c.store_id,ROUND(count(c.unit_price * IF(d.pay_percentage < 50 , 70, d.pay_percentage) / 100 <= a.mid_unit_price or NULL)/count(*)*100,2) score
|
||||||
FROM price_refer_snapshot a
|
FROM price_refer_snapshot a
|
||||||
JOIN store_sku_bind c ON c.sku_id = a.sku_id AND c.status = ? AND c.deleted_at = ?
|
JOIN store_sku_bind c ON c.sku_id = a.sku_id AND c.deleted_at = ?
|
||||||
JOIN store d ON c.store_id = d.id AND d.city_code = a.city_code AND d.deleted_at = ? AND d.status != ?
|
JOIN store d ON c.store_id = d.id AND d.city_code = a.city_code AND d.deleted_at = ? AND d.status != ?
|
||||||
WHERE 1=1
|
WHERE 1=1
|
||||||
`
|
`
|
||||||
sqlParams := []interface{}{
|
sqlParams := []interface{}{
|
||||||
model.StoreSkuBindStatusNormal, utils.DefaultTimeValue,
|
utils.DefaultTimeValue,
|
||||||
utils.DefaultTimeValue, model.StoreStatusDisabled,
|
utils.DefaultTimeValue, model.StoreStatusDisabled,
|
||||||
}
|
}
|
||||||
if !utils.IsTimeZero(snapDate) {
|
if !utils.IsTimeZero(snapDate) {
|
||||||
|
|||||||
@@ -71,10 +71,24 @@ func (p *PurchaseHandler) IsErrCategoryNotExist(err error) (isNotExist bool) {
|
|||||||
return ebaiapi.IsErrCategoryNotExist(err)
|
return ebaiapi.IsErrCategoryNotExist(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func getCheckExdStoreNameAndSeq(storeID int, storeCat *dao.SkuStoreCatInfo) (name string, seq int) {
|
||||||
|
store, err := dao.GetStoreDetail(dao.GetDB(), storeID, model.VendorIDEBAI)
|
||||||
|
if err != nil || store == nil {
|
||||||
|
return storeCat.Name, storeCat.Seq
|
||||||
|
}
|
||||||
|
if strings.Contains(store.Name, model.ExdStoreName) {
|
||||||
|
return storeCat.ExdName, storeCat.ExdSeq
|
||||||
|
} else {
|
||||||
|
return storeCat.Name, storeCat.Seq
|
||||||
|
}
|
||||||
|
return name, seq
|
||||||
|
}
|
||||||
|
|
||||||
func (p *PurchaseHandler) CreateStoreCategory(ctx *jxcontext.Context, storeID int, vendorStoreID string, storeCat *dao.SkuStoreCatInfo) (err error) {
|
func (p *PurchaseHandler) CreateStoreCategory(ctx *jxcontext.Context, storeID int, vendorStoreID string, storeCat *dao.SkuStoreCatInfo) (err error) {
|
||||||
var vendorCatID int64
|
var vendorCatID int64
|
||||||
if globals.EnableEbaiStoreWrite {
|
if globals.EnableEbaiStoreWrite {
|
||||||
vendorCatID, err = api.EbaiAPI.ShopCategoryCreate(utils.Int2Str(storeID), utils.Str2Int64WithDefault(storeCat.ParentVendorCatID, 0), formatCatName(storeCat.Name), jxCatSeq2Ebai(storeCat.Seq))
|
catName, catSeq := getCheckExdStoreNameAndSeq(storeID, storeCat)
|
||||||
|
vendorCatID, err = api.EbaiAPI.ShopCategoryCreate(utils.Int2Str(storeID), utils.Str2Int64WithDefault(storeCat.ParentVendorCatID, 0), formatCatName(catName), jxCatSeq2Ebai(catSeq))
|
||||||
} else {
|
} else {
|
||||||
vendorCatID = jxutils.GenFakeID()
|
vendorCatID = jxutils.GenFakeID()
|
||||||
}
|
}
|
||||||
@@ -84,7 +98,8 @@ 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) {
|
func (p *PurchaseHandler) UpdateStoreCategory(ctx *jxcontext.Context, storeID int, vendorStoreID string, storeCat *dao.SkuStoreCatInfo) (err error) {
|
||||||
if globals.EnableEbaiStoreWrite {
|
if globals.EnableEbaiStoreWrite {
|
||||||
err = api.EbaiAPI.ShopCategoryUpdate(utils.Int2Str(storeID), utils.Str2Int64WithDefault(storeCat.VendorCatID, 0), formatCatName(storeCat.Name), jxCatSeq2Ebai(storeCat.Seq))
|
catName, catSeq := getCheckExdStoreNameAndSeq(storeID, storeCat)
|
||||||
|
err = api.EbaiAPI.ShopCategoryUpdate(utils.Int2Str(storeID), utils.Str2Int64WithDefault(storeCat.VendorCatID, 0), formatCatName(catName), jxCatSeq2Ebai(catSeq))
|
||||||
// todo, 饿百将一个分类重复改名,也会报分类名重复错,特殊处理一下,不过因为GetStoreCategory其实会拉取所有的门店分类,是比较耗时的操作
|
// todo, 饿百将一个分类重复改名,也会报分类名重复错,特殊处理一下,不过因为GetStoreCategory其实会拉取所有的门店分类,是比较耗时的操作
|
||||||
if utils.IsErrMatch(err, "1", []string{"分类名称已经存在"}) {
|
if utils.IsErrMatch(err, "1", []string{"分类名称已经存在"}) {
|
||||||
if cat, err2 := p.GetStoreCategory(ctx, storeID, vendorStoreID, storeCat.Name); err2 == nil {
|
if cat, err2 := p.GetStoreCategory(ctx, storeID, vendorStoreID, storeCat.Name); err2 == nil {
|
||||||
|
|||||||
Reference in New Issue
Block a user