package gomei import "regexp" // //import ( // "fmt" // gomei "git.rosy.net.cn/baseapi/platformapi/gome_live_show" // "regexp" // "strings" // "time" // // "git.rosy.net.cn/baseapi/platformapi/jdshopapi" // // "git.rosy.net.cn/jx-callback/globals/api" // // "git.rosy.net.cn/baseapi/utils" // "git.rosy.net.cn/jx-callback/business/jxutils" // "git.rosy.net.cn/jx-callback/business/jxutils/jxcontext" // "git.rosy.net.cn/jx-callback/business/model" // "git.rosy.net.cn/jx-callback/business/model/dao" // "git.rosy.net.cn/jx-callback/business/partner" // "git.rosy.net.cn/jx-callback/business/partner/putils" // "git.rosy.net.cn/jx-callback/globals" //) // const ( deleteErr1 = "已经删除的不能直接下架" deleteErr2 = "SKU" deleteErr3 = "已删除" ) var ( sensitiveWordRegexp = regexp.MustCompile(`商品名称中含有敏感词(\[.*\])`) ) //func (p *PurchaseHandler) CreateStoreSkus(ctx *jxcontext.Context, storeID int, vendorStoreID string, storeSkuList []*dao.StoreSkuSyncInfo) (failedList []*partner.StoreSkuInfoWithErr, err error) { // if globals.EnableJdShopWrite { // if vendorStoreID == model.GoMeiShopMainVendorStoreID { // for _, v := range storeSkuList { // //判断京东商城上是否有这个商品了,如果有就是添加规格而不是创建商品 // //如果是京东商城2,是下架的商品,弄上架 ,先改为有下架的不管,重新建 // name := filterSensitiveWord(v.Name) // flag := false // result, err := getAPI(v.VendorOrgCode).SearchWare4Valid(name, 1, 100) // if err != nil { // failedList = putils.GetErrMsg2FailedSingleList(storeSkuList, err, storeID, model.VendorChineseNames[model.VendorIDJDShop], "创建商品") // return failedList, err // } // for _, v := range result.Data { // if v.Title == name { // flag = true // //下架 // if v.WareStatus == 2 || v.WareStatus == 1028 { // flag = false // //wareStatusUpdateWareID = utils.Int64ToStr(v.WareID) // } // break // } // } // if flag { // wareSaveParam := &jdshopapi.WareSaveParam{ // WareID: result.Data[0].WareID, // Title: v.Name, // CategoryID: int(v.VendorVendorCatID), // VenderID: jdshopapi.VendorID2, // Length: 200, // Wide: 100, // Height: 100, // Weight: "1", // BrandID: jdshopapi.BrandIdNO, // ShopCategorys: []int{utils.Str2Int(v.VendorCatID)}, // PromiseID: -1, // MultiCateProps: []interface{}{}, // PropsSet: []interface{}{}, // SaleAttrs: []interface{}{}, // WareStatus: 8, // } // var wareSaveSkus []*jdshopapi.WareSaveSkus // //先把已有的规格放进去 // wareResult, _ := getAPI(v.VendorOrgCode).FindWareById(wareSaveParam.WareID) // if wareResult != nil { // for _, v := range wareResult.Images { // wareSaveParam.ImageMap.Num0000000000 = append(wareSaveParam.ImageMap.Num0000000000, &jdshopapi.CreateSkuParamImages{ // ColorID: v.ColorID, // ImgURL: v.ImgURL, // ImgIndex: v.ImgIndex, // }) // } // } // skus, _, _ := getAPI(v.VendorOrgCode).SearchSkuList2([]int{int(wareSaveParam.WareID)}) // if len(skus) > 0 { // for _, vv := range skus { // sku := &jdshopapi.WareSaveSkus{ // SkuID: vv.SkuID, // JdPrice: utils.Float64ToStr(vv.JdPrice), // StockNum: vv.StockNum, // Props: []*jdshopapi.WareSaveSkusProp{ // &jdshopapi.WareSaveSkusProp{ // AttrID: utils.Str2Int(vv.SaleAttrs[0].AttrID), // AttrValues: utils.Str2Int64(vv.SaleAttrs[0].AttrValues[0]), // AttrValueAlias: vv.SaleAttrs[0].AttrValueAlias[0], // }, // }, // OuterID: vv.OuterID, // } // wareSaveSkus = append(wareSaveSkus, sku) // } // } // // } // for _, vv := range v.StoreSkuSyncInfoJds { // v.JdsWareID = result.Data[0].WareID // vv.JdsWareID = result.Data[0].WareID // _, wareSaveSku, err := buildUpdateSkusParam(v, vv, true) // wareSaveSkus = append(wareSaveSkus, wareSaveSku) // if err != nil { // failedList = putils.GetErrMsg2FailedSingleList(storeSkuList, err, storeID, model.VendorChineseNames[model.VendorIDJDShop], "创建商品") // return failedList, err // } // // wareSaveParam.Skus = wareSaveSkus // if wareResult, err2 := getAPI(v.VendorOrgCode).WareSave(wareSaveParam); err2 == nil { // for _, vvv := range wareResult { // if vvv.OuterID == wareSaveSku.OuterID { // vv.VendorSkuID = utils.Int64ToStr(vvv.SkuID) // break // } // } // //创建商品后要上架,改价,库存,门店关注商品等 // if err = getAPI(v.VendorOrgCode).WareDoUpdate("up", utils.Int64ToStr(wareSaveParam.WareID)); err == nil { // err = getAPI(v.VendorOrgCode).StoreSkuBindStore(true, []string{vv.VendorSkuID}, nil) // } // } // // } // } // } else { // // 商品不存在,直接添加商品,添加分类,添加规格,门店关注上线 // otherImg := make([]string, 0, 0) // if v.Img2 != "" { // otherImg = append(otherImg, v.Img2) // } // if v.Img3 != "" { // otherImg = append(otherImg, v.Img3) // } // if v.Img4 != "" { // otherImg = append(otherImg, v.Img4) // } // if v.Img5 != "" { // otherImg = append(otherImg, v.Img5) // } // // // 规格集合 // spec := &gomei.SpecProperty{ // SpecCode: v.VendorNameID, // SpecName: v.Unit, // SpecValues: nil, // } // specValuesList := make([]*gomei.SpecValues, 0, 0) // for _, c := range v.StoreSkuSyncInfoJds { // specValues := &gomei.SpecValues{ // SpecValueCode: c.JdsStockSwitch, // SpecValueName: fmt.Sprintf("%f", c.SpecQuality) + c.SpecUnit, // } // specValuesList = append(specValuesList, specValues) // } // spec.SpecValues = append(spec.SpecValues, specValuesList...) // specProperty := append(make([]*gomei.SpecProperty, 0, 0), spec) // // api.GuoMeiApi.CreateMerchantGoodsOnStore(&gomei.CreateGoodsListToStore{ // GoodsName: v.SkuName, // MainPictureURL: v.Img, // Detail: v.Name, // Cat3Code: v.VendorCatID, // SpecProperty: specProperty, // 规格集合 // SkuSaleList: nil, // 售卖组 // GoodsType: v.SkuVendorCatID, // OtherPictureURL: otherImg, // VideoURL: "", // SpecCode: "", // SpecName: "", // SpecValues: "", // SpecValueCode: "", // SpecValueName: "", // Specification: "", // 规格集合 // MarketPrice: utils.Int64ToFloat64(v.Price), // ThirdSkuCode: string(v.SkuID), // }) // _, _, wareSaveParam, err := buildCreateWareParam(v) // if err != nil { // failedList = putils.GetErrMsg2FailedSingleList(storeSkuList, err, storeID, model.VendorChineseNames[model.VendorIDJDShop], "创建商品") // return failedList, err // } // var ( // wareID int64 // resultAttrs = make(map[string]int64) // ) // var createSkuResult []*jdshopapi.WareSaveResult // createSkuResult, err = getAPI(v.VendorOrgCode).WareSave(wareSaveParam) // wareID = createSkuResult[0].WareID // // var paramAttrs = make(map[string]*jdshopapi.WareSaveSkus) // for _, vv := range wareSaveParam.Skus { // for _, vvv := range vv.Props { // paramAttrs[vvv.AttrValueAlias] = vv // } // } // for _, vv1 := range createSkuResult { // for _, vvv1 := range vv1.Props { // if paramAttrs[vvv1.AttrValueAlias] != nil { // resultAttrs[paramAttrs[vvv1.AttrValueAlias].OuterID] = vv1.SkuID // } // } // } // for _, vv2 := range v.StoreSkuSyncInfoJds { // vv2.JdsWareID = createSkuResult[0].WareID // if resultAttrs[utils.Int2Str(vv2.SkuID)] != 0 { // vv2.VendorSkuID = utils.Int64ToStr(resultAttrs[utils.Int2Str(vv2.SkuID)]) // } // } // //创建商品后要上架,改价,库存,门店关注商品等 // if err = getAPI(v.VendorOrgCode).WareDoUpdate("up", utils.Int64ToStr(wareID)); err == nil { // for _, vv2 := range v.StoreSkuSyncInfoJds { // if resultAttrs[utils.Int2Str(vv2.SkuID)] != 0 { // err = getAPI(v.VendorOrgCode).StoreSkuBindStore(true, []string{utils.Int64ToStr(resultAttrs[utils.Int2Str(vv2.SkuID)])}, nil) // } // } // } // // } // if err != nil { // failedList = putils.GetErrMsg2FailedSingleList(storeSkuList, err, storeID, model.VendorChineseNames[model.VendorIDJDShop], "创建商品") // return failedList, err // } else { // //追加商品透图 // imageURL := "" // img := v.Img // if img != "" { // suffix := img[strings.LastIndex(img, "."):] // if suffix != ".png" { // if resBinary, _, _ := jxutils.DownloadFileByURL(img + model.SkuNameImgToPng); err == nil { // downloadURL, _ := jxutils.UploadExportContent(resBinary, utils.Int64ToStr(time.Now().Unix())) // imageURL, _ = uploadImg(downloadURL, name, "tou", v.VendorOrgCode) // } // } else { // imageURL, _ = uploadImg(img, name, "tou", v.VendorOrgCode) // } // } // if v.VendorOrgCode == "1" { // api.JdShopAPI.TransparentImageAdd(wareID, imageURL) // } // } // } // if err != nil { // failedList = putils.GetErrMsg2FailedSingleList(storeSkuList, err, storeID, model.VendorChineseNames[model.VendorIDJDShop], "创建商品") // return failedList, err // } // // } // } else { // //如果是普通店关注商品 // for _, v := range storeSkuList { // for _, vv := range v.StoreSkuSyncInfoJds { // storeSkus, _ := dao.GetStoresSkusInfo(dao.GetDB(), []int{model.GoMeiShopMainStoreID}, []int{vv.SkuID}) // if len(storeSkus) > 0 { // for _, storeSku := range storeSkus { // if storeSku.JdsID != 0 { // status := vv.Status // stock := vv.Stock // price := vv.VendorPrice // // 商品上架 // if status == model.StoreSkuBindStatusNormal { // _, err = getAPI(vv.VendorOrgCode).OnOffLineGoodsOnStore(&gomei.ShelfGoodsForStoreReq{ // StoreCode: vendorStoreID, // SkuCode: []string{storeSku.GmID}, // ShelveStatus: gomei.PutOnTheShelf, // }) // if err != nil { // failedList = putils.GetErrMsg2FailedSingleList(storeSkuList, err, storeID, model.VendorChineseNames[model.VendorGoMei], "国美商品已经存在,关注商品") // return failedList, err // } // } // // 修改库存 // if stock != 0 { // _, err = getAPI(vv.VendorOrgCode).UpdateStockForStore(&gomei.StoreGoodsStockUpdateReq{ // StoreCode: vendorStoreID, // ItemStocks: []*gomei.StoreSkuNum{{SkuCode: storeSku.GmID, StockNum: gomei.GoMeiMaxStock}}, // }) // if err != nil { // failedList = putils.GetErrMsg2FailedSingleList(storeSkuList, err, storeID, model.VendorChineseNames[model.VendorIDJDShop], "国美修改商品库存") // return failedList, err // } // } // // 同步价格 // _, err = getAPI(v.VendorOrgCode).UpdateOnGoodsPriceForStore(&gomei.StoreGoodsPriceUpdateReq{ // StoreCode: vendorStoreID, // SkuCode: storeSku.GmID, // SalePrice: utils.Int64ToFloat64(price), // }) // if err != nil { // failedList = putils.GetErrMsg2FailedSingleList(storeSkuList, err, storeID, model.VendorChineseNames[model.VendorIDJDShop], "国美关注商品价格同步") // return failedList, err // } // } // } // } // } // } // } // } // return failedList, err //} // //func (p *PurchaseHandler) UpdateStoreSkus(ctx *jxcontext.Context, storeID int, vendorStoreID string, storeSkuList []*dao.StoreSkuSyncInfo) (failedList []*partner.StoreSkuInfoWithErr, err error) { // if globals.EnableJdShopWrite && vendorStoreID == model.JdShopMainVendorStoreID { // if vendorStoreID == model.JdShopMainVendorStoreID { // for _, v := range storeSkuList { // name := filterSensitiveWord(v.Name) // updateWareParam := &jdshopapi.UpdateWareParam{ // WareID: v.JdsWareID, // Title: name, // VenderID: jdshopapi.VenderID, // // PromiseID: jdshopapi.JdsPromiseID, // ShopCategorys: []int{utils.Str2Int(v.VendorCatID)}, // JdPrice: jxutils.IntPrice2Standard(v.UnitPrice), // } // if v.VendorVendorCatID != jdshopapi.JdsOtherMeatCatID { // updateWareParam.PromiseID = jdshopapi.JdsPromiseID // } // var desc string // if v.DescImg != "" { // pic3, err2 := uploadImg2(v.DescImg, name, "desc", v.VendorOrgCode) // err = err2 // desc = `



