1
This commit is contained in:
@@ -225,7 +225,7 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI
|
||||
|
||||
api := getAPI(getStoreVendorOrgCode(storeID), storeID, vendorStoreID)
|
||||
if isCreate {
|
||||
failedList, err = createTaoVegetable(api, storeSkuList, vendorStoreID, storeID, syncType)
|
||||
failedList, err = createTaoVegetable(ctx, api, storeSkuList, vendorStoreID, storeID, syncType)
|
||||
globals.SugarLogger.Debugf("创建淘鲜达商品异常:%v", err)
|
||||
} else {
|
||||
failedList, err = UpdateTaoVegetable(api, storeSkuList, vendorStoreID, storeID, syncType)
|
||||
@@ -278,7 +278,7 @@ func UpdateTaoVegetable(api *tao_vegetable.API, storeSkuList []*dao.StoreSkuSync
|
||||
}
|
||||
|
||||
// createTaoVegetable 创建淘鲜达商品
|
||||
func createTaoVegetable(api *tao_vegetable.API, storeSkuList []*dao.StoreSkuSyncInfo, vendorStoreID string, storeID int, syncType string) (failedList []*partner.StoreSkuInfoWithErr, err error) {
|
||||
func createTaoVegetable(ctx *jxcontext.Context, api *tao_vegetable.API, storeSkuList []*dao.StoreSkuSyncInfo, vendorStoreID string, storeID int, syncType string) (failedList []*partner.StoreSkuInfoWithErr, err error) {
|
||||
createPram := &request585.AlibabaWdkSkuAddRequest{}
|
||||
param := make([]domain585.AlibabaWdkSkuAddSkuDo, 0, 0)
|
||||
totalCount := len(storeSkuList)
|
||||
@@ -376,22 +376,30 @@ func createTaoVegetable(api *tao_vegetable.API, storeSkuList []*dao.StoreSkuSync
|
||||
createPram.ParamList = ¶m
|
||||
result, err := api.AddStoreSku(createPram)
|
||||
globals.SugarLogger.Debugf("创建淘鲜达商品异常 result :%s", utils.Format4Output(result, false))
|
||||
|
||||
if err != nil {
|
||||
globals.SugarLogger.Debugf("创建淘鲜达商品异常:%s", err.Error())
|
||||
}
|
||||
// 记录失败的同步数据
|
||||
failedList, vendorSkuIdMap = SelectStoreSkuListByFoodList(storeSkuList, *result, storeID, model.VendorChineseNames[model.VendorIDTaoVegetable], syncType)
|
||||
failedList2, vendorSkuIdMap2 := SelectStoreSkuListByFoodList(storeSkuList, *result, storeID, model.VendorChineseNames[model.VendorIDTaoVegetable], syncType)
|
||||
failedList = append(failedList, failedList2...)
|
||||
for k, v := range vendorSkuIdMap2 {
|
||||
vendorSkuIdMap[k] = v
|
||||
}
|
||||
|
||||
createPram.ParamList = nil
|
||||
param = make([]domain585.AlibabaWdkSkuAddSkuDo, 0, 0)
|
||||
}
|
||||
}
|
||||
globals.SugarLogger.Debugf("vendorSkuIdMap=====err := %v", utils.Format4Output(vendorSkuIdMap, false))
|
||||
|
||||
var successSku = make([]int, 0, len(vendorSkuIdMap))
|
||||
for _, v := range storeSkuList {
|
||||
if k, ok := vendorSkuIdMap[utils.Int2Str(v.SkuID)]; ok {
|
||||
v.VendorSkuID = k
|
||||
successSku = append(successSku, v.SkuID)
|
||||
}
|
||||
}
|
||||
failedListStock := updateStoreSkusStockByCreate(ctx, api, storeID, vendorStoreID, successSku)
|
||||
failedList = append(failedList, failedListStock...)
|
||||
globals.SugarLogger.Debugf("storeSkuList=====err := %s", utils.Format4Output(storeSkuList, false))
|
||||
|
||||
globals.SugarLogger.Debugf("createTaoVegetable=====err := %v", err)
|
||||
@@ -543,6 +551,41 @@ func (p *PurchaseHandler) UpdateStoreSkusPrice(ctx *jxcontext.Context, vendorOrg
|
||||
return failedList, err
|
||||
}
|
||||
|
||||
// updateStoreSkusStockByCreate 创建时更新库存数量
|
||||
func updateStoreSkusStockByCreate(ctx *jxcontext.Context, api *tao_vegetable.API, storeID int, vendorStoreID string, storeSkuList []int) (failedList []*partner.StoreSkuInfoWithErr) {
|
||||
param := request589.AlibabaWdkStockPublishRequest{}
|
||||
batchStockPublishDto := &domain589.AlibabaWdkStockPublishBatchStockPublishDto{
|
||||
UpdateType: utils.Int64ToPointer(tao_vegetable.UpdateTypeStoke),
|
||||
BillNo: utils.String2Pointer(utils.Int64ToStr(time.Now().UnixNano())),
|
||||
BillType: utils.Int64ToPointer(tao_vegetable.UpdateTypeStokeBillType),
|
||||
PublishSource: utils.String2Pointer(vendorStoreID),
|
||||
ShopCode: utils.String2Pointer(vendorStoreID),
|
||||
Operator: utils.String2Pointer(ctx.GetUserName()),
|
||||
StockPublishDtos: nil,
|
||||
}
|
||||
stockPublishDtos := make([]domain589.AlibabaWdkStockPublishStockPublishDto, 0, 0)
|
||||
for index, v := range storeSkuList {
|
||||
stockPublishDtos = append(stockPublishDtos, domain589.AlibabaWdkStockPublishStockPublishDto{
|
||||
SkuCode: utils.String2Pointer(utils.Int2Str(v)),
|
||||
Quantity: utils.String2Pointer("9999"),
|
||||
OrderNo: utils.String2Pointer(fmt.Sprintf("%s_%d_%d", vendorStoreID, time.Now().UnixNano(), 84671)),
|
||||
OrderType: utils.String2Pointer("10006800"), // 这个不太确定
|
||||
})
|
||||
if (index+model.YES)%tao_vegetable.MAXHandleCount == model.NO || (index+1) == len(storeSkuList) {
|
||||
batchStockPublishDto.StockPublishDtos = &stockPublishDtos
|
||||
param.BatchStockPublishDto = batchStockPublishDto
|
||||
if err := api.StoreSkuStock(¶m); err != nil {
|
||||
failedList = append(failedList, putils.GetErrMsg2FailedSingleList(v, err, storeID, model.VendorChineseNames[model.VendorIDTaoVegetable], "更新库存错误")...)
|
||||
}
|
||||
stockPublishDtos = make([]domain589.AlibabaWdkStockPublishStockPublishDto, 0, 0)
|
||||
param.BatchStockPublishDto = nil
|
||||
}
|
||||
}
|
||||
globals.SugarLogger.Debugf("UpdateStoreSkusStock=====err := %v", failedList)
|
||||
return failedList
|
||||
}
|
||||
|
||||
// UpdateStoreSkusStock 操作更新库存数量
|
||||
func (p *PurchaseHandler) UpdateStoreSkusStock(ctx *jxcontext.Context, vendorOrgCode string, storeID int, vendorStoreID string, storeSkuList []*partner.StoreSkuInfo) (failedList []*partner.StoreSkuInfoWithErr, err error) {
|
||||
api := getAPI(getStoreVendorOrgCode(storeID), storeID, vendorStoreID)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user