init
This commit is contained in:
@@ -0,0 +1,152 @@
|
||||
package models
|
||||
|
||||
import (
|
||||
"github.com/snail007/go-activerecord/mysql"
|
||||
)
|
||||
|
||||
type Region struct {
|
||||
}
|
||||
|
||||
func (p *Region) GetRegionByRegionId(regionId string) (region map[string]string, err error) {
|
||||
db := DB
|
||||
var rs *mysql.ResultSet
|
||||
rs, err = db.Query(db.AR().From("region").Where(map[string]interface{}{
|
||||
"region_id": regionId,
|
||||
"is_delete": 0,
|
||||
}))
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
region = rs.Row()
|
||||
return
|
||||
}
|
||||
func (p *Region) HasRole(regionId string) (has bool, err error) {
|
||||
db := DB
|
||||
var rs *mysql.ResultSet
|
||||
rs, err = db.Query(db.AR().From("role_region").Where(map[string]interface{}{
|
||||
"region_id": regionId,
|
||||
}).Limit(0, 1))
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
if rs.Len() > 0 {
|
||||
has = true
|
||||
}
|
||||
return
|
||||
}
|
||||
func (p *Region) HasSubRegion(regionId string) (has bool, err error) {
|
||||
db := DB
|
||||
var rs *mysql.ResultSet
|
||||
rs, err = db.Query(db.AR().From("region").Where(map[string]interface{}{
|
||||
"parent_id": regionId,
|
||||
"is_delete": 0,
|
||||
}).Limit(0, 1))
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
if rs.Len() > 0 {
|
||||
has = true
|
||||
}
|
||||
return
|
||||
}
|
||||
func (p *Region) HasCluster(regionId string) (has bool, err error) {
|
||||
db := DB
|
||||
var rs *mysql.ResultSet
|
||||
rs, err = db.Query(db.AR().From("region_cluster").Where(map[string]interface{}{
|
||||
"region_id": regionId,
|
||||
}).Limit(0, 1))
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
if rs.Len() > 0 {
|
||||
has = true
|
||||
}
|
||||
return
|
||||
}
|
||||
func (p *Region) Delete(regionId string) (err error) {
|
||||
db := DB
|
||||
_, err = db.Exec(db.AR().Update("region", map[string]interface{}{
|
||||
"is_delete": 1,
|
||||
}, map[string]interface{}{
|
||||
"region_id": regionId,
|
||||
}))
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
return
|
||||
}
|
||||
func (p *Region) Insert(region map[string]interface{}) (id int64, err error) {
|
||||
db := DB
|
||||
var rs *mysql.ResultSet
|
||||
rs, err = db.Exec(db.AR().Insert("region", region))
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
id = rs.LastInsertId
|
||||
return
|
||||
}
|
||||
|
||||
func (p *Region) Update(regionId string, region map[string]interface{}) (id int64, err error) {
|
||||
db := DB
|
||||
var rs *mysql.ResultSet
|
||||
rs, err = db.Exec(db.AR().Update("region", region, map[string]interface{}{
|
||||
"region_id": regionId,
|
||||
}))
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
id = rs.LastInsertId
|
||||
return
|
||||
}
|
||||
|
||||
//获取所有的Region
|
||||
func (this *Region) GetAllRegions() (regions []map[string]string, err error) {
|
||||
db := DB
|
||||
res, err := db.Query(db.AR().From("region").Where(map[string]interface{}{
|
||||
"is_delete": 0,
|
||||
}).OrderBy("parent_id", "ASC").OrderBy("region_id", "ASC"))
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
regions = res.Rows()
|
||||
return
|
||||
}
|
||||
|
||||
//获取所有顶级Region
|
||||
func (this *Region) GetTopRegions() (regions map[string]map[string]string, err error) {
|
||||
db := DB
|
||||
res, err := db.Query(db.AR().From("region").Where(map[string]interface{}{
|
||||
"is_delete": 0,
|
||||
"parent_id": 0,
|
||||
}).OrderBy("region_id", "ASC"))
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
regions = res.MapRows("region_id")
|
||||
return
|
||||
}
|
||||
|
||||
//获取所有二级Region
|
||||
func (this *Region) GetSubRegions() (regions []map[string]string, err error) {
|
||||
db := DB
|
||||
res, err := db.Query(db.AR().From("region").Where(map[string]interface{}{
|
||||
"is_delete": 0,
|
||||
}).OrderBy("parent_id", "ASC"))
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
regionsAll := res.Rows()
|
||||
for _, r := range regionsAll {
|
||||
if r["parent_id"] != "0" {
|
||||
r["parent"] = ""
|
||||
for _, r1 := range regionsAll {
|
||||
if r["parent_id"] == r1["region_id"] {
|
||||
r["parent"] = r1["name"]
|
||||
break
|
||||
}
|
||||
}
|
||||
regions = append(regions, r)
|
||||
}
|
||||
}
|
||||
return
|
||||
}
|
||||
Reference in New Issue
Block a user