` // } else { // desc = `



` // } // updateWareParam.Introduction = desc // updateWareParam.MobileDesc = desc // img := "" // if v.ImgMix != "" { // img = v.ImgMix // } else { // img = v.Img // } // if img != "" { // pic1, err2 := uploadImg2(img, name, "1", v.VendorOrgCode) // err = err2 // err = getAPI(v.VendorOrgCode).ImageUpdate(v.JdsWareID, 1, pic1) // if v.Img2 != "" { // pic2, err2 := uploadImg2(v.Img2, name, "2", v.VendorOrgCode) // err = err2 // err = getAPI(v.VendorOrgCode).ImageUpdate(v.JdsWareID, 2, pic2) // } else { // err = getAPI(v.VendorOrgCode).ImageUpdate(v.JdsWareID, 2, pic1) // } // err = getAPI(v.VendorOrgCode).ImageUpdate(v.JdsWareID, 3, pic1) // } // var features = []*jdshopapi.CreateSkuParamFeatures{ // &jdshopapi.CreateSkuParamFeatures{ // Key: "is7ToReturn", //不支持7天无理由退货 // Value: "0", // }, // &jdshopapi.CreateSkuParamFeatures{ // Key: "tssp", //支持自提 // Value: "", // }, // // &jdshopapi.CreateSkuParamFeatures{ // // Key: "fdms", //分单? // // Value: "1", // // }, // } // updateWareParam.Features = features // err = getAPI(v.VendorOrgCode).UpdateWare(updateWareParam) // if err == nil { // //追加商品透图 // imageURL := "" // img := v.Img // if img != "" { // suffix := img[strings.LastIndex(img, "."):] // if suffix != ".png" { // if resBinary, _, err := jxutils.DownloadFileByURL(img + model.SkuNameImgToPng); err == nil { // downloadURL, err2 := jxutils.UploadExportContent(resBinary, utils.Int64ToStr(time.Now().Unix())) // err = err2 // imageURL, err = uploadImg(downloadURL, name, "tou", v.VendorOrgCode) // } // } else { // imageURL, err = uploadImg(img, name, "tou", v.VendorOrgCode) // } // } // if v.VendorOrgCode == "1" { // api.JdShopAPI.TransparentImageAdd(v.JdsWareID, imageURL) // } // } // for _, vv := range v.StoreSkuSyncInfoJds { // updateSkusParam, _, err := buildUpdateSkusParam(v, vv, false) // if err != nil { // failedList = putils.GetErrMsg2FailedSingleList(storeSkuList, err, storeID, model.VendorChineseNames[model.VendorIDJDShop], "更新商品基础信息") // return failedList, err // } // _, err = getAPI(v.VendorOrgCode).UpdateSkus(updateSkusParam) // } // } // } else { // for _, v := range storeSkuList { // var wareSaveSkus []*jdshopapi.WareSaveSkus // name := filterSensitiveWord(v.Name) // //jds2 // wareSaveParam := &jdshopapi.WareSaveParam{ // WareID: v.JdsWareID, // Title: name, // CategoryID: int(v.VendorVendorCatID), // VenderID: jdshopapi.VendorID2, // Length: 100, // Wide: 100, // Height: 100, // Weight: utils.Int2Str(v.Weight), // BrandID: jdshopapi.BrandIdNO, // ShopCategorys: []int{utils.Str2Int(v.VendorCatID)}, // PromiseID: -1, // MultiCateProps: []interface{}{}, // PropsSet: []interface{}{}, // SaleAttrs: []interface{}{}, // } // var desc string // if v.DescImg != "" { // pic3, err2 := uploadImg2(v.DescImg, name, "desc", v.VendorOrgCode) // err = err2 // desc = `



