- up
This commit is contained in:
@@ -3,6 +3,7 @@ package cms
|
|||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
|
||||||
|
"git.rosy.net.cn/baseapi/utils"
|
||||||
"git.rosy.net.cn/jx-callback/business/jxutils"
|
"git.rosy.net.cn/jx-callback/business/jxutils"
|
||||||
|
|
||||||
"git.rosy.net.cn/jx-callback/business/partner/putils"
|
"git.rosy.net.cn/jx-callback/business/partner/putils"
|
||||||
@@ -45,7 +46,7 @@ func CreateStoreCategoryByStoreSku(ctx *jxcontext.Context, vendorID, storeID int
|
|||||||
}
|
}
|
||||||
|
|
||||||
func SyncStorCategories(ctx *jxcontext.Context, parentTask tasksch.ITask, vendorID, storeID int, vendorStoreID string, nameIDs, skuIDs []int, isAsync, isContinueWhenError bool) (hint string, err error) {
|
func SyncStorCategories(ctx *jxcontext.Context, parentTask tasksch.ITask, vendorID, storeID int, vendorStoreID string, nameIDs, skuIDs []int, isAsync, isContinueWhenError bool) (hint string, err error) {
|
||||||
globals.SugarLogger.Debugf("SyncStorCategories %s storeID:%d, userName:%s", storeID, model.VendorChineseNames[vendorID], ctx.GetUserName())
|
globals.SugarLogger.Debugf("SyncStorCategories %s storeID:%d, %s, userName:%s", storeID, model.VendorChineseNames[vendorID], ctx.GetUserName())
|
||||||
handler := partner.GetPurchasePlatformFromVendorID(vendorID).(partner.ISingleStoreStoreSkuHandler)
|
handler := partner.GetPurchasePlatformFromVendorID(vendorID).(partner.ISingleStoreStoreSkuHandler)
|
||||||
num := 0
|
num := 0
|
||||||
db := dao.GetDB()
|
db := dao.GetDB()
|
||||||
@@ -69,16 +70,19 @@ func SyncStorCategories(ctx *jxcontext.Context, parentTask tasksch.ITask, vendor
|
|||||||
}
|
}
|
||||||
} else if model.IsSyncStatusNew(catInfo.StoreCatSyncStatus) { // 新增
|
} else if model.IsSyncStatusNew(catInfo.StoreCatSyncStatus) { // 新增
|
||||||
if err = handler.CreateStoreCategory(ctx, storeID, vendorStoreID, catInfo); err == nil {
|
if err = handler.CreateStoreCategory(ctx, storeID, vendorStoreID, catInfo); err == nil {
|
||||||
refutil.SetObjFieldByName(storeCatMap, syncStatusFieldName, catInfo.VendorCatID)
|
|
||||||
updateFields = append(updateFields, syncStatusFieldName)
|
updateFields = append(updateFields, syncStatusFieldName)
|
||||||
}
|
}
|
||||||
} else if model.IsSyncStatusUpdate(catInfo.StoreCatSyncStatus) { // 修改
|
} else if model.IsSyncStatusUpdate(catInfo.StoreCatSyncStatus) { // 修改
|
||||||
if err = handler.UpdateStoreCategory(ctx, storeID, vendorStoreID, catInfo); err == nil {
|
if err = handler.UpdateStoreCategory(ctx, storeID, vendorStoreID, catInfo); err == nil {
|
||||||
refutil.SetObjFieldByName(storeCatMap, syncStatusFieldName, catInfo.VendorCatID)
|
|
||||||
updateFields = append(updateFields, syncStatusFieldName)
|
updateFields = append(updateFields, syncStatusFieldName)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if err == nil {
|
if err == nil {
|
||||||
|
if vendorID == model.VendorIDMTWM {
|
||||||
|
refutil.SetObjFieldByName(storeCatMap, syncStatusFieldName, catInfo.VendorCatID)
|
||||||
|
} else {
|
||||||
|
refutil.SetObjFieldByName(storeCatMap, syncStatusFieldName, utils.Str2Int64WithDefault(catInfo.VendorCatID, 0))
|
||||||
|
}
|
||||||
_, err = dao.UpdateEntity(db, storeCatMap, updateFields...)
|
_, err = dao.UpdateEntity(db, storeCatMap, updateFields...)
|
||||||
}
|
}
|
||||||
return nil, err
|
return nil, err
|
||||||
@@ -98,7 +102,7 @@ func SyncStorCategories(ctx *jxcontext.Context, parentTask tasksch.ITask, vendor
|
|||||||
}
|
}
|
||||||
|
|
||||||
func SyncStoreSkuNew(ctx *jxcontext.Context, vendorID, storeID int, vendorStoreID string, nameIDs, skuIDs []int, isAsync, isContinueWhenError bool) (hint string, err error) {
|
func SyncStoreSkuNew(ctx *jxcontext.Context, vendorID, storeID int, vendorStoreID string, nameIDs, skuIDs []int, isAsync, isContinueWhenError bool) (hint string, err error) {
|
||||||
singleStoreHandler, _ := partner.GetPrinterPlatformFromVendorID(vendorID).(partner.ISingleStoreStoreSkuHandler)
|
singleStoreHandler, _ := partner.GetPurchasePlatformFromVendorID(vendorID).(partner.ISingleStoreStoreSkuHandler)
|
||||||
if singleStoreHandler != nil {
|
if singleStoreHandler != nil {
|
||||||
if err = CreateStoreCategoryByStoreSku(ctx, vendorID, storeID, vendorStoreID, nameIDs, skuIDs); err != nil {
|
if err = CreateStoreCategoryByStoreSku(ctx, vendorID, storeID, vendorStoreID, nameIDs, skuIDs); err != nil {
|
||||||
return "", err
|
return "", err
|
||||||
@@ -169,14 +173,13 @@ func calVendorPrice4StoreSku(inSku *dao.StoreSkuSyncInfo, pricePercentagePack mo
|
|||||||
}
|
}
|
||||||
|
|
||||||
func sku2Update(vendorID int, sku *dao.StoreSkuSyncInfo, syncStatus int8) (item *dao.KVUpdateItem) {
|
func sku2Update(vendorID int, sku *dao.StoreSkuSyncInfo, syncStatus int8) (item *dao.KVUpdateItem) {
|
||||||
newSyncStatus := int8(0)
|
|
||||||
if syncStatus&(model.SyncFlagDeletedMask|model.SyncFlagNewMask|model.SyncFlagModifiedMask) != 0 {
|
if syncStatus&(model.SyncFlagDeletedMask|model.SyncFlagNewMask|model.SyncFlagModifiedMask) != 0 {
|
||||||
newSyncStatus = 0
|
sku.StoreSkuSyncStatus = 0
|
||||||
} else {
|
} else {
|
||||||
newSyncStatus = sku.StoreSkuSyncStatus & ^syncStatus
|
sku.StoreSkuSyncStatus = sku.StoreSkuSyncStatus & ^syncStatus
|
||||||
}
|
}
|
||||||
kvs := map[string]interface{}{
|
kvs := map[string]interface{}{
|
||||||
dao.GetSyncStatusStructField(model.VendorNames[vendorID]): newSyncStatus,
|
dao.GetSyncStatusStructField(model.VendorNames[vendorID]): sku.StoreSkuSyncStatus,
|
||||||
}
|
}
|
||||||
if syncStatus == model.SyncFlagNewMask {
|
if syncStatus == model.SyncFlagNewMask {
|
||||||
kvs[dao.GetVendorThingIDStructField(model.VendorNames[vendorID])] = sku.VendorSkuID
|
kvs[dao.GetVendorThingIDStructField(model.VendorNames[vendorID])] = sku.VendorSkuID
|
||||||
@@ -213,9 +216,8 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, vendorID,
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
singleStoreHandler, _ := partner.GetPurchasePlatformFromVendorID(vendorID).(partner.ISingleStoreStoreSkuHandler)
|
||||||
singleStoreHandler, _ := partner.GetPrinterPlatformFromVendorID(vendorID).(partner.ISingleStoreStoreSkuHandler)
|
storeSkuHandler := partner.GetPurchasePlatformFromVendorID(vendorID).(partner.IPurchasePlatformStoreSkuHandler)
|
||||||
storeSkuHandler := partner.GetPrinterPlatformFromVendorID(vendorID).(partner.IPurchasePlatformStoreSkuHandler)
|
|
||||||
|
|
||||||
var (
|
var (
|
||||||
createList, updateList []*dao.StoreSkuSyncInfo
|
createList, updateList []*dao.StoreSkuSyncInfo
|
||||||
@@ -239,7 +241,7 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, vendorID,
|
|||||||
}
|
}
|
||||||
} else if model.IsSyncStatusNew(sku.StoreSkuSyncStatus) {
|
} else if model.IsSyncStatusNew(sku.StoreSkuSyncStatus) {
|
||||||
calVendorPrice4StoreSku(sku, storeDetail.PricePercentagePackObj, int(storeDetail.PricePercentage))
|
calVendorPrice4StoreSku(sku, storeDetail.PricePercentagePackObj, int(storeDetail.PricePercentage))
|
||||||
if singleStoreHandler != nil {
|
if singleStoreHandler == nil {
|
||||||
bareSku = storeSkuSyncInfo2Bare(sku)
|
bareSku = storeSkuSyncInfo2Bare(sku)
|
||||||
stockList = append(stockList, bareSku)
|
stockList = append(stockList, bareSku)
|
||||||
} else {
|
} else {
|
||||||
@@ -270,7 +272,6 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, vendorID,
|
|||||||
if _, err = dao.BatchUpdateEntityByKV(db, updateItems); err != nil {
|
if _, err = dao.BatchUpdateEntityByKV(db, updateItems); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
bareSku2Sync := func(bareSkuList []*partner.StoreSkuInfo) (skuList []*dao.StoreSkuSyncInfo) {
|
bareSku2Sync := func(bareSkuList []*partner.StoreSkuInfo) (skuList []*dao.StoreSkuSyncInfo) {
|
||||||
if len(bareSkuList) > 0 {
|
if len(bareSkuList) > 0 {
|
||||||
skuList = make([]*dao.StoreSkuSyncInfo, len(bareSkuList))
|
skuList = make([]*dao.StoreSkuSyncInfo, len(bareSkuList))
|
||||||
|
|||||||
@@ -84,7 +84,7 @@ func (p *PurchaseHandler) DeleteStoreCategory(ctx *jxcontext.Context, storeID in
|
|||||||
func (p *PurchaseHandler) UpdateStoreSkus(ctx *jxcontext.Context, storeID int, vendorStoreID string, storeSkuList []*dao.StoreSkuSyncInfo) (err error) {
|
func (p *PurchaseHandler) UpdateStoreSkus(ctx *jxcontext.Context, storeID int, vendorStoreID string, storeSkuList []*dao.StoreSkuSyncInfo) (err error) {
|
||||||
storeSku := storeSkuList[0]
|
storeSku := storeSkuList[0]
|
||||||
if globals.EnableEbaiStoreWrite {
|
if globals.EnableEbaiStoreWrite {
|
||||||
_, err = api.EbaiAPI.SkuUpdate(vendorStoreID, utils.Str2Int64(storeSku.VendorSkuID), genSkuParamsFromStoreSkuInfo2(storeSku))
|
_, err = api.EbaiAPI.SkuUpdate(utils.Int2Str(storeID), utils.Str2Int64(storeSku.VendorSkuID), genSkuParamsFromStoreSkuInfo2(storeSku))
|
||||||
}
|
}
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@@ -94,7 +94,7 @@ func (p *PurchaseHandler) CreateStoreSkus(ctx *jxcontext.Context, storeID int, v
|
|||||||
storeSku := storeSkuList[0]
|
storeSku := storeSkuList[0]
|
||||||
var vendorSkuID int64
|
var vendorSkuID int64
|
||||||
if globals.EnableEbaiStoreWrite {
|
if globals.EnableEbaiStoreWrite {
|
||||||
vendorSkuID, err = api.EbaiAPI.SkuCreate(vendorStoreID, storeSku.SkuID, genSkuParamsFromStoreSkuInfo2(storeSku))
|
vendorSkuID, err = api.EbaiAPI.SkuCreate(utils.Int2Str(storeID), storeSku.SkuID, genSkuParamsFromStoreSkuInfo2(storeSku))
|
||||||
} else {
|
} else {
|
||||||
vendorSkuID = jxutils.GenFakeID()
|
vendorSkuID = jxutils.GenFakeID()
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user