- 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

@@ -7,7 +7,6 @@ import (
"git.rosy.net.cn/baseapi/utils"
"git.rosy.net.cn/jx-callback/globals"
"github.com/astaxie/beego/orm"
"github.com/go-sql-driver/mysql"
)
const (
@@ -121,10 +120,10 @@ func UpdateEntity(db *DaoDB, item interface{}, cols ...string) (num int64, err e
if db == nil {
db = GetDB()
}
err = utils.CallFuncLogError(func() error {
num, err = db.db.Update(item, cols...)
return err
}, reflect.TypeOf(item).Name())
num, err = db.db.Update(item, cols...)
if err != nil && !IsDuplicateError(err) {
globals.SugarLogger.Errorf("UpdateEntity %s failed with error:%v", reflect.TypeOf(item).Name(), err)
}
return num, err
}
@@ -132,13 +131,8 @@ func CreateEntity(db *DaoDB, item interface{}) (err error) {
if db == nil {
db = GetDB()
}
if _, err = db.db.Insert(item); err != nil {
if mysqlErr, ok := err.(*mysql.MySQLError); ok {
if mysqlErr.Number == 1062 {
return err
}
}
globals.SugarLogger.Warnf("CreateEntity failed with error:%v", err)
if _, err = db.db.Insert(item); err != nil && !IsDuplicateError(err) {
globals.SugarLogger.Errorf("CreateEntity %s failed with error:%v", reflect.TypeOf(item).Name(), err)
}
return err
}