|
|
|
@ -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
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|