! 门店商品同步标志分为price, sale和基础信息modify`
This commit is contained in:
@@ -41,7 +41,7 @@ func (p *PurchaseHandler) SyncStoreCategory(ctx *jxcontext.Context, parentTask t
|
||||
globals.SugarLogger.Debugf("RetailCatDelete vendorStoreID:%s, MtwmID:%s", vendorStoreID, catInfo.MtwmID)
|
||||
err = api.MtwmAPI.RetailCatDelete(vendorStoreID, catInfo.MtwmID)
|
||||
}
|
||||
} else if catInfo.MtwmSyncStatus&(model.SyncFlagNewMask|model.SyncFlagModifiedMask) != 0 { // 新增
|
||||
} else if catInfo.MtwmSyncStatus&(model.SyncFlagNewMask|model.SyncFlagStoreSkuModifiedMask) != 0 { // 新增
|
||||
catName := catInfo.CatName
|
||||
subCatName := ""
|
||||
originName := ""
|
||||
@@ -259,43 +259,52 @@ func (p *PurchaseHandler) SyncStoreSkus(ctx *jxcontext.Context, parentTask tasks
|
||||
if skuItem.SkuSyncStatus&model.SyncFlagNewMask == 0 && skuItem.VendorSkuID != "" {
|
||||
err = api.MtwmAPI.RetailDelete(vendorStoreID, skuItem.VendorSkuID)
|
||||
}
|
||||
} else if skuItem.SkuSyncStatus&(model.SyncFlagModifiedMask|model.SyncFlagNewMask) != 0 {
|
||||
} else if skuItem.SkuSyncStatus&(model.SyncFlagStoreSkuModifiedMask|model.SyncFlagNewMask) != 0 {
|
||||
foodData := make(map[string]interface{})
|
||||
foodDataList[0] = foodData
|
||||
foodData[mtwmapi.KeyAppFoodCode] = utils.Int2Str(skuItem.ID)
|
||||
foodData["name"] = jxutils.ComposeSkuName(skuItem.Prefix, skuItem.Name, skuItem.Comment, skuItem.Unit, skuItem.SpecQuality, skuItem.SpecUnit, 30)
|
||||
foodData["description"] = skuItem.Comment
|
||||
foodData["price"] = jxutils.IntPrice2Standard(int64(jxutils.CaculateSkuVendorPrice(int(skuItem.Price), int(storeDetail.PricePercentage))))
|
||||
foodData["min_order_count"] = 1
|
||||
foodData["unit"] = skuItem.Unit
|
||||
foodData["box_num"] = 0
|
||||
foodData["box_price"] = 0.0
|
||||
foodData["category_name"] = skuItem.VendorCatID
|
||||
foodData["is_sold_out"] = skuStatusJX2Mtwm(jxutils.MergeSkuStatus(skuItem.Status, skuItem.StoreSkuStatus))
|
||||
foodData["picture"] = skuItem.Img
|
||||
foodData["sequence"] = skuItem.Seq
|
||||
if skuItem.VendorVendorCatID != 0 {
|
||||
foodData["tag_id"] = utils.Int64ToStr(skuItem.VendorVendorCatID)
|
||||
} else {
|
||||
// foodData["tag_id"] = utils.Int64ToStr(defVendorCatID)
|
||||
}
|
||||
skus := []map[string]interface{}{
|
||||
map[string]interface{}{
|
||||
"sku_id": foodData[mtwmapi.KeyAppFoodCode],
|
||||
"spec": jxutils.ComposeSkuSpec(skuItem.SpecQuality, skuItem.SpecUnit),
|
||||
"price": foodData["price"],
|
||||
"stock": "*",
|
||||
"upc": skuItem.Upc,
|
||||
},
|
||||
}
|
||||
if foodData["tag_id"] != nil {
|
||||
skus[0]["weight"] = skuItem.Weight // weight字段仅限服饰鞋帽、美妆、日用品、母婴、生鲜果蔬、生活超市下的便利店/超市门店品类的商家使用
|
||||
}
|
||||
foodData["skus"] = skus
|
||||
if globals.EnableMtwmStoreWrite {
|
||||
if err = api.MtwmAPI.RetailBatchInitData(vendorStoreID, foodDataList); err == nil {
|
||||
storeSkuBind.MtwmID = int64(skuItem.ID)
|
||||
updateFields = append(updateFields, model.FieldMtwmID)
|
||||
if skuItem.SkuSyncStatus&(model.SyncFlagModifiedMask|model.SyncFlagNewMask|model.SyncFlagPriceMask) != 0 {
|
||||
foodData["name"] = jxutils.ComposeSkuName(skuItem.Prefix, skuItem.Name, skuItem.Comment, skuItem.Unit, skuItem.SpecQuality, skuItem.SpecUnit, 30)
|
||||
foodData["description"] = skuItem.Comment
|
||||
foodData["price"] = jxutils.IntPrice2Standard(int64(jxutils.CaculateSkuVendorPrice(int(skuItem.Price), int(storeDetail.PricePercentage))))
|
||||
foodData["min_order_count"] = 1
|
||||
foodData["unit"] = skuItem.Unit
|
||||
foodData["box_num"] = 0
|
||||
foodData["box_price"] = 0.0
|
||||
foodData["category_name"] = skuItem.VendorCatID
|
||||
foodData["is_sold_out"] = skuStatusJX2Mtwm(jxutils.MergeSkuStatus(skuItem.Status, skuItem.StoreSkuStatus))
|
||||
foodData["picture"] = skuItem.Img
|
||||
foodData["sequence"] = skuItem.Seq
|
||||
if skuItem.VendorVendorCatID != 0 {
|
||||
foodData["tag_id"] = utils.Int64ToStr(skuItem.VendorVendorCatID)
|
||||
} else {
|
||||
// foodData["tag_id"] = utils.Int64ToStr(defVendorCatID)
|
||||
}
|
||||
skus[0]["spec"] = jxutils.ComposeSkuSpec(skuItem.SpecQuality, skuItem.SpecUnit)
|
||||
skus[0]["price"] = foodData["price"]
|
||||
skus[0]["stock"] = "*"
|
||||
skus[0]["upc"] = skuItem.Upc
|
||||
if foodData["tag_id"] != nil {
|
||||
skus[0]["weight"] = skuItem.Weight // weight字段仅限服饰鞋帽、美妆、日用品、母婴、生鲜果蔬、生活超市下的便利店/超市门店品类的商家使用
|
||||
}
|
||||
if globals.EnableMtwmStoreWrite {
|
||||
if err = api.MtwmAPI.RetailBatchInitData(vendorStoreID, foodDataList); err == nil {
|
||||
storeSkuBind.MtwmID = int64(skuItem.ID)
|
||||
updateFields = append(updateFields, model.FieldMtwmID)
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if skuItem.SkuSyncStatus&(model.SyncFlagSaleMask) != 0 {
|
||||
sellStatus := skuStatusJX2Mtwm(jxutils.MergeSkuStatus(skuItem.Status, skuItem.StoreSkuStatus))
|
||||
if globals.EnableMtwmStoreWrite {
|
||||
err = api.MtwmAPI.RetailSkuSellStatus(vendorStoreID, foodDataList, sellStatus)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user