1
This commit is contained in:
@@ -225,7 +225,7 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI
|
|||||||
|
|
||||||
api := getAPI(getStoreVendorOrgCode(storeID), storeID, vendorStoreID)
|
api := getAPI(getStoreVendorOrgCode(storeID), storeID, vendorStoreID)
|
||||||
if isCreate {
|
if isCreate {
|
||||||
failedList, err = createTaoVegetable(api, storeSkuList, vendorStoreID, storeID, syncType)
|
failedList, err = createTaoVegetable(ctx, api, storeSkuList, vendorStoreID, storeID, syncType)
|
||||||
globals.SugarLogger.Debugf("创建淘鲜达商品异常:%v", err)
|
globals.SugarLogger.Debugf("创建淘鲜达商品异常:%v", err)
|
||||||
} else {
|
} else {
|
||||||
failedList, err = UpdateTaoVegetable(api, storeSkuList, vendorStoreID, storeID, syncType)
|
failedList, err = UpdateTaoVegetable(api, storeSkuList, vendorStoreID, storeID, syncType)
|
||||||
@@ -278,7 +278,7 @@ func UpdateTaoVegetable(api *tao_vegetable.API, storeSkuList []*dao.StoreSkuSync
|
|||||||
}
|
}
|
||||||
|
|
||||||
// createTaoVegetable 创建淘鲜达商品
|
// 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{}
|
createPram := &request585.AlibabaWdkSkuAddRequest{}
|
||||||
param := make([]domain585.AlibabaWdkSkuAddSkuDo, 0, 0)
|
param := make([]domain585.AlibabaWdkSkuAddSkuDo, 0, 0)
|
||||||
totalCount := len(storeSkuList)
|
totalCount := len(storeSkuList)
|
||||||
@@ -376,22 +376,30 @@ func createTaoVegetable(api *tao_vegetable.API, storeSkuList []*dao.StoreSkuSync
|
|||||||
createPram.ParamList = ¶m
|
createPram.ParamList = ¶m
|
||||||
result, err := api.AddStoreSku(createPram)
|
result, err := api.AddStoreSku(createPram)
|
||||||
globals.SugarLogger.Debugf("创建淘鲜达商品异常 result :%s", utils.Format4Output(result, false))
|
globals.SugarLogger.Debugf("创建淘鲜达商品异常 result :%s", utils.Format4Output(result, false))
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
globals.SugarLogger.Debugf("创建淘鲜达商品异常:%s", err.Error())
|
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
|
createPram.ParamList = nil
|
||||||
param = make([]domain585.AlibabaWdkSkuAddSkuDo, 0, 0)
|
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 {
|
for _, v := range storeSkuList {
|
||||||
if k, ok := vendorSkuIdMap[utils.Int2Str(v.SkuID)]; ok {
|
if k, ok := vendorSkuIdMap[utils.Int2Str(v.SkuID)]; ok {
|
||||||
v.VendorSkuID = k
|
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("storeSkuList=====err := %s", utils.Format4Output(storeSkuList, false))
|
||||||
|
|
||||||
globals.SugarLogger.Debugf("createTaoVegetable=====err := %v", err)
|
globals.SugarLogger.Debugf("createTaoVegetable=====err := %v", err)
|
||||||
@@ -543,6 +551,41 @@ func (p *PurchaseHandler) UpdateStoreSkusPrice(ctx *jxcontext.Context, vendorOrg
|
|||||||
return failedList, err
|
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) {
|
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)
|
api := getAPI(getStoreVendorOrgCode(storeID), storeID, vendorStoreID)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user