- IsDuplicateError

This commit is contained in:
gazebo
2018-11-06 22:12:18 +08:00
parent 255b0c7655
commit 3661ac61da
3 changed files with 36 additions and 25 deletions

View File

@@ -42,20 +42,18 @@ func UpdateEntityByKV(db *DaoDB, item interface{}, kvs map[string]interface{}, c
if db == nil {
db = GetDB()
}
err = utils.CallFuncLogError(func() error {
qs := db.db.QueryTable(item)
if conditions == nil {
qs = qs.Filter(model.FieldID, jxutils.GetObjFieldByName(item, model.FieldID))
} else {
for k, v := range conditions {
qs = qs.Filter(k, v)
}
qs := db.db.QueryTable(item)
if conditions == nil {
qs = qs.Filter(model.FieldID, jxutils.GetObjFieldByName(item, model.FieldID))
} else {
for k, v := range conditions {
qs = qs.Filter(k, v)
}
// globals.SugarLogger.Debugf("UpdateEntityByKV befor item:%s, kvs:%s, conditions:%s", utils.Format4Output(item, false), utils.Format4Output(kvs, false), utils.Format4Output(conditions, false))
num, err = qs.Update(kvs)
// globals.SugarLogger.Debugf("UpdateEntityByKV after update, num:%d", num)
return err
}, reflect.TypeOf(item).Name())
}
num, err = qs.Update(kvs)
if err != nil && !IsDuplicateError(err) {
globals.SugarLogger.Errorf("UpdateEntityByKV %s failed with error:%v", reflect.TypeOf(item).Name(), err)
}
return num, err
}