- add jxcontext.Context to all public API.

This commit is contained in:
gazebo
2018-10-21 22:41:11 +08:00
parent 5d2bf9a510
commit b51ceb3d1d
22 changed files with 228 additions and 200 deletions

View File

@@ -7,6 +7,7 @@ import (
"git.rosy.net.cn/baseapi/utils"
"git.rosy.net.cn/jx-callback/business/jxutils"
"git.rosy.net.cn/jx-callback/business/jxutils/jxcontext"
"git.rosy.net.cn/jx-callback/business/model"
"git.rosy.net.cn/jx-callback/business/model/dao"
)
@@ -21,7 +22,7 @@ var (
)
// parentID 为-1表示所有
func GetVendorCategories(vendorID int, parentID string) (vendorCats []*model.SkuVendorCategory, err error) {
func GetVendorCategories(ctx *jxcontext.Context, vendorID int, parentID string) (vendorCats []*model.SkuVendorCategory, err error) {
cond := map[string]interface{}{
model.FieldVendorID: vendorID,
}
@@ -32,7 +33,7 @@ func GetVendorCategories(vendorID int, parentID string) (vendorCats []*model.Sku
}
// parentID 为-1表示所有
func GetCategories(parentID int) (cats []*model.SkuCategory, err error) {
func GetCategories(ctx *jxcontext.Context, parentID int) (cats []*model.SkuCategory, err error) {
params := []interface{}{
utils.DefaultTimeValue,
}
@@ -45,7 +46,7 @@ func GetCategories(parentID int) (cats []*model.SkuCategory, err error) {
return cats, dao.GetRows(nil, &cats, sql, params)
}
func AddCategory(cat *model.SkuCategory, userName string) (outCat *model.SkuCategory, err error) {
func AddCategory(ctx *jxcontext.Context, cat *model.SkuCategory, userName string) (outCat *model.SkuCategory, err error) {
dao.WrapAddIDCULDEntity(cat, userName)
cat.JdSyncStatus = model.SyncFlagNewMask
cat.JdID = jxutils.GenFakeID()
@@ -61,25 +62,25 @@ func AddCategory(cat *model.SkuCategory, userName string) (outCat *model.SkuCate
}
if err = dao.CreateEntity(nil, cat); err == nil {
outCat = cat
_, err = CurVendorSync.SyncCategory(nil, cat.ID, false, userName)
_, err = CurVendorSync.SyncCategory(ctx, nil, cat.ID, false, userName)
}
return outCat, err
}
func UpdateCategory(categoryID int, payload map[string]interface{}, userName string) (num int64, err error) {
func UpdateCategory(ctx *jxcontext.Context, categoryID int, payload map[string]interface{}, userName string) (num int64, err error) {
cat := &model.SkuCategory{}
cat.ID = categoryID
valid := dao.NormalMakeMapByStructObject(payload, cat, userName)
if len(valid) > 0 {
db := dao.GetDB()
if num, err = dao.UpdateEntityLogicallyAndUpdateSyncStatus(db, cat, valid, userName, nil, model.FieldJdSyncStatus); err == nil {
_, err = CurVendorSync.SyncCategory(db, categoryID, false, userName)
_, err = CurVendorSync.SyncCategory(ctx, db, categoryID, false, userName)
}
}
return num, err
}
func ReorderCategories(parentID int, categoryIDs []int, userName string) (err error) {
func ReorderCategories(ctx *jxcontext.Context, parentID int, categoryIDs []int, userName string) (err error) {
var cats []*model.SkuCategory
parentCat := &model.SkuCategory{}
parentCat.ID = parentID
@@ -107,14 +108,14 @@ func ReorderCategories(parentID int, categoryIDs []int, userName string) (err er
}
}
if err == nil {
_, err = CurVendorSync.SyncReorderCategories(db, parentID, false, userName)
_, err = CurVendorSync.SyncReorderCategories(ctx, db, parentID, false, userName)
}
}
}
return err
}
func DeleteCategory(categoryID int, userName string) (num int64, err error) {
func DeleteCategory(ctx *jxcontext.Context, categoryID int, userName string) (num int64, err error) {
cat := &model.SkuCategory{}
cat.ID = categoryID
var countInfos []*struct{ Ct int }
@@ -140,13 +141,13 @@ func DeleteCategory(categoryID int, userName string) (num int64, err error) {
return 0, errors.New("还有商品类别使用此类别,不能删除")
}
if num, err = dao.DeleteEntityLogically(db, cat, utils.Params2Map(model.FieldJdSyncStatus, model.SyncFlagDeletedMask), userName, nil); err == nil && num == 1 {
_, err = CurVendorSync.SyncCategory(db, cat.ID, false, userName)
_, err = CurVendorSync.SyncCategory(ctx, db, cat.ID, false, userName)
}
}
return num, err
}
func GetSkuNames(keyword string, params map[string]interface{}, offset, pageSize int) (skuNamesInfo *SkuNamesInfo, err error) {
func GetSkuNames(ctx *jxcontext.Context, keyword string, params map[string]interface{}, offset, pageSize int) (skuNamesInfo *SkuNamesInfo, err error) {
db := dao.GetDB()
sql := `
FROM sku_name t1
@@ -311,7 +312,7 @@ func GetSkuNames(keyword string, params map[string]interface{}, offset, pageSize
return skuNamesInfo, err
}
func AddSkuName(skuNameExt *model.SkuNameExt, userName string) (outSkuNameExt *model.SkuNameExt, err error) {
func AddSkuName(ctx *jxcontext.Context, skuNameExt *model.SkuNameExt, userName string) (outSkuNameExt *model.SkuNameExt, err error) {
if skuNameExt.CategoryID == 0 {
return nil, errors.New("CategoryID不能为空")
}
@@ -351,7 +352,7 @@ func AddSkuName(skuNameExt *model.SkuNameExt, userName string) (outSkuNameExt *m
}
}
dao.Commit(db)
tmpInfo, err := GetSkuNames("", utils.Params2Map("nameID", skuNameExt.SkuName.ID), 0, 1)
tmpInfo, err := GetSkuNames(ctx, "", utils.Params2Map("nameID", skuNameExt.SkuName.ID), 0, 1)
if err != nil {
return nil, err
}
@@ -359,11 +360,11 @@ func AddSkuName(skuNameExt *model.SkuNameExt, userName string) (outSkuNameExt *m
return nil, ErrEntityNotExist
}
outSkuNameExt = tmpInfo.SkuNames[0]
_, err = CurVendorSync.SyncSku(db, outSkuNameExt.SkuName.ID, -1, false, userName)
_, err = CurVendorSync.SyncSku(ctx, db, outSkuNameExt.SkuName.ID, -1, false, userName)
return outSkuNameExt, err
}
func UpdateSkuName(nameID int, payload map[string]interface{}, userName string) (num int64, err error) {
func UpdateSkuName(ctx *jxcontext.Context, nameID int, payload map[string]interface{}, userName string) (num int64, err error) {
var err2 error
skuName := &model.SkuName{}
skuName.ID = nameID
@@ -403,7 +404,7 @@ func UpdateSkuName(nameID int, payload map[string]interface{}, userName string)
}, model.FieldJdSyncStatus)
if err = err2; err == nil {
dao.Commit(db)
_, err2 = CurVendorSync.SyncSku(db, nameID, -1, false, userName)
_, err2 = CurVendorSync.SyncSku(ctx, db, nameID, -1, false, userName)
}
}
}
@@ -416,7 +417,7 @@ func UpdateSkuName(nameID int, payload map[string]interface{}, userName string)
return num, err
}
func DeleteSkuName(nameID int, userName string) (num int64, err error) {
func DeleteSkuName(ctx *jxcontext.Context, nameID int, userName string) (num int64, err error) {
db := dao.GetDB()
dao.Begin(db)
defer func() {
@@ -438,7 +439,7 @@ func DeleteSkuName(nameID int, userName string) (num int64, err error) {
if err2 == nil {
dao.Commit(db)
if num2 > 0 {
_, err = CurVendorSync.SyncSku(db, skuName.ID, -1, false, userName)
_, err = CurVendorSync.SyncSku(ctx, db, skuName.ID, -1, false, userName)
}
return num, err
}
@@ -447,18 +448,18 @@ func DeleteSkuName(nameID int, userName string) (num int64, err error) {
return num, err
}
func AddSku(nameID int, sku *model.Sku, userName string) (outSkuNameExt *model.SkuNameExt, err error) {
func AddSku(ctx *jxcontext.Context, nameID int, sku *model.Sku, userName string) (outSkuNameExt *model.SkuNameExt, err error) {
db := dao.GetDB()
dao.WrapAddIDCULDEntity(sku, userName)
sku.JdSyncStatus = model.SyncFlagNewMask
sku.NameID = nameID
sku.JdID = jxutils.GenFakeID()
if err = dao.CreateEntity(db, sku); err == nil {
result, err2 := GetSkuNames("", utils.Params2Map("skuID", sku.ID), 0, 0)
result, err2 := GetSkuNames(ctx, "", utils.Params2Map("skuID", sku.ID), 0, 0)
if err = err2; err == nil {
if result.TotalCount == 1 {
outSkuNameExt = result.SkuNames[0]
_, err = CurVendorSync.SyncSku(db, outSkuNameExt.SkuName.ID, sku.ID, false, userName)
_, err = CurVendorSync.SyncSku(ctx, db, outSkuNameExt.SkuName.ID, sku.ID, false, userName)
} else {
err = ErrEntityNotExist
}
@@ -467,7 +468,7 @@ func AddSku(nameID int, sku *model.Sku, userName string) (outSkuNameExt *model.S
return outSkuNameExt, err
}
func UpdateSku(skuID int, payload map[string]interface{}, userName string) (num int64, err error) {
func UpdateSku(ctx *jxcontext.Context, skuID int, payload map[string]interface{}, userName string) (num int64, err error) {
sku := &model.Sku{}
sku.ID = skuID
valid := dao.NormalMakeMapByStructObject(payload, sku, userName)
@@ -475,7 +476,7 @@ func UpdateSku(skuID int, payload map[string]interface{}, userName string) (num
db := dao.GetDB()
if num, err = dao.UpdateEntityLogicallyAndUpdateSyncStatus(db, sku, valid, userName, nil, model.FieldJdSyncStatus); err == nil {
if num == 1 {
_, err = CurVendorSync.SyncSku(db, -1, sku.ID, false, userName)
_, err = CurVendorSync.SyncSku(ctx, db, -1, sku.ID, false, userName)
} else {
err = ErrEntityNotExist
}
@@ -484,7 +485,7 @@ func UpdateSku(skuID int, payload map[string]interface{}, userName string) (num
return num, err
}
func DeleteSku(skuID int, userName string) (num int64, err error) {
func DeleteSku(ctx *jxcontext.Context, skuID int, userName string) (num int64, err error) {
db := dao.GetDB()
sku := &model.Sku{}
sku.ID = skuID
@@ -493,7 +494,7 @@ func DeleteSku(skuID int, userName string) (num int64, err error) {
model.FieldJdSyncStatus: model.SyncFlagDeletedMask,
}, userName, nil); err == nil {
if num == 1 {
_, err = CurVendorSync.SyncSku(db, -1, sku.ID, false, userName)
_, err = CurVendorSync.SyncSku(ctx, db, -1, sku.ID, false, userName)
} else {
err = ErrEntityNotExist
}
@@ -501,7 +502,7 @@ func DeleteSku(skuID int, userName string) (num int64, err error) {
return num, err
}
func AddSkuNamePlace(nameID, placeCode int, userName string) (outPlaceBind *model.SkuNamePlaceBind, err error) {
func AddSkuNamePlace(ctx *jxcontext.Context, nameID, placeCode int, userName string) (outPlaceBind *model.SkuNamePlaceBind, err error) {
db := dao.GetDB()
placeBind := &model.SkuNamePlaceBind{
NameID: nameID,
@@ -509,19 +510,19 @@ func AddSkuNamePlace(nameID, placeCode int, userName string) (outPlaceBind *mode
}
dao.WrapAddIDCULEntity(placeBind, userName)
if err = dao.CreateEntity(db, placeBind); err == nil {
_, err = CurVendorSync.SyncSku(db, nameID, -1, false, userName)
_, err = CurVendorSync.SyncSku(ctx, db, nameID, -1, false, userName)
}
return placeBind, err
}
func DeleteSkuNamePlace(nameID, placeCode int, userName string) (num int64, err error) {
func DeleteSkuNamePlace(ctx *jxcontext.Context, nameID, placeCode int, userName string) (num int64, err error) {
db := dao.GetDB()
placeBind := &model.SkuNamePlaceBind{}
placeBind.NameID = nameID
placeBind.PlaceCode = placeCode
if num, err = dao.DeleteEntity(db, placeBind, model.FieldNameID, model.FieldPlaceCode); err == nil {
if num == 1 {
_, err = CurVendorSync.SyncSku(db, nameID, -1, false, userName)
_, err = CurVendorSync.SyncSku(ctx, db, nameID, -1, false, userName)
} else {
err = ErrEntityNotExist
}
@@ -529,7 +530,7 @@ func DeleteSkuNamePlace(nameID, placeCode int, userName string) (num int64, err
return num, err
}
func GetVendorSku(vendorID int, vendorSkuID string) (skuNameInfo *model.SkuNameExt, err error) {
func GetVendorSku(ctx *jxcontext.Context, vendorID int, vendorSkuID string) (skuNameInfo *model.SkuNameExt, err error) {
if handler := CurVendorSync.GetMultiStoreHandler(vendorID); handler != nil {
return handler.ReadSku(vendorSkuID)
}