From 1df63ff45dd0591d9594d05b2f2a2590fc4028c3 Mon Sep 17 00:00:00 2001 From: gazebo Date: Sat, 15 Sep 2018 21:55:03 +0800 Subject: [PATCH] - avoid JdID duplicated when creating cat or sku. --- business/jxstore/cms/cms.go | 6 ++++++ business/jxstore/cms/sku.go | 8 +++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/business/jxstore/cms/cms.go b/business/jxstore/cms/cms.go index c0eb12102..4c2606b86 100644 --- a/business/jxstore/cms/cms.go +++ b/business/jxstore/cms/cms.go @@ -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() +} diff --git a/business/jxstore/cms/sku.go b/business/jxstore/cms/sku.go index f6a24ea01..d2f8c14ba 100644 --- a/business/jxstore/cms/sku.go +++ b/business/jxstore/cms/sku.go @@ -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 {