京东商城获取省市区

This commit is contained in:
苏尹岚
2020-05-15 15:21:15 +08:00
parent 39ba090f88
commit 68a7c6f81b
2 changed files with 71 additions and 52 deletions

View File

@@ -4,7 +4,6 @@ import (
"bytes" "bytes"
"context" "context"
"fmt" "fmt"
"net/http"
"regexp" "regexp"
"strings" "strings"
"time" "time"
@@ -1499,57 +1498,76 @@ func addSku(outSkuId string, cagtegoryId int, shopCategories []int64, brandId in
} }
func UploadJdsImage(ctx *jxcontext.Context) (err error) { func UploadJdsImage(ctx *jxcontext.Context) (err error) {
var ( db := dao.GetDB()
skuNames []*model.SkuName result1, _ := api.JdShopAPI.GetProvince()
db = dao.GetDB() for _, v := range result1 {
) place1, _ := dao.GetPlaceByName(db, v.AreaName, 1, 0)
sql := ` place1.JdsCode = v.AreaID
SELECT DISTINCT a.* dao.UpdateEntity(db, place1, "JdsCode")
FROM sku_name a, store_sku_bind b, sku c result2, _ := api.JdShopAPI.GetCity(v.AreaID)
WHERE a.id = c.name_id AND c.id = b.sku_id for _, vv := range result2 {
AND a.deleted_at = ? AND a.status = 1 AND a.img <> '' place2, _ := dao.GetPlaceByName(db, vv.AreaName, 2, 0)
AND c.deleted_at = ? AND b.deleted_at = ? place2.JdsCode = vv.AreaID
AND b.store_id = ? dao.UpdateEntity(db, place2, "JdsCode")
` result3, _ := api.JdShopAPI.GetCounty(vv.AreaID)
sqlParams := []interface{}{utils.DefaultTimeValue, utils.DefaultTimeValue, utils.DefaultTimeValue, 102919} for _, vvv := range result3 {
err = dao.GetRows(dao.GetDB(), &skuNames, sql, sqlParams) place3, _ := dao.GetPlaceByName(db, vvv.AreaName, 3, 0)
for _, v := range skuNames { place3.JdsCode = vvv.AreaID
if v.ID == 9169 { dao.UpdateEntity(db, place3, "JdsCode")
for _, vv := range []string{v.Img, v.Img2, v.DescImg} {
if vv == "" {
continue
}
datar := &model.DataResource{
MainURL: vv,
}
err = dao.GetEntity(db, datar, "MainURL")
resBinary, hashCode, _ := jxutils.DownloadFileByURL(vv)
handler := partner.GetPurchasePlatformFromVendorID(model.VendorIDJDShop)
img, err := handler.UploadImg(ctx, "", "", resBinary, v.Name, 1)
if dao.IsNoRowsError(err) {
dataRes := &model.DataResource{
HashCode: hashCode,
ResourceType: http.DetectContentType(resBinary),
MainURL: vv,
JdsURL: img,
}
if vv == v.DescImg {
dataRes.Name = v.Name + "_desc"
dataRes.UseType = model.ImgTypeDesc
} else {
dataRes.UseType = model.ImgTypeMain
dataRes.Name = v.Name
}
dao.CreateEntity(db, dataRes)
} else {
if err == nil {
datar.JdsURL = img
dao.UpdateEntity(db, datar, "JdsURL")
}
}
} }
} }
} }
// var (
// skuNames []*model.SkuName
// db = dao.GetDB()
// )
// sql := `
// SELECT DISTINCT a.*
// FROM sku_name a, store_sku_bind b, sku c
// WHERE a.id = c.name_id AND c.id = b.sku_id
// AND a.deleted_at = ? AND a.status = 1 AND a.img <> ''
// AND c.deleted_at = ? AND b.deleted_at = ?
// AND b.store_id = ?
// `
// sqlParams := []interface{}{utils.DefaultTimeValue, utils.DefaultTimeValue, utils.DefaultTimeValue, 102919}
// err = dao.GetRows(dao.GetDB(), &skuNames, sql, sqlParams)
// for _, v := range skuNames {
// if v.ID == 9169 {
// for _, vv := range []string{v.Img, v.Img2, v.DescImg} {
// if vv == "" {
// continue
// }
// datar := &model.DataResource{
// MainURL: vv,
// }
// err = dao.GetEntity(db, datar, "MainURL")
// resBinary, hashCode, _ := jxutils.DownloadFileByURL(vv)
// handler := partner.GetPurchasePlatformFromVendorID(model.VendorIDJDShop)
// img, err := handler.UploadImg(ctx, "", "", resBinary, v.Name, 1)
// if dao.IsNoRowsError(err) {
// dataRes := &model.DataResource{
// HashCode: hashCode,
// ResourceType: http.DetectContentType(resBinary),
// MainURL: vv,
// JdsURL: img,
// }
// if vv == v.DescImg {
// dataRes.Name = v.Name + "_desc"
// dataRes.UseType = model.ImgTypeDesc
// } else {
// dataRes.UseType = model.ImgTypeMain
// dataRes.Name = v.Name
// }
// dao.CreateEntity(db, dataRes)
// } else {
// if err == nil {
// datar.JdsURL = img
// dao.UpdateEntity(db, datar, "JdsURL")
// }
// }
// }
// }
// }
return err return err
} }

View File

@@ -18,6 +18,7 @@ type Place struct {
TelCode string `orm:"size(8);index" json:"telCode"` TelCode string `orm:"size(8);index" json:"telCode"`
JdCode int `orm:"index" json:"jdCode"` // 对应的京东代码 JdCode int `orm:"index" json:"jdCode"` // 对应的京东代码
EbaiCode int `orm:"index" json:"ebaiCode"` EbaiCode int `orm:"index" json:"ebaiCode"`
Enabled int8 `json:"enabled"` // 是否启用 Enabled int8 `json:"enabled"` // 是否启用
MtpsPrice int `json:"mtpsPrice"` // 分为单位 MtpsPrice int `json:"mtpsPrice"` // 分为单位
JdsCode int `orm:"index" json:"jdsCode"` //京东商城代码
} }