1
This commit is contained in:
65
business/dao/place.go
Normal file
65
business/dao/place.go
Normal file
@@ -0,0 +1,65 @@
|
||||
package dao
|
||||
|
||||
import (
|
||||
"git.rosy.net.cn/jx-callback/business/model"
|
||||
"github.com/astaxie/beego/client/orm"
|
||||
)
|
||||
|
||||
const (
|
||||
EnableCondAll = 0
|
||||
EnableCondEnalbed = 1
|
||||
EnableCondDisabled = 2
|
||||
)
|
||||
|
||||
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 GetPlacesByCond(db *DaoDB, enableCond int) (placeList []*model.Place, err error) {
|
||||
if db == nil {
|
||||
db = GetDB()
|
||||
}
|
||||
sql := `
|
||||
SELECT *
|
||||
FROM place
|
||||
WHERE level = 2
|
||||
`
|
||||
if enableCond == EnableCondEnalbed {
|
||||
sql += " AND enabled = 1"
|
||||
} else if enableCond == EnableCondDisabled {
|
||||
sql += " AND enabled = 0"
|
||||
}
|
||||
sql += " ORDER BY code"
|
||||
err = GetRows(db, &placeList, sql)
|
||||
return placeList, 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
|
||||
}
|
||||
Reference in New Issue
Block a user