feat: jd_img

master
howell 4 years ago
parent 61a527a6b1
commit 09a39f0892

@ -439,60 +439,92 @@ func SyncPageData(page, size uint, brand string, categories []RecookJCookCategor
func SyncJDImage() {
var gs []goods.RecookGoodsInfoModel
mysql2.Db.Find(&gs)
mysql2.Db.Find(&gs, "third_party_type = 3")
ids := make([]uint, 0)
for _, v := range gs {
ids = append(ids, v.Id)
}
for _, vi := range gs{
for _, vi := range gs {
var gsk []goods.RecookGoodsSkuModel
mysql2.Db.Find(&gsk, "goods_id = ?", vi.Id)
client := jcook.GetClient()
for _, v := range gsk {
skuId, _ := strconv.Atoi(v.ThirdPartySkuId)
rq := jcook.SkuDetailReq{
SkuIDSet: []uint{uint(skuId)},
if len(gsk) == 0 {
continue
}
s1 := gsk[0]
skuId, _ := strconv.Atoi(s1.ThirdPartySkuId)
if skuId == 0 {
continue
}
rq := jcook.SkuDetailReq{
SkuIDSet: []uint{uint(skuId)},
}
var res []jcook.SkuDetailResp
if err := client.Exec(rq, &res); err != nil {
continue
}
mysql2.Db.Transaction(func(tx *gorm.DB) error {
tx.Delete(&goods.RecookGoodsDetailPhotoModel{}, "goods_id = ?", s1.GoodsId)
tx.Delete(&goods.RecookGoodsMainPhotoModel{}, "goods_id = ?", s1.GoodsId)
temp := make([]goods.RecookGoodsMainPhotoModel, 0)
d1 := res[0]
if len(d1.Images) == 0 {
return nil
}
var res []jcook.SkuDetailResp
if err := client.Exec(rq, &res); err != nil {
continue
if len(d1.Images) == 1 {
d1.Images = append(d1.Images, jcook.SkuImage{
Url: d1.Images[0].Url,
IsPrimer: false,
OrderSort: 1,
})
}
mysql2.Db.Transaction(func(tx *gorm.DB) error {
tx.Delete(&goods.RecookGoodsDetailPhotoModel{}, "goods_id = ?", v.GoodsId)
d1 := res[0]
reg := regexp.MustCompile("background-image:url\\((?s:(.*?))\\)|src=\"(?s:(.*?))\"")
result := reg.FindAllStringSubmatch(d1.BigInfo.PcWDis, -1)
dp := make([]goods.RecookGoodsDetailPhotoModel, 0)
for ki, k := range result {
kt := k[1]
if len(strings.TrimSpace(kt)) == 0 {
if len(k) > 2 {
kt = k[2]
}
}
if len(strings.TrimSpace(kt)) == 0 {
continue
}
kt = strings.Trim(kt, "\\")
if !strings.HasPrefix(kt, "http") && !strings.HasPrefix(kt, "https") {
kt = "http:" + kt
for index, v := range d1.Images {
isMaster := 0
if v.IsPrimer {
isMaster = 1
}
temp = append(temp, goods.RecookGoodsMainPhotoModel{
GoodsId: s1.GoodsId,
Url: v.Url,
Name: "",
IsMaster: isMaster,
OrderNo: index,
Width: 0,
Height: 0,
Hash: "",
})
}
tx.Create(&temp)
reg := regexp.MustCompile("background-image:url\\((?s:(.*?))\\)|src=\"(?s:(.*?))\"")
result := reg.FindAllStringSubmatch(d1.BigInfo.PcWDis, -1)
dp := make([]goods.RecookGoodsDetailPhotoModel, 0)
for ki, k := range result {
kt := k[1]
if len(strings.TrimSpace(kt)) == 0 {
if len(k) > 2 {
kt = k[2]
}
dp = append(dp, goods.RecookGoodsDetailPhotoModel{
GoodsID: v.GoodsId,
Url: kt,
Name: "api",
OrderNo: ki,
Width: 0,
Height: 0,
})
}
tx.Create(dp)
return nil
})
if len(strings.TrimSpace(kt)) == 0 {
continue
}
kt = strings.Trim(kt, "\\")
if !strings.HasPrefix(kt, "http") && !strings.HasPrefix(kt, "https") {
kt = "http:" + kt
}
dp = append(dp, goods.RecookGoodsDetailPhotoModel{
GoodsID: s1.GoodsId,
Url: kt,
Name: "api",
OrderNo: ki,
Width: 0,
Height: 0,
})
}
tx.Create(dp)
return nil
})
}
}
}

Loading…
Cancel
Save