This commit is contained in:
邹宗楠
2023-08-07 16:45:40 +08:00
parent f1199a54d7
commit 0c4a8ac828
7 changed files with 193 additions and 112 deletions

View File

@@ -253,7 +253,7 @@ func UpdateTaoVegetable(api *tao_vegetable.API, storeSkuList []*dao.StoreSkuSync
updateSku.PurchaseQuantity = utils.Int64ToPointer(int64(v.MinOrderCount)) // 起购单位
}
// 修改暂时不修改图片,保持效率
updateSku.SkuPicUrls = uploadImg(api, []string{v.Img, v.Img2, v.Img3, v.Img4, v.Img5, v.DescImg})
updateSku.SkuPicUrls = uploadImg(api, v.SkuID, model.VendorIDTaoVegetable, []string{v.Img, v.Img2, v.Img3, v.Img4, v.Img5, v.DescImg})
if updateSku.SkuPicUrls == nil {
continue
}
@@ -323,7 +323,7 @@ func createTaoVegetable(ctx *jxcontext.Context, api *tao_vegetable.API, storeSku
RichText: utils.String2Pointer(storeSku.Name),
AllowAppSale: utils.Int64ToPointer(tao_vegetable.IsAllowAppSale),
}
sku.SkuPicUrls = uploadImg(api, []string{storeSku.Img, storeSku.Img2, storeSku.Img3, storeSku.Img4, storeSku.Img5, storeSku.DescImg})
sku.SkuPicUrls = uploadImg(api, storeSku.SkuID, model.VendorIDTaoVegetable, []string{storeSku.Img, storeSku.Img2, storeSku.Img3, storeSku.Img4, storeSku.Img5, storeSku.DescImg})
if sku.SkuPicUrls == nil {
continue
}
@@ -441,34 +441,81 @@ func checkNameLength(name string, weight int, uint string) string {
return lastName[0:60]
}
func uploadImg(api *tao_vegetable.API, imgs []string) *string {
func uploadImg(api *tao_vegetable.API, skuId, vendorId int, imgs []string) *string {
vendorImg, _ := dao.GetVendorImg(skuId, vendorId)
result := make([]string, 0, 0)
for _, v := range imgs {
if v == "" {
continue
}
inputTitle := strings.LastIndex(v, "/")
title := strings.LastIndex(v, ".")
resp, err := http.Get(v)
if err != nil {
continue
}
body, _ := ioutil.ReadAll(resp.Body)
// 图片失效
if strings.Contains(string(body), "Document not found") || len(body) == 0 {
continue
}
isCreate := false
if vendorImg == nil || (vendorImg.Img == "" && vendorImg.Img2 == "" && vendorImg.Img3 == "" && vendorImg.Img4 == "" && vendorImg.Img5 == "" && vendorImg.DescImg == "") {
isCreate = true
for i := 0; i < len(imgs); i++ {
if imgs[i] == "" {
continue
}
if newImg, _ := api.UploadImg(&request1475.AlibabaWdkPictureUploadRequest{
PictureCategoryId: utils.Int64ToPointer(0),
Img: &body,
ImgInputTitle: utils.String2Pointer(v[inputTitle:]),
Title: utils.String2Pointer(v[inputTitle:title]),
}); newImg != "" {
result = append(result, newImg)
inputTitle := strings.LastIndex(imgs[i], "/")
title := strings.LastIndex(imgs[i], ".")
resp, err := http.Get(imgs[i])
if err != nil {
continue
}
body, _ := ioutil.ReadAll(resp.Body)
// 图片失效
if strings.Contains(string(body), "Document not found") || len(body) == 0 {
continue
}
newImg, _ := api.UploadImg(&request1475.AlibabaWdkPictureUploadRequest{
PictureCategoryId: utils.Int64ToPointer(0),
Img: &body,
ImgInputTitle: utils.String2Pointer(imgs[i][inputTitle:]),
Title: utils.String2Pointer(imgs[i][inputTitle:title]),
})
if newImg != "" {
result = append(result, newImg)
}
switch i {
case 0:
vendorImg.Img = newImg
case 1:
vendorImg.Img2 = newImg
case 2:
vendorImg.Img3 = newImg
case 3:
vendorImg.Img4 = newImg
case 4:
vendorImg.Img5 = newImg
case 5:
vendorImg.DescImg = newImg
}
}
} else {
if vendorImg.Img != "" {
result = append(result, vendorImg.Img)
}
if vendorImg.Img2 != "" {
result = append(result, vendorImg.Img2)
}
if vendorImg.Img3 != "" {
result = append(result, vendorImg.Img3)
}
if vendorImg.Img4 != "" {
result = append(result, vendorImg.Img4)
}
if vendorImg.Img5 != "" {
result = append(result, vendorImg.Img5)
}
if vendorImg.DescImg != "" {
result = append(result, vendorImg.DescImg)
}
}
if isCreate {
vendorImg.SkuID = skuId
vendorImg.VendorID = vendorId
dao.CreateEntity(dao.GetDB(), &vendorImg)
}
// 商品图片最多五张
if len(result) > 5 {
return utils.String2Pointer(strings.Join(result[1:], ","))