package models import ( "github.com/beego/beego/v2/client/orm" ) type SysDepartment struct { SysDepartmentId int `description:"部门id"` SysDepartmentName string `description:"部门名称"` Sort int `description:"排序"` Level int `description:"层级"` ParentId int `description:"父目录id"` } type SysDepartmentList struct { SysDepartmentId int `description:"部门id"` SysDepartmentName string `description:"部门名称"` Child []*SysDepartmentList `description:"分组"` Level int `description:"1:部门, 2|3:分组"` ParentId int `description:"父目录id"` } func GetSysDepartmentById(sysDepartmentId int) (item *SysDepartment, err error) { o := orm.NewOrmUsingDB("master") sql := `SELECT * FROM sys_department WHERE sys_department_id=? ` err = o.Raw(sql, sysDepartmentId).QueryRow(&item) return } func GetSysDepartmentListByLevel(level int) (items []*SysDepartmentList, err error) { o := orm.NewOrmUsingDB("master") sql := `SELECT * FROM sys_department WHERE level=? ORDER BY sort` _, err = o.Raw(sql, level).QueryRows(&items) return } func GetSysDepartmentListByParentId(parentId int) (item SysDepartmentList, err error) { o := orm.NewOrmUsingDB("master") sql := `SELECT * FROM sys_department WHERE sys_department_id=? ` err = o.Raw(sql, parentId).QueryRow(&item) return } func GetChildSysDepartmentListById(sysDepartmentId int) (items []*SysDepartmentList, err error) { o := orm.NewOrmUsingDB("master") sql := `SELECT * FROM sys_department WHERE parent_id=? ` _, err = o.Raw(sql, sysDepartmentId).QueryRows(&items) return }