123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- package dao
- import (
- "context"
- model "go-common/app/admin/main/macross/model/manager"
- "go-common/library/log"
- )
- const (
- // load cache(get all).
- _rolesSQL = `SELECT id,system,name,ctime,mtime FROM role`
- // role.
- _inRoleSQL = `INSERT INTO role (system,name) VALUES(?,?)`
- _upRoleSQL = `UPDATE role SET name=? WHERE id=?`
- _delRoleSQL = `DELETE FROM role WHERE id=?`
- _cleanRelationByRole = "DELETE FROM auth_relation WHERE rid=?"
- )
- // Roles select all role from db.
- func (d *Dao) Roles(c context.Context) (res map[string]map[int64]*model.Role, err error) {
- rows, err := d.db.Query(c, _rolesSQL)
- if err != nil {
- log.Error("Roles d.db.Query(%d) error(%v)", err)
- return
- }
- defer rows.Close()
- res = make(map[string]map[int64]*model.Role)
- for rows.Next() {
- var (
- roles map[int64]*model.Role
- ok bool
- )
- role := &model.Role{}
- if err = rows.Scan(&role.RoleID, &role.System, &role.RoleName, &role.CTime, &role.MTime); err != nil {
- log.Error("Roles rows.Scan error(%v)", err)
- return
- }
- if roles, ok = res[role.System]; !ok {
- roles = make(map[int64]*model.Role)
- res[role.System] = roles
- }
- roles[role.RoleID] = role
- }
- return
- }
- // AddRole insert role.
- func (d *Dao) AddRole(c context.Context, system, roleName string) (rows int64, err error) {
- res, err := d.db.Exec(c, _inRoleSQL, system, roleName)
- if err != nil {
- log.Error("AddRole d.db.Exec() error(%v)", err)
- return
- }
- rows, err = res.RowsAffected()
- return
- }
- // UpRole update role.
- func (d *Dao) UpRole(c context.Context, roleName string, roleID int64) (rows int64, err error) {
- res, err := d.db.Exec(c, _upRoleSQL, roleName, roleID)
- if err != nil {
- log.Error("UpRole d.db.Exec() error(%v)", err)
- return
- }
- rows, err = res.RowsAffected()
- return
- }
- // DelRole del role.
- func (d *Dao) DelRole(c context.Context, roleID int64) (rows int64, err error) {
- res, err := d.db.Exec(c, _delRoleSQL, roleID)
- if err != nil {
- log.Error("DelRole d.db.Exec() error(%v)", err)
- return
- }
- rows, err = res.RowsAffected()
- return
- }
- // CleanAuthRelationByRole del all auth relation by role.
- func (d *Dao) CleanAuthRelationByRole(c context.Context, roleID int64) (rows int64, err error) {
- res, err := d.db.Exec(c, _cleanRelationByRole, roleID)
- if err != nil {
- log.Error("CleanAuthRelationByRole d.db.Exec() error(%v)", err)
- return
- }
- rows, err = res.RowsAffected()
- return
- }
|