- avoid JdID duplicated when creating cat or sku.

This commit is contained in:
gazebo
2018-09-15 21:55:03 +08:00
parent af5038e8a7
commit 1df63ff45d
2 changed files with 13 additions and 1 deletions

View File

@@ -3,6 +3,7 @@ package cms
import (
"crypto/md5"
"fmt"
"time"
"git.rosy.net.cn/baseapi/utils"
"git.rosy.net.cn/jx-callback/business/jxcallback/scheduler/basesch"
@@ -68,3 +69,8 @@ func GetQiniuUploadToken(suffix string) (upTokenInfo map[string]interface{}, err
func genPicFileName(suffix string) string {
return fmt.Sprintf("%x%s", md5.Sum([]byte(utils.GetUUID()+suffix)), suffix)
}
// 生成一个不重复的临时ID
func genTmpID() int64 {
return time.Now().UnixNano()
}

View File

@@ -10,6 +10,7 @@ import (
"git.rosy.net.cn/baseapi/utils"
"git.rosy.net.cn/jx-callback/business/model"
"git.rosy.net.cn/jx-callback/business/model/dao"
"git.rosy.net.cn/jx-callback/globals"
)
type SkuNamesInfo struct {
@@ -43,6 +44,7 @@ func GetCategories(parentID int) (cats []*model.SkuCategory, err error) {
func AddCategory(cat *model.SkuCategory, userName string) (outCat *model.SkuCategory, err error) {
dao.WrapAddIDCULDEntity(cat, userName)
cat.JdSyncStatus = model.SyncFlagNewMask
cat.JdID = genTmpID()
if err = dao.CreateEntity(nil, cat); err == nil {
outCat = cat
err = CurVendorSync.SyncCategory(nil, cat.ID, false, userName)
@@ -264,10 +266,12 @@ func GetSkuNames(keyword string, params map[string]interface{}, offset, pageSize
}
sqlParams = append(sqlParams, pageSize, offset)
skuNamesInfo = &SkuNamesInfo{}
// globals.SugarLogger.Debug(sqlData)
globals.SugarLogger.Debug(sqlData)
globals.SugarLogger.Debug(utils.Format4Output(sqlData, false))
if err = dao.GetRows(db, &skuNamesInfo.SkuNames, sqlData, sqlParams...); err == nil {
countInfo := &struct{ Ct int }{}
if err = dao.GetRow(db, countInfo, "SELECT FOUND_ROWS() ct"); err == nil {
globals.SugarLogger.Debug(utils.Format4Output(countInfo, false))
skuNamesInfo.TotalCount = countInfo.Ct
for _, skuName := range skuNamesInfo.SkuNames {
if skuName.SkusStr != "" {
@@ -301,6 +305,7 @@ func AddSkuName(skuNameExt *model.SkuNameExt, userName string) (outSkuNameExt *m
dao.WrapAddIDCULDEntity(sku, userName)
sku.NameID = skuNameExt.ID
sku.JdSyncStatus = model.SyncFlagNewMask
sku.JdID = genTmpID()
if err = dao.CreateEntity(db, sku); err != nil {
dao.Rollback(db)
return nil, err
@@ -402,6 +407,7 @@ func AddSku(nameID int, sku *model.Sku, userName string) (outSkuNameExt *model.S
dao.WrapAddIDCULDEntity(sku, userName)
sku.JdSyncStatus = model.SyncFlagNewMask
sku.NameID = nameID
sku.JdID = genTmpID()
if err = dao.CreateEntity(db, sku); err == nil {
result, err2 := GetSkuNames("", utils.Params2Map("skuID", sku.ID), 0, 0)
if err = err2; err == nil {