52 lines
1.1 KiB
Go
52 lines
1.1 KiB
Go
package dao
|
|
|
|
import (
|
|
"git.rosy.net.cn/jx-callback/business/model"
|
|
"github.com/astaxie/beego/orm"
|
|
)
|
|
|
|
func GetPlaceByCode(db *DaoDB, code int) (place *model.Place, err error) {
|
|
if db == nil {
|
|
db = GetDB()
|
|
}
|
|
place = &model.Place{
|
|
Code: code,
|
|
}
|
|
err = GetEntity(db, place, "Code")
|
|
return place, err
|
|
}
|
|
|
|
func GetPlaceByName(db *DaoDB, name string, level int, parentCode int) (place *model.Place, err error) {
|
|
if db == nil {
|
|
db = GetDB()
|
|
}
|
|
cols := []string{
|
|
"Name",
|
|
"Level",
|
|
}
|
|
place = &model.Place{
|
|
Name: name,
|
|
Level: int8(level),
|
|
}
|
|
if parentCode != 0 {
|
|
cols = append(cols, "ParentCode")
|
|
place.ParentCode = parentCode
|
|
|
|
}
|
|
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)
|
|
}
|
|
return place, err
|
|
}
|
|
|
|
func GetPlaceByJdCode(db *DaoDB, jdCode int) (place *model.Place, err error) {
|
|
if db == nil {
|
|
db = GetDB()
|
|
}
|
|
place = &model.Place{
|
|
JdCode: jdCode,
|
|
}
|
|
err = db.Db.Read(place, "JdCode")
|
|
return place, err
|
|
}
|