- store man almost ok.

This commit is contained in:
gazebo
2018-09-09 12:32:24 +08:00
parent 8c130a15a4
commit fc05f326b7
13 changed files with 392 additions and 93 deletions

View File

@@ -77,22 +77,22 @@ func GetEntity(db *DaoDB, item interface{}, cols ...string) error {
return err
}
func UpdateEntity(db *DaoDB, item interface{}, cols ...string) error {
func UpdateEntity(db *DaoDB, item interface{}, cols ...string) (num int64, err error) {
if db == nil {
db = GetDB()
}
err := utils.CallFuncLogError(func() error {
_, err2 := db.db.Update(item, cols...)
return err2
err = utils.CallFuncLogError(func() error {
num, err = db.db.Update(item, cols...)
return err
}, reflect.TypeOf(item).Name())
return err
return num, err
}
func UpdateEntityByKV(db *DaoDB, item interface{}, kvs map[string]interface{}, conditions map[string]interface{}) error {
func UpdateEntityByKV(db *DaoDB, item interface{}, kvs map[string]interface{}, conditions map[string]interface{}) (num int64, err error) {
if db == nil {
db = GetDB()
}
err := utils.CallFuncLogError(func() error {
err = utils.CallFuncLogError(func() error {
qs := db.db.QueryTable(item)
if conditions == nil {
qs = qs.Filter("id", jxutils.GetObjFieldByName(item, "ID"))
@@ -101,10 +101,10 @@ func UpdateEntityByKV(db *DaoDB, item interface{}, kvs map[string]interface{}, c
qs = qs.Filter(k, v)
}
}
_, err2 := qs.Update(kvs)
return err2
num, err = qs.Update(kvs)
return err
}, reflect.TypeOf(item).Name())
return err
return num, err
}
func CreateEntity(db *DaoDB, item interface{}) error {
@@ -117,3 +117,22 @@ func CreateEntity(db *DaoDB, item interface{}) error {
}, reflect.TypeOf(item).Name())
return err
}
func DeleteEntity(db *DaoDB, item interface{}, conditions map[string]interface{}) (num int64, err error) {
if db == nil {
db = GetDB()
}
err = utils.CallFuncLogError(func() error {
if len(conditions) == 0 {
num, err = db.db.Delete(item)
} else {
qs := db.db.QueryTable(item)
for k, v := range conditions {
qs = qs.Filter(k, v)
}
num, err = qs.Delete()
}
return err
}, reflect.TypeOf(item).Name())
return 0, err
}