- avoid JdID duplicated when creating cat or sku.
This commit is contained in:
@@ -3,6 +3,7 @@ package cms
|
|||||||
import (
|
import (
|
||||||
"crypto/md5"
|
"crypto/md5"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"time"
|
||||||
|
|
||||||
"git.rosy.net.cn/baseapi/utils"
|
"git.rosy.net.cn/baseapi/utils"
|
||||||
"git.rosy.net.cn/jx-callback/business/jxcallback/scheduler/basesch"
|
"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 {
|
func genPicFileName(suffix string) string {
|
||||||
return fmt.Sprintf("%x%s", md5.Sum([]byte(utils.GetUUID()+suffix)), suffix)
|
return fmt.Sprintf("%x%s", md5.Sum([]byte(utils.GetUUID()+suffix)), suffix)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 生成一个不重复的临时ID
|
||||||
|
func genTmpID() int64 {
|
||||||
|
return time.Now().UnixNano()
|
||||||
|
}
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ import (
|
|||||||
"git.rosy.net.cn/baseapi/utils"
|
"git.rosy.net.cn/baseapi/utils"
|
||||||
"git.rosy.net.cn/jx-callback/business/model"
|
"git.rosy.net.cn/jx-callback/business/model"
|
||||||
"git.rosy.net.cn/jx-callback/business/model/dao"
|
"git.rosy.net.cn/jx-callback/business/model/dao"
|
||||||
|
"git.rosy.net.cn/jx-callback/globals"
|
||||||
)
|
)
|
||||||
|
|
||||||
type SkuNamesInfo struct {
|
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) {
|
func AddCategory(cat *model.SkuCategory, userName string) (outCat *model.SkuCategory, err error) {
|
||||||
dao.WrapAddIDCULDEntity(cat, userName)
|
dao.WrapAddIDCULDEntity(cat, userName)
|
||||||
cat.JdSyncStatus = model.SyncFlagNewMask
|
cat.JdSyncStatus = model.SyncFlagNewMask
|
||||||
|
cat.JdID = genTmpID()
|
||||||
if err = dao.CreateEntity(nil, cat); err == nil {
|
if err = dao.CreateEntity(nil, cat); err == nil {
|
||||||
outCat = cat
|
outCat = cat
|
||||||
err = CurVendorSync.SyncCategory(nil, cat.ID, false, userName)
|
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)
|
sqlParams = append(sqlParams, pageSize, offset)
|
||||||
skuNamesInfo = &SkuNamesInfo{}
|
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 {
|
if err = dao.GetRows(db, &skuNamesInfo.SkuNames, sqlData, sqlParams...); err == nil {
|
||||||
countInfo := &struct{ Ct int }{}
|
countInfo := &struct{ Ct int }{}
|
||||||
if err = dao.GetRow(db, countInfo, "SELECT FOUND_ROWS() ct"); err == nil {
|
if err = dao.GetRow(db, countInfo, "SELECT FOUND_ROWS() ct"); err == nil {
|
||||||
|
globals.SugarLogger.Debug(utils.Format4Output(countInfo, false))
|
||||||
skuNamesInfo.TotalCount = countInfo.Ct
|
skuNamesInfo.TotalCount = countInfo.Ct
|
||||||
for _, skuName := range skuNamesInfo.SkuNames {
|
for _, skuName := range skuNamesInfo.SkuNames {
|
||||||
if skuName.SkusStr != "" {
|
if skuName.SkusStr != "" {
|
||||||
@@ -301,6 +305,7 @@ func AddSkuName(skuNameExt *model.SkuNameExt, userName string) (outSkuNameExt *m
|
|||||||
dao.WrapAddIDCULDEntity(sku, userName)
|
dao.WrapAddIDCULDEntity(sku, userName)
|
||||||
sku.NameID = skuNameExt.ID
|
sku.NameID = skuNameExt.ID
|
||||||
sku.JdSyncStatus = model.SyncFlagNewMask
|
sku.JdSyncStatus = model.SyncFlagNewMask
|
||||||
|
sku.JdID = genTmpID()
|
||||||
if err = dao.CreateEntity(db, sku); err != nil {
|
if err = dao.CreateEntity(db, sku); err != nil {
|
||||||
dao.Rollback(db)
|
dao.Rollback(db)
|
||||||
return nil, err
|
return nil, err
|
||||||
@@ -402,6 +407,7 @@ func AddSku(nameID int, sku *model.Sku, userName string) (outSkuNameExt *model.S
|
|||||||
dao.WrapAddIDCULDEntity(sku, userName)
|
dao.WrapAddIDCULDEntity(sku, userName)
|
||||||
sku.JdSyncStatus = model.SyncFlagNewMask
|
sku.JdSyncStatus = model.SyncFlagNewMask
|
||||||
sku.NameID = nameID
|
sku.NameID = nameID
|
||||||
|
sku.JdID = genTmpID()
|
||||||
if err = dao.CreateEntity(db, sku); err == nil {
|
if err = dao.CreateEntity(db, sku); err == nil {
|
||||||
result, err2 := GetSkuNames("", utils.Params2Map("skuID", sku.ID), 0, 0)
|
result, err2 := GetSkuNames("", utils.Params2Map("skuID", sku.ID), 0, 0)
|
||||||
if err = err2; err == nil {
|
if err = err2; err == nil {
|
||||||
|
|||||||
Reference in New Issue
Block a user