去除对于SkuName.ImgHashCode的依赖
This commit is contained in:
@@ -426,7 +426,6 @@ func GetSkuNames(ctx *jxcontext.Context, keyword string, isBySku bool, params ma
|
||||
t1.img2,
|
||||
t1.status,
|
||||
t1.is_spu,
|
||||
t1.img_hash_code,
|
||||
t1.desc_img,
|
||||
t1.upc`
|
||||
if isBySku {
|
||||
@@ -453,7 +452,6 @@ func GetSkuNames(ctx *jxcontext.Context, keyword string, isBySku bool, params ma
|
||||
t1.img2,
|
||||
t1.status,
|
||||
t1.is_spu,
|
||||
t1.img_hash_code,
|
||||
t1.desc_img,
|
||||
t1.upc,
|
||||
t1.jd_id,
|
||||
@@ -585,7 +583,7 @@ func AddSkuName(ctx *jxcontext.Context, skuNameExt *model.SkuNameExt, userName s
|
||||
if err = err2; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
skuNameExt.ImgHashCode = dataRes.HashCode
|
||||
// skuNameExt.ImgHashCode = dataRes.HashCode
|
||||
skuNameExt.ImgEbai = dataRes.EbaiURL
|
||||
if skuNameExt.Img2 != "" {
|
||||
datares.TryRegisterDataResource(ctx, skuNameExt.Name, skuNameExt.Img2, true, model.ImgTypeMain, true)
|
||||
@@ -703,7 +701,7 @@ func UpdateSkuName(ctx *jxcontext.Context, nameID int, payload map[string]interf
|
||||
if err = err2; err != nil {
|
||||
return 0, err
|
||||
}
|
||||
valid["ImgHashCode"] = dataRes.HashCode
|
||||
// valid["ImgHashCode"] = dataRes.HashCode
|
||||
valid["ImgEbai"] = dataRes.EbaiURL
|
||||
}
|
||||
if valid["img2"] != nil {
|
||||
|
||||
@@ -3,14 +3,9 @@ package initdata
|
||||
import (
|
||||
"bytes"
|
||||
"context"
|
||||
"crypto/md5"
|
||||
"fmt"
|
||||
"io/ioutil"
|
||||
"net/http"
|
||||
"strings"
|
||||
|
||||
"git.rosy.net.cn/baseapi/platformapi"
|
||||
|
||||
"git.rosy.net.cn/baseapi/platformapi/autonavi"
|
||||
"git.rosy.net.cn/baseapi/platformapi/jdapi"
|
||||
"git.rosy.net.cn/baseapi/utils"
|
||||
@@ -186,47 +181,47 @@ func RefreshSkuNameImg(ctx *jxcontext.Context, parentTask tasksch.ITask, isForce
|
||||
return hint, err
|
||||
}
|
||||
|
||||
func RefreshImgMd5(ctx *jxcontext.Context, parentTask tasksch.ITask, isForce, isAsync, isContinueWhenError bool) (hint string, err error) {
|
||||
db := dao.GetDB()
|
||||
var skuNameList []*model.SkuName
|
||||
if err = dao.GetRows(db, &skuNameList, `
|
||||
SELECT *
|
||||
FROM sku_name
|
||||
WHERE deleted_at = ? AND img <> ''
|
||||
ORDER BY id
|
||||
`, utils.DefaultTimeValue); err != nil {
|
||||
return "", err
|
||||
}
|
||||
// func RefreshImgMd5(ctx *jxcontext.Context, parentTask tasksch.ITask, isForce, isAsync, isContinueWhenError bool) (hint string, err error) {
|
||||
// db := dao.GetDB()
|
||||
// var skuNameList []*model.SkuName
|
||||
// if err = dao.GetRows(db, &skuNameList, `
|
||||
// SELECT *
|
||||
// FROM sku_name
|
||||
// WHERE deleted_at = ? AND img <> ''
|
||||
// ORDER BY id
|
||||
// `, utils.DefaultTimeValue); err != nil {
|
||||
// return "", err
|
||||
// }
|
||||
|
||||
task := tasksch.NewParallelTask("InitSkuName calculate md5", tasksch.NewParallelConfig().SetIsContinueWhenError(isContinueWhenError), ctx,
|
||||
func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
|
||||
skuName := batchItemList[0].(*model.SkuName)
|
||||
if skuName.ImgHashCode == "" || isForce {
|
||||
response, err := http.Get(skuName.Img)
|
||||
if err == nil {
|
||||
defer response.Body.Close()
|
||||
if response.StatusCode == http.StatusOK {
|
||||
data, err2 := ioutil.ReadAll(response.Body)
|
||||
if err = err2; err == nil {
|
||||
skuName.ImgHashCode = fmt.Sprintf("%X", md5.Sum(data))
|
||||
db := dao.GetDB()
|
||||
_, err = dao.UpdateEntity(db, skuName, "ImgHashCode")
|
||||
}
|
||||
} else {
|
||||
err = platformapi.ErrHTTPCodeIsNot200
|
||||
}
|
||||
}
|
||||
}
|
||||
return nil, err
|
||||
}, skuNameList)
|
||||
tasksch.HandleTask(task, parentTask, true).Run()
|
||||
if !isAsync {
|
||||
_, err = task.GetResult(0)
|
||||
} else {
|
||||
hint = task.ID
|
||||
}
|
||||
return hint, err
|
||||
}
|
||||
// task := tasksch.NewParallelTask("InitSkuName calculate md5", tasksch.NewParallelConfig().SetIsContinueWhenError(isContinueWhenError), ctx,
|
||||
// func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
|
||||
// skuName := batchItemList[0].(*model.SkuName)
|
||||
// if skuName.ImgHashCode == "" || isForce {
|
||||
// response, err := http.Get(skuName.Img)
|
||||
// if err == nil {
|
||||
// defer response.Body.Close()
|
||||
// if response.StatusCode == http.StatusOK {
|
||||
// data, err2 := ioutil.ReadAll(response.Body)
|
||||
// if err = err2; err == nil {
|
||||
// skuName.ImgHashCode = fmt.Sprintf("%X", md5.Sum(data))
|
||||
// db := dao.GetDB()
|
||||
// _, err = dao.UpdateEntity(db, skuName, "ImgHashCode")
|
||||
// }
|
||||
// } else {
|
||||
// err = platformapi.ErrHTTPCodeIsNot200
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// return nil, err
|
||||
// }, skuNameList)
|
||||
// tasksch.HandleTask(task, parentTask, true).Run()
|
||||
// if !isAsync {
|
||||
// _, err = task.GetResult(0)
|
||||
// } else {
|
||||
// hint = task.ID
|
||||
// }
|
||||
// return hint, err
|
||||
// }
|
||||
|
||||
func InitSkuName(ctx *jxcontext.Context, isForce, isAsync, isContinueWhenError bool) (hint string, err error) {
|
||||
rootTask := tasksch.NewSeqTask("InitSkuName", ctx,
|
||||
@@ -235,7 +230,7 @@ func InitSkuName(ctx *jxcontext.Context, isForce, isAsync, isContinueWhenError b
|
||||
case 0:
|
||||
_, err = RefreshSkuNameImg(ctx, task, isForce, false, isContinueWhenError)
|
||||
case 1:
|
||||
_, err = RefreshImgMd5(ctx, task, isForce, false, isContinueWhenError)
|
||||
// _, err = RefreshImgMd5(ctx, task, isForce, false, isContinueWhenError)
|
||||
}
|
||||
return nil, err
|
||||
}, 2)
|
||||
|
||||
@@ -145,12 +145,7 @@ func GetDataResource(ctx *jxcontext.Context, hashCode string) (resourceURL strin
|
||||
dataRes, err := dao.GetDataResource(db, hashCode, "")
|
||||
if err != nil {
|
||||
if dao.IsNoRowsError(err) {
|
||||
skuName, err2 := dao.GetSkuNameByHashCode(db, hashCode)
|
||||
if err = err2; err == nil {
|
||||
resourceURL = skuName.Img
|
||||
} else if dao.IsNoRowsError(err) {
|
||||
err = nil
|
||||
}
|
||||
err = nil
|
||||
}
|
||||
} else {
|
||||
resourceURL = dataRes.MainURL
|
||||
|
||||
@@ -49,22 +49,6 @@ func DeleteSkuNamePlace(db *DaoDB, nameID int, placeCodes []int) (num int64, err
|
||||
return ExecuteSQL(db, sql, sqlParams...)
|
||||
}
|
||||
|
||||
func GetSkuNameByHashCode(db *DaoDB, hashCode string) (skuName *model.SkuName, err error) {
|
||||
sql := `
|
||||
SELECT *
|
||||
FROM sku_name
|
||||
WHERE img_hash_code = ?
|
||||
`
|
||||
sqlParams := []interface{}{
|
||||
hashCode,
|
||||
}
|
||||
skuName = &model.SkuName{}
|
||||
if err = GetRow(db, skuName, sql, sqlParams...); err == nil {
|
||||
return skuName, nil
|
||||
}
|
||||
return nil, err
|
||||
}
|
||||
|
||||
func GetSkus(db *DaoDB, skuIDs, nameIDs, statuss, catIDs []int) (skuList []*model.SkuAndName, err error) {
|
||||
sql := `
|
||||
SELECT t1.*, t2.name, t2.unit
|
||||
|
||||
Reference in New Issue
Block a user