diff --git a/business/model/dao/dao.go b/business/model/dao/dao.go index 610153e7b..994f42748 100644 --- a/business/model/dao/dao.go +++ b/business/model/dao/dao.go @@ -15,7 +15,7 @@ const ( type DaoDB struct { transactionLevel int - db orm.Ormer + Db orm.Ormer } // func GetRows(db *gorm.DB, inPtr interface{}, sql string, values ...interface{}) (err error) { @@ -56,33 +56,35 @@ type DaoDB struct { // beego orm的对于传代表字段的字串,数据库字段名(完全匹配,区分大小写),结构体字段名(不区分大小写)都可以 func GetDB() *DaoDB { - return &DaoDB{db: orm.NewOrm()} + return &DaoDB{Db: orm.NewOrm()} } func WrapDB(ormDb orm.Ormer) *DaoDB { - return &DaoDB{db: ormDb} + return &DaoDB{Db: ormDb} } func Begin(db *DaoDB) (err error) { if db.transactionLevel == 0 { - err = db.db.Begin() + err = db.Db.Begin() } db.transactionLevel++ return err } func Commit(db *DaoDB) (err error) { - if db.transactionLevel <= 1 { - err = db.db.Commit() + if db.transactionLevel == 1 { + err = db.Db.Commit() db.transactionLevel = 0 - } else { + } else if db.transactionLevel > 1 { db.transactionLevel-- } return err } func Rollback(db *DaoDB) (err error) { - err = db.db.Rollback() + if db.transactionLevel > 0 { + err = db.Db.Rollback() + } db.transactionLevel = 0 return err } @@ -92,7 +94,7 @@ func GetRow(db *DaoDB, inPtr interface{}, sql string, values ...interface{}) (er db = GetDB() } if !useGetRowsWhenGetRow { // beego QueryRow有bug,嵌入的struct不能正常绑定 - err = db.db.Raw(sql, values).QueryRow(inPtr) + err = db.Db.Raw(sql, values).QueryRow(inPtr) } else { typeInfo := reflect.TypeOf(inPtr) if typeInfo.Kind() != reflect.Ptr { @@ -115,7 +117,7 @@ func GetRows(db *DaoDB, inPtr interface{}, sql string, values ...interface{}) (e if db == nil { db = GetDB() } - _, err = db.db.Raw(sql, values).QueryRows(inPtr) + _, err = db.Db.Raw(sql, values).QueryRows(inPtr) return err } @@ -124,7 +126,7 @@ func GetEntity(db *DaoDB, item interface{}, cols ...string) (err error) { db = GetDB() } err = utils.CallFuncLogErrorIgnore(func() error { - return db.db.Read(item, cols...) + return db.Db.Read(item, cols...) }, reflect.TypeOf(item).Name(), orm.ErrNoRows) return err } @@ -133,7 +135,7 @@ func UpdateEntity(db *DaoDB, item interface{}, cols ...string) (num int64, err e if db == nil { db = GetDB() } - num, err = db.db.Update(item, cols...) + 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) } @@ -144,7 +146,7 @@ func CreateEntity(db *DaoDB, item interface{}) (err error) { if db == nil { db = GetDB() } - if _, err = db.db.Insert(item); err != nil && !IsDuplicateError(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 @@ -155,7 +157,7 @@ func CreateMultiEntities(db *DaoDB, item interface{}) (err error) { if db == nil { db = GetDB() } - if _, err = db.db.InsertMulti(20, item); err != nil && !IsDuplicateError(err) { + if _, err = db.Db.InsertMulti(20, item); err != nil && !IsDuplicateError(err) { globals.SugarLogger.Errorf("CreateEntity %s failed with error:%v", reflect.TypeOf(item).Name(), err) } return err @@ -165,7 +167,7 @@ func CreateOrUpdate(db *DaoDB, item interface{}, colConflitAndArgs ...string) (e if db == nil { db = GetDB() } - _, err = db.db.InsertOrUpdate(item, colConflitAndArgs...) + _, err = db.Db.InsertOrUpdate(item, colConflitAndArgs...) return err } @@ -174,7 +176,7 @@ func DeleteEntity(db *DaoDB, item interface{}, cols ...string) (num int64, err e db = GetDB() } err = utils.CallFuncLogError(func() error { - num, err = db.db.Delete(item, cols...) + num, err = db.Db.Delete(item, cols...) return err }, reflect.TypeOf(item).Name()) return num, err @@ -185,7 +187,7 @@ func ExecuteSQL(db *DaoDB, sql string, params ...interface{}) (num int64, err er db = GetDB() } err = utils.CallFuncLogError(func() error { - result, err2 := db.db.Raw(sql, params...).Exec() + result, err2 := db.Db.Raw(sql, params...).Exec() if err2 == nil { num, _ = result.RowsAffected() } diff --git a/business/model/dao/dao_bz.go b/business/model/dao/dao_bz.go index 8299049ec..18fb2d78d 100644 --- a/business/model/dao/dao_bz.go +++ b/business/model/dao/dao_bz.go @@ -22,7 +22,7 @@ func GetEntitiesByKV(db *DaoDB, item interface{}, conditions map[string]interfac if typeInfo.Kind() == reflect.Ptr { typeInfo = typeInfo.Elem() } - qs := db.db.QueryTable(reflect.New(typeInfo).Interface()) + qs := db.Db.QueryTable(reflect.New(typeInfo).Interface()) for k, v := range conditions { qs = qs.Filter(k, v) } @@ -42,7 +42,7 @@ func UpdateEntityByKV(db *DaoDB, item interface{}, kvs map[string]interface{}, c if db == nil { db = GetDB() } - qs := db.db.QueryTable(item) + qs := db.Db.QueryTable(item) if conditions == nil { qs = qs.Filter(model.FieldID, refutil.GetObjFieldByName(item, model.FieldID)) } else { diff --git a/business/model/dao/place.go b/business/model/dao/place.go index a3320487e..aed95f0ed 100644 --- a/business/model/dao/place.go +++ b/business/model/dao/place.go @@ -34,7 +34,7 @@ func GetPlaceByName(db *DaoDB, name string, level int, parentCode int) (place *m } if err = GetEntity(db, place, cols...); err == orm.ErrNoRows { - err = db.db.Raw("SELECT * FROM place WHERE parent_code = ? AND level = ? AND name LIKE ?", parentCode, level, "%"+name+"%").QueryRow(place) + err = db.Db.Raw("SELECT * FROM place WHERE parent_code = ? AND level = ? AND name LIKE ?", parentCode, level, "%"+name+"%").QueryRow(place) } return place, err } @@ -46,6 +46,6 @@ func GetPlaceByJdCode(db *DaoDB, jdCode int) (place *model.Place, err error) { place = &model.Place{ JdCode: jdCode, } - err = db.db.Read(place, "JdCode") + err = db.Db.Read(place, "JdCode") return place, err }