diff --git a/business/jxstore/cms/system_store_sku.go b/business/jxstore/cms/system_store_sku.go index 75c71360e..fdfc34075 100644 --- a/business/jxstore/cms/system_store_sku.go +++ b/business/jxstore/cms/system_store_sku.go @@ -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