- Store and StoreMap add DeletedAt.

This commit is contained in:
gazebo
2018-09-20 10:07:58 +08:00
parent f874c37d14
commit 9d88344ddb
14 changed files with 206 additions and 172 deletions

View File

@@ -4,7 +4,6 @@ import (
"errors"
"strconv"
"strings"
"time"
"git.rosy.net.cn/baseapi/utils"
"git.rosy.net.cn/jx-callback/business/model"
@@ -29,7 +28,7 @@ func GetVendorCategories(vendorID int, parentID string) (vendorCats []*model.Sku
if parentID != "-1" {
cond[model.FieldParentID] = parentID
}
return vendorCats, dao.GetEntities(nil, &vendorCats, cond, false)
return vendorCats, dao.GetEntitiesByKV(nil, &vendorCats, cond, false)
}
// parentID 为-1表示所有
@@ -62,7 +61,7 @@ func UpdateCategory(categoryID int, payload map[string]interface{}, userName str
if len(valid) > 0 {
valid[model.FieldJdSyncStatus] = model.SyncFlagModifiedMask
db := dao.GetDB()
if num, err = dao.UpdateEntityByKV(db, cat, valid, nil); err == nil {
if num, err = dao.UpdateEntityLogically(db, cat, valid, userName, nil); err == nil {
err = CurVendorSync.SyncCategory(db, categoryID, false, userName)
}
}
@@ -80,7 +79,7 @@ func ReorderCategories(parentID int, categoryIDs []int, userName string) (err er
parentCat = nil
}
if err == nil {
if err = dao.GetEntities(db, &cats, utils.Params2Map(model.FieldParentID, parentID), false); err == nil {
if err = dao.GetEntitiesByKV(db, &cats, utils.Params2Map(model.FieldParentID, parentID), false); err == nil {
catsLen := len(cats)
if catsLen != len(categoryIDs) {
return ErrInputCatsDoesntMatch
@@ -132,7 +131,7 @@ func DeleteCategory(categoryID int, isForce bool, userName string) (num int64, e
} else if countInfos[2].Ct != 0 {
return 0, errors.New("还有商品类别使用此类别,不能删除")
}
if num, err = dao.DeleteEntityLogically(db, cat, nil, userName, utils.Params2Map(model.FieldJdSyncStatus, model.SyncFlagDeletedMask)); err == nil && num == 1 {
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)
}
}
@@ -348,7 +347,7 @@ func AddSkuName(skuNameExt *model.SkuNameExt, userName string) (outSkuNameExt *m
return nil, err
}
if tmpInfo.TotalCount != 1 {
// return nil, ErrEntityNotExist
return nil, ErrEntityNotExist
}
outSkuNameExt = tmpInfo.SkuNames[0]
err = CurVendorSync.SyncSku(db, outSkuNameExt.SkuName.ID, -1, false, userName)
@@ -369,7 +368,7 @@ func UpdateSkuName(nameID int, payload map[string]interface{}, userName string)
panic(r)
}
}()
if num, err = dao.UpdateEntityByKV(db, skuName, valid, nil); err == nil && num == 1 {
if num, err = dao.UpdateEntityLogically(db, skuName, valid, userName, nil); err == nil && num == 1 {
if utils.Interface2Int64WithDefault(payload["isGlobal"], 0) == 0 && payload["places"] != nil {
if places, ok := payload["places"].([]interface{}); ok {
if _, err = dao.ExecuteSQL(db, "DELETE FROM sku_name_place_bind WHERE name_id = ?", nameID); err == nil {
@@ -390,12 +389,14 @@ func UpdateSkuName(nameID int, payload map[string]interface{}, userName string)
}
if err == nil {
sku := &model.Sku{}
_, err2 := dao.UpdateEntityByKV(db, sku, utils.Params2Map(model.FieldJdSyncStatus, model.SyncFlagModifiedMask), utils.Params2Map(model.FieldNameID, skuName.ID))
_, err2 := dao.UpdateEntityLogically(db, sku, map[string]interface{}{
model.FieldJdSyncStatus: model.SyncFlagModifiedMask,
}, userName, map[string]interface{}{
model.FieldNameID: nameID,
})
if err = err2; err == nil {
if err = dao.GetEntity(db, skuName); err == nil {
dao.Commit(db)
err2 = CurVendorSync.SyncSku(db, skuName.ID, -1, false, userName)
}
dao.Commit(db)
err2 = CurVendorSync.SyncSku(db, nameID, -1, false, userName)
}
}
}
@@ -421,12 +422,12 @@ func DeleteSkuName(nameID int, userName string) (num int64, err error) {
skuName.ID = nameID
if num, err = dao.DeleteEntityLogically(db, skuName, nil, userName, nil); err == nil && num == 1 {
dummy := &model.Sku{}
num2, err2 := dao.UpdateEntityByKV(db, dummy, map[string]interface{}{
model.FieldDeletedAt: time.Now(),
model.FieldLastOperator: userName,
num2, err2 := dao.DeleteEntityLogically(db, dummy, map[string]interface{}{
model.FieldJdSyncStatus: model.SyncFlagDeletedMask,
"Status": model.SkuStatusDeleted,
}, utils.Params2Map(model.FieldNameID, skuName.ID))
model.FieldStatus: model.SkuStatusDeleted,
}, userName, map[string]interface{}{
model.FieldNameID: nameID,
})
if err2 == nil {
dao.Commit(db)
if num2 > 0 {
@@ -466,7 +467,7 @@ func UpdateSku(skuID int, payload map[string]interface{}, userName string) (num
if len(valid) > 0 {
valid[model.FieldJdSyncStatus] = model.SyncFlagModifiedMask
db := dao.GetDB()
if num, err = dao.UpdateEntityByKV(db, sku, valid, nil); err == nil {
if num, err = dao.UpdateEntityLogically(db, sku, valid, userName, nil); err == nil {
if num == 1 {
err = CurVendorSync.SyncSku(db, -1, sku.ID, false, userName)
} else {
@@ -481,7 +482,10 @@ func DeleteSku(skuID int, userName string) (num int64, err error) {
db := dao.GetDB()
sku := &model.Sku{}
sku.ID = skuID
if num, err = dao.DeleteEntityLogically(db, sku, nil, userName, nil); err == nil {
if num, err = dao.DeleteEntityLogically(db, sku, map[string]interface{}{
model.FieldStatus: model.SkuStatusDeleted,
model.FieldJdSyncStatus: model.SyncFlagDeletedMask,
}, userName, nil); err == nil {
if num == 1 {
err = CurVendorSync.SyncSku(db, -1, sku.ID, false, userName)
} else {