` // } else { // desc = `



` // } // wareSaveParam.Notes = desc // //上传京东图片 // //规则,有两张就传两张,没有就重复传一张 // pic1, _ := uploadImg(v.Img, name, "1", v.VendorOrgCode) // img1 := &jdshopapi.CreateSkuParamImages{ // ColorID: "0000000000", // ImgIndex: 1, // ImgURL: pic1, // } // img2 := &jdshopapi.CreateSkuParamImages{ // ColorID: "0000000000", // ImgIndex: 2, // } // if v.Img2 == "" { // img2.ImgURL = pic1 // } else { // pic2, err2 := uploadImg(v.Img, name, "2", v.VendorOrgCode) // err = err2 // img2.ImgURL = pic2 // } // img3 := &jdshopapi.CreateSkuParamImages{ // ColorID: "0000000000", // ImgIndex: 3, // ImgURL: pic1, // } // //jds2图片 // wareSaveParam.ImageMap.Num0000000000 = append(wareSaveParam.ImageMap.Num0000000000, img1, img2, img3) // for _, vv := range v.StoreSkuSyncInfoJds { // _, wareSaveSku, err2 := buildUpdateSkusParam(v, vv, true) // err = err2 // wareSaveSku.SkuID = utils.Str2Int64(vv.VendorSkuID) // wareSaveSkus = append(wareSaveSkus, wareSaveSku) // } // getAPI("2").WareSave(wareSaveParam) // } // } // if err != nil { // failedList = putils.GetErrMsg2FailedSingleList(storeSkuList, err, storeID, model.VendorChineseNames[model.VendorIDJDShop], "更新商品基础信息") // } // } // return failedList, err //} // //func buildUpdateSkusParam(storeSku *dao.StoreSkuSyncInfo, v *dao.StoreSkuSyncInfo, vendorStoreId string, isCreate bool) (updateSkusParam *jdshopapi.UpdateSkusParam, wareSku *jdshopapi.WareSaveSkus, err error) { // // 判断分类是否存在 // storeCategoriesList, err := GetAllStoreCategories(string(model.VendorGoMei), vendorStoreId) // if err != nil { // return nil, nil, err // } // isHaveCategory := false // for _, sc := range storeCategoriesList { // if sc.CategoryCode == string(storeSku.VendorVendorCatID) { // isHaveCategory = true // break // } // } // // 分类不存在则,创建分类 // if !isHaveCategory { // if _, err := api.GuoMeiApi.AddStoreCategory(&gomei.StoreAddGoodsCategory{ // StoreCode: vendorStoreId, // CategoryName: storeSku.CategoryName, // Rank: 0, // }); err != nil { // return nil, nil, err // } // } // // // 规格组,规格设置(获取分类下的所有规格),线上规格 // attrsList, err := GetAllSpecSizeList(&gomei.QueryGoodsSpecSizeReq{ // Cat3Code: string(storeSku.VendorVendorCatID), // SpecName: "", // Page: gomei.Page{ // PageNumber: gomei.PageNumber, // PageSize: gomei.PageSize, // }, // }) // if err != nil { // return nil, nil, err // } // // 本地规格 // var ggValueID string //规格的属性id // var ggValueName string //规格名 // // 判断本地规格和在线上是否存在 // for _, goMeiSize := range attrsList { // if goMeiSize.SpecName == v.Unit { // ggValueID = goMeiSize.SpecCode // ggValueName = goMeiSize.SpecName // break // } // } // if ggValueID == "" { // // 规格不存在,创建规格,规格只有一个,规格属性有多个! // specList := make([]*gomei.SpecValueName, 0, 0) // for _, sl := range storeSku.StoreSkuSyncInfoJds { // data1 := &gomei.SpecValueName{SpecValueName: utils.Float64ToStr(float64(sl.SpecQuality)) + sl.Unit} // specList = append(specList, data1) // } // _, err = api.GuoMeiApi.CreateGoodsSpceList(&gomei.CreateSpecDetailParam{ // SpecName: ggValueName, // SpecValues: specList, // 多个规格属性 // Cat3Code: string(storeSku.VendorVendorCatID), // Remark: "", // }) // if err != nil { // return nil, nil, err // } // } else { // // 存在规格,判断里面,规格属性是否充足 // // } // //} // //func buildCreateWareParam(storeSku *dao.StoreSkuSyncInfo) (createSkuParamWare *jdshopapi.CreateSkuParamWare, createSkuParamSkus []*jdshopapi.CreateSkuParamSkus, wareSaveParam *jdshopapi.WareSaveParam, err error) { // var ( // images []*jdshopapi.CreateSkuParamImages // vendorCatID int // ) // if storeSku.VendorCatID == "0" { // resultCat, _ := getAPI(storeSku.VendorOrgCode).FindShopCategories() // 查询商家所有店内分类 // for _, v := range resultCat { // if v.Name == storeSku.CategoryName { // vendorCatID = int(v.CID) // break // } // } // } else { // vendorCatID = utils.Str2Int(storeSku.VendorCatID) // } // // name := filterSensitiveWord(storeSku.Name) // wareSaveParam = &jdshopapi.WareSaveParam{ // WareID: 0, // Title: name, // CategoryID: int(storeSku.VendorVendorCatID), // LastCategoryID: int(storeSku.VendorVendorCatID), // VenderID: jdshopapi.VendorID2, // Length: 200, // Wide: 100, // Height: 100, // Weight: "1", // BrandID: jdshopapi.BrandIdNO, // WareStatus: 8, //上架待审核,没用,建好了都要再上架一次 // ShopCategorys: []int{vendorCatID}, // PromiseID: 0, // MultiCateProps: []interface{}{}, // PropsSet: []interface{}{}, // SaleAttrs: []interface{}{}, // TransparentImageAudit: []interface{}{}, // OptionType: 1, // AvailableFeatures: []interface{}{}, // CharacteristicService: []interface{}{}, // ExtendFeatures: []interface{}{}, // TempID: "10569615110055200", //必须要这个东西,不知道是啥 // } // createSkuParamWare = &jdshopapi.CreateSkuParamWare{ // Title: name, // ShopCategorys: []int{vendorCatID}, // CategoryID: int(storeSku.VendorVendorCatID), // BrandID: jdshopapi.JxBrandId, // // TransportID: jdshopapi.TransportID, // WareStatus: 8, //上架待审核 // OuterID: utils.Int2Str(storeSku.NameID), // // VenderID: jdshopapi.VenderID, // Length: 100, // Width: 100, // Height: 100, // Weight: 0.5, // JdPrice: jxutils.IntPrice2Standard(storeSku.UnitPrice), // // MarketPrice: jxutils.IntPrice2Standard(storeSku.UnitPrice), // // PromiseID: jdshopapi.JdsPromiseID, // } // // if storeSku.VendorOrgCode == "1" { // createSkuParamWare.VenderID = jdshopapi.VenderID // } // // if storeSku.VendorVendorCatID != jdshopapi.JdsOtherMeatCatID { // createSkuParamWare.PromiseID = jdshopapi.JdsPromiseID // } // // if storeSku.VendorVendorCatID == jdshopapi.JdsBeefCatID { // createSkuParamWare.MultiCategoryID = jdshopapi.JdsBeefLastCatID // } // // //上传京东图片 // //规则,有两张就传两张,没有就重复传一张 // pic1, err := uploadImg(storeSku.Img, name, "1", storeSku.VendorOrgCode) // img1 := &jdshopapi.CreateSkuParamImages{ // ColorID: "0000000000", // ImgIndex: 1, // ImgURL: pic1, // } // img2 := &jdshopapi.CreateSkuParamImages{ // ColorID: "0000000000", // ImgIndex: 2, // } // if storeSku.Img2 == "" { // img2.ImgURL = pic1 // } else { // pic2, err2 := uploadImg(storeSku.Img, name, "2", storeSku.VendorOrgCode) // err = err2 // img2.ImgURL = pic2 // } // img3 := &jdshopapi.CreateSkuParamImages{ // ColorID: "0000000000", // ImgIndex: 3, // ImgURL: pic1, // } // images = append(images, img1) // images = append(images, img2) // images = append(images, img3) // createSkuParamWare.Images = images // //jds2图片 // // img4 := img1 // // img4.ImgZoneID = "0000000000" // // img5 := img2 // // img5.ImgZoneID = "0000000000" // // img6 := img3 // // img6.ImgZoneID = "0000000000" // wareSaveParam.ImageMap.Num0000000000 = append(wareSaveParam.ImageMap.Num0000000000, img1, img2, img3) // // //商品详情拼接 // var desc string // if storeSku.DescImg != "" { // pic3, err2 := uploadImg(storeSku.DescImg, name, "desc", storeSku.VendorOrgCode) // err = err2 // desc = `



