This commit is contained in:
邹宗楠
2023-09-22 14:36:44 +08:00
parent 1189a6c5b5
commit 9f5c394f59

View File

@@ -156,51 +156,100 @@ type Skus struct {
// BatchInitData 批量创建商品
func BatchInitData(ctx *jxcontext.Context, fromSku []*mtwmapi.AppFood, toApi *mtwmapi.API, vendorStoreID string) error {
globals.SugarLogger.Debugf("=")
globals.SugarLogger.Debugf("===========[] %s", utils.Format4Output(fromSku[0], false))
foodDataList := make([]map[string]interface{}, len(fromSku))
for i, storeSku := range fromSku {
foodData := make(map[string]interface{})
foodData[mtwmapi.KeyAppFoodCode] = storeSku.AppFoodCode
//foodData["skus"] = storeSku.Skus
skus := make([]*Skus, 0, 0)
if err := json.Unmarshal([]byte(storeSku.Skus), &skus); err != nil {
return err
if storeSku.AppFoodCode != "" {
foodData[mtwmapi.KeyAppFoodCode] = storeSku.AppFoodCode
} else {
foodData[mtwmapi.KeyAppFoodCode] = time.Now().Unix()
}
skus2 := make([]*Skus, 0, 0)
for i2 := 0; i2 < len(skus); i2++ {
if skus[i2].Weight != "" && skus[i2].WeightForUnit != "" {
skus[i2].WeightForUnit = ""
}
skus2 = append(skus2, skus[i2])
}
skusString, err := json.Marshal(skus2)
if err != nil {
return err
}
foodData["skus"] = string(skusString)
skus := []map[string]interface{}{
map[string]interface{}{
"sku_id": foodData[mtwmapi.KeyAppFoodCode],
},
}
foodData["skus"] = skus
foodData["name"] = utils.LimitUTF8StringLen(storeSku.Name, mtwmapi.MaxSkuNameCharCount)
foodData["description"] = storeSku.Description
foodData["price"] = storeSku.Price
if storeSku.MinOrderCount != 0 {
foodData["min_order_count"] = storeSku.MinOrderCount
} else {
foodData["min_order_count"] = 1
}
foodData["min_order_count"] = storeSku.MinOrderCount
foodData["unit"] = storeSku.Unit
//todo 增加商品必填属性
attr := mtwm.SwitchAttr(toApi, vendorStoreID, int64(storeSku.TagID), 0, storeSku.Name)
if attr != "" {
foodData["common_attr_value"] = attr
}
foodData["category_code"] = storeSku.CategoryCode
foodData["category_name"] = storeSku.CategoryName
if storeSku.CategoryCode != "" {
foodData["category_code"] = storeSku.CategoryCode
} else {
foodData["category_name"] = storeSku.CategoryName
}
foodData["is_sold_out"] = storeSku.IsSoldOut
foodData["picture"] = storeSku.Picture
foodData["picture_contents"] = storeSku.PictureContents
foodData["sequence"] = storeSku.Sequence
foodData["tag_id"] = storeSku.TagID
foodData["tag_id"] = storeSku.TagID
foodDataList[i] = foodData
skusAttr := make([]*Skus, 0, 0)
if err := json.Unmarshal([]byte(storeSku.Skus), &skusAttr); err != nil {
return err
}
//skus2 := make([]*Skus, 0, 0)
for i2 := 0; i2 < len(skusAttr); i2++ {
if skusAttr[i2].Weight != "" && skusAttr[i2].WeightForUnit != "" {
skusAttr[i2].WeightForUnit = ""
}
//skus2 = append(skus2, skusAttr[i2])
skus[0]["spec"] = skusAttr[i2].Spec
skus[0]["price"] = skusAttr[i2].Price
skus[0]["stock"] = skusAttr[i2].Stock
if skusAttr[i2].Upc != "" {
skus[0]["upc"] = skusAttr[i2].Upc
}
skus[0]["ladder_box_num"] = skusAttr[i2].LadderBoxNum
skus[0]["ladder_box_price"] = skusAttr[i2].BoxPrice
if foodData["tag_id"] != nil {
skus[0]["weight"] = skusAttr[i2].Weight // weight字段仅限服饰鞋帽、美妆、日用品、母婴、生鲜果蔬、生活超市下的便利店/超市门店品类的商家使用
}
break
}
////foodData["skus"] = storeSku.Skus
//skusString, err := json.Marshal(skus2)
//if err != nil {
// return err
//}
//foodData["skus"] = string(skusString)
//
//foodData["name"] = utils.LimitUTF8StringLen(storeSku.Name, mtwmapi.MaxSkuNameCharCount)
//foodData["description"] = storeSku.Description
//foodData["price"] = storeSku.Price
//if storeSku.MinOrderCount != 0 {
// foodData["min_order_count"] = storeSku.MinOrderCount
//} else {
// foodData["min_order_count"] = 1
//}
//foodData["unit"] = storeSku.Unit
//attr := mtwm.SwitchAttr(toApi, vendorStoreID, int64(storeSku.TagID), 0, storeSku.Name)
//if attr != "" {
// foodData["common_attr_value"] = attr
//}
//if storeSku.CategoryCode != "" {
// foodData["category_code"] = storeSku.CategoryCode
//} else {
// foodData["category_name"] = storeSku.CategoryName
//}
//
//foodData["is_sold_out"] = storeSku.IsSoldOut
//foodData["picture"] = storeSku.Picture
//foodData["picture_contents"] = storeSku.PictureContents
//foodData["sequence"] = storeSku.Sequence
//foodData["tag_id"] = storeSku.TagID
//foodData["tag_id"] = storeSku.TagID
//foodDataList[i] = foodData
}
count := len(foodDataList) / 5