` // } else { // desc = `



` // } // createSkuParamWare.MobileDesc = desc // createSkuParamWare.Introduction = desc // wareSaveParam.Notes = desc // // //设置商品属性值 // var ( // attrIDs = make(map[string]int) //贮存方式,净含量,保质期IDs // zctjValueID int64 //贮存条件冷藏0-4的id // gcjkValueID int64 //国产,进口的id // lbValueID int64 //类别的ID // bcztValueID int64 //保存状态ID // rmsjValueID int64 //热卖时间ID // attrsProp []*jdshopapi.CreateSkuParamAttrs // ) // attrs, err := getAPI(storeSku.VendorOrgCode).FindAttrs(int(storeSku.VendorVendorCatID)) // for _, v := range attrs { // if v.Name == "保质期" { // attrIDs[v.Name] = v.ID // } else if v.Name == "贮存条件" { // attrIDs[v.Name] = v.ID // } else if v.Name == "净含量" { // attrIDs[v.Name] = v.ID // } else if v.Name == "规格" { // attrIDs[v.Name] = v.ID // } else if v.Name == "国产/进口" { // attrIDs[v.Name] = v.ID // } else if v.Name == "类别" { // attrIDs[v.Name] = v.ID // } else if v.Name == "保存状态" { // attrIDs[v.Name] = v.ID // } else if v.Name == "热卖时间" { // attrIDs[v.Name] = v.ID // } // } // values, _, err := getAPI(storeSku.VendorOrgCode).FindValuesByAttrId(attrIDs["贮存条件"]) // for _, v := range values { // if v.Name == "冷藏 0-4℃" { // zctjValueID = v.ID // } // } // if attrIDs["国产/进口"] != 0 { // values2, _, err2 := getAPI(storeSku.VendorOrgCode).FindValuesByAttrId(attrIDs["国产/进口"]) // err = err2 // for _, v := range values2 { // if v.Name == "国产" { // gcjkValueID = v.ID // } // } // attrgcjk := &jdshopapi.CreateSkuParamAttrs{ // AttrID: utils.Int2Str(attrIDs["国产/进口"]), // AttrValues: []string{utils.Int64ToStr(gcjkValueID)}, // } // attrsProp = append(attrsProp, attrgcjk) // } // if attrIDs["保存状态"] != 0 { // values2, _, err2 := getAPI(storeSku.VendorOrgCode).FindValuesByAttrId(attrIDs["保存状态"]) // err = err2 // for _, v := range values2 { // if v.Name == "冷藏" || v.Name == "活鲜" { // bcztValueID = v.ID // } // } // attrbczt := &jdshopapi.CreateSkuParamAttrs{ // AttrID: utils.Int2Str(attrIDs["保存状态"]), // AttrValues: []string{utils.Int64ToStr(bcztValueID)}, // } // attrsProp = append(attrsProp, attrbczt) // } // if attrIDs["热卖时间"] != 0 { // values2, _, err2 := getAPI(storeSku.VendorOrgCode).FindValuesByAttrId(attrIDs["热卖时间"]) // err = err2 // for _, v := range values2 { // if v.Name == "12月" { // rmsjValueID = v.ID // } // } // attrrmsj := &jdshopapi.CreateSkuParamAttrs{ // AttrID: utils.Int2Str(attrIDs["热卖时间"]), // AttrValues: []string{utils.Int64ToStr(rmsjValueID)}, // } // attrsProp = append(attrsProp, attrrmsj) // } // //牛肉创建不一样 // if storeSku.VendorVendorCatID == jdshopapi.JdsBeefCatID { // var exValueID int64 // values2, _, err2 := getAPI(storeSku.VendorOrgCode).FindValuesByAttrId(150390) // err = err2 // for _, v := range values2 { // if v.Name == "其它" { // exValueID = v.ID // } // } // attrex := &jdshopapi.CreateSkuParamAttrs{ // AttrID: utils.Int2Str(150390), // AttrValues: []string{utils.Int64ToStr(exValueID)}, // } // attrsProp = append(attrsProp, attrex) // wareSaveParam.LastCategoryID = 17902 // } // attrZctj := &jdshopapi.CreateSkuParamAttrs{ // AttrID: utils.Int2Str(attrIDs["贮存条件"]), // AttrValues: []string{utils.Int64ToStr(zctjValueID)}, // } // attrJhl := &jdshopapi.CreateSkuParamAttrs{ // AttrID: utils.Int2Str(attrIDs["净含量"]), // AttrValues: []string{"0.5"}, // } // attrBzq := &jdshopapi.CreateSkuParamAttrs{ // AttrID: utils.Int2Str(attrIDs["保质期"]), // AttrValues: []string{"5"}, // } // attrsProp = append(attrsProp, attrZctj) // attrsProp = append(attrsProp, attrJhl) // attrsProp = append(attrsProp, attrBzq) // createSkuParamWare.MultiCateProps = attrsProp // var features = []*jdshopapi.CreateSkuParamFeatures{ // &jdshopapi.CreateSkuParamFeatures{ // Key: "is7ToReturn", //不支持7天无理由退货 // Value: "0", // }, // // &jdshopapi.CreateSkuParamFeatures{ // // Key: "tssp", //支持自提 // // Value: "", // // }, // // &jdshopapi.CreateSkuParamFeatures{ // // Key: "fdms", //分单? // // Value: "1", // // }, // } // createSkuParamWare.Features = features // //组合sku // var ( // vendorPrice int64 = 0 // wareSaveSkus []*jdshopapi.WareSaveSkus // ) // // for _, v := range storeSku.StoreSkuSyncInfoJds { // var ( // ggValueID int64 //规格的属性id // ggValueName string //规格的属性名 // attrsPropSku []*jdshopapi.CreateSkuParamAttrs // attrsPropSku2 []*jdshopapi.WareSaveSkusProp //jds2 // multiPropSku []*jdshopapi.CreateSkuParamAttrs // specQuality string // ) // valuesSku, maxNo, _ := getAPI(storeSku.VendorOrgCode).FindValuesByAttrId(attrIDs["规格"]) // if v.SpecUnit == model.SpecUnitNames[1] || v.SpecUnit == model.SpecUnitNames[2] { // specQuality = strings.TrimRight(fmt.Sprintf("%.2f", float64(v.SpecQuality)), "0.") + v.SpecUnit // } else { // specQuality = utils.Float64ToStr(float64(v.SpecQuality)) + v.SpecUnit // } // if v.Comment != "" { // specQuality = v.Comment // } // for _, v := range valuesSku { // if v.Name == specQuality { // ggValueID = v.ID // ggValueName = v.Name // } // } // if ggValueID == 0 { //说明没有建这个规格,要建上 // catID, _ := getAPI(storeSku.VendorOrgCode).SaveVenderAttrValue(specQuality, attrIDs["规格"], int(storeSku.VendorVendorCatID), maxNo+1) // ggValueID = catID // ggValueName = specQuality // } // //jds1 // attrSku := &jdshopapi.CreateSkuParamAttrs{ // AttrID: utils.Int2Str(attrIDs["规格"]), // AttrValues: []string{utils.Int64ToStr(ggValueID)}, // } // attrsPropSku = append(attrsPropSku, attrSku) // //jds2 // attrSku2 := &jdshopapi.WareSaveSkusProp{ // AttrID: attrIDs["规格"], // AttrValues: ggValueID, // AttrValueAlias: ggValueName, // } // attrsPropSku2 = append(attrsPropSku2, attrSku2) // // //jds1 // sku := &jdshopapi.CreateSkuParamSkus{ // JdPrice: jxutils.IntPrice2Standard(v.VendorPrice), // // StockNum: 9999, // Type: "com.jd.pop.ware.ic.api.domain.sku", // Type2: "com.jd.pop.ware.ic.api.domain.Sku", // OuterID: utils.Int2Str(v.SkuID), // } // sku.SaleAttrs = attrsPropSku // //jds2 // sku2 := &jdshopapi.WareSaveSkus{ // JdPrice: utils.Float64ToStr(jxutils.IntPrice2Standard(v.VendorPrice)), // OuterID: utils.Int2Str(v.SkuID), // } // sku2.Props = attrsPropSku2 // // if attrIDs["类别"] != 0 { // values2, _, err2 := getAPI(storeSku.VendorOrgCode).FindValuesByAttrId(attrIDs["类别"]) // err = err2 // lbValueID = values2[len(values2)-1].ID // attrlb := &jdshopapi.CreateSkuParamAttrs{ // AttrID: utils.Int2Str(attrIDs["类别"]), // AttrValues: []string{utils.Int64ToStr(lbValueID)}, // } // multiPropSku = append(multiPropSku, attrlb) // } // sku.MultiCateProps = multiPropSku // createSkuParamSkus = append(createSkuParamSkus, sku) // // if v.VendorPrice > vendorPrice { // vendorPrice = v.VendorPrice // } // if v.Status == model.SkuStatusNormal { // sku.StockNum = 9999 // sku2.StockNum = 9999 // } else { // sku.StockNum = 0 // sku2.StockNum = 0 // } // wareSaveSkus = append(wareSaveSkus, sku2) // } // //市场价固定500 // createSkuParamWare.MarketPrice = 500 // wareSaveParam.Skus = wareSaveSkus // return createSkuParamWare, createSkuParamSkus, wareSaveParam, err //} // //// 国美获取线上所有规格列表 //func GetAllSpecSizeList(param *gomei.QueryGoodsSpecSizeReq) ([]*gomei.QueryGoodsSpecSizeRecords, error) { // attrs, err := api.GuoMeiApi.QueryGoodsSizeList(param) // if err != nil { // return nil, err // } // // goMeiSizeList := make([]*gomei.QueryGoodsSpecSizeRecords, 0, 0) // for i := 1; i <= attrs.Data.PageTotal; i++ { // attrs, err := api.GuoMeiApi.QueryGoodsSizeList(&gomei.QueryGoodsSpecSizeReq{ // Cat3Code: param.Cat3Code, // SpecName: "", // Page: gomei.Page{ // PageNumber: i, // PageSize: gomei.PageSize, // }, // }) // if err != nil { // return nil, err // } // goMeiSizeList = append(goMeiSizeList, attrs.Data.Records...) // } // return goMeiSizeList, nil //}