123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120 |
- package models
- import (
- "context"
- "time"
- "github.com/beego/beego/v2/client/orm"
- )
- type SysRole struct {
- SysRoleId int `orm:"pk" description:"角色id"`
- SysRoleName string `description:"姓名"`
- CreateTime time.Time `description:"创建时间"`
- ModifyTime time.Time `description:"更新时间"`
- }
- func (s *SysRole) Add() (err error) {
- o := orm.NewOrm()
- _, err = o.Insert(s)
- return
- }
- func DeleteSysRoleById(roleId int) (err error) {
- sql := `DELETE FROM sys_role WHERE sys_role_id=? `
- o := orm.NewOrm()
- _, err = o.Raw(sql, roleId).Exec()
- return
- }
- func GetSysRoleByRoleName(roleName string) (item *SysRole, err error) {
- sql := `SELECT * FROM sys_role WHERE sys_role_name=? `
- o := orm.NewOrm()
- err = o.Raw(sql, roleName).QueryRow(&item)
- return
- }
- func GetSysRoleCountByRoleName(roleName string) (count int, err error) {
- sql := `SELECT COUNT(1) AS count FROM sys_role WHERE sys_role_name=? `
- o := orm.NewOrm()
- err = o.Raw(sql, roleName).QueryRow(&count)
- return
- }
- func UpdateSysUserRoleByRoleId(roleId int, roleName string) (err error) {
- o := orm.NewOrm()
- err = o.DoTx(func(ctx context.Context, txOrm orm.TxOrmer) error {
- role := &SysRole{}
- role.SysRoleId = roleId
- role.SysRoleName = roleName
- role.ModifyTime = time.Now()
- _, e := txOrm.Update(role, "sys_role_id", "sys_role_name", "modify_time")
- if e != nil {
- return e
- }
- sql := `UPDATE sys_user SET sys_role_name=? WHERE sys_role_id=?`
- _, e = txOrm.Raw(sql, roleName, roleId).Exec()
- return e
- })
- return
- }
- func GetSysRoleById(id int) (item *SysRole, err error) {
- o := orm.NewOrm()
- sql := `SELECT * FROM sys_role WHERE sys_role_id=?`
- err = o.Raw(sql, id).QueryRow(&item)
- return
- }
- func GetSysRoleListCount() (count int, err error) {
- o := orm.NewOrm()
- sql := `SELECT COUNT(1) AS count FROM sys_role `
- err = o.Raw(sql).QueryRow(&count)
- return
- }
- func GetSysRoleList(startSize, pageSize int) (items []*SysRole, err error) {
- o := orm.NewOrm()
- sql := `SELECT * FROM sys_role ORDER BY modify_time DESC LIMIT ?,?`
- _, err = o.Raw(sql, startSize, pageSize).QueryRows(&items)
- return
- }
- func GetSysRoleListNoPage() (items []*SysRole, err error) {
- o := orm.NewOrm()
- sql := `SELECT * FROM sys_role ORDER BY modify_time DESC `
- _, err = o.Raw(sql).QueryRows(&items)
- return
- }
- // CreateMultiSysRoleMenu 删除并新增角色权限
- func CreateMultiSysRoleMenu(roleId int, items []*SysRoleMenuMapping) (err error) {
- if roleId == 0 {
- return
- }
- o := orm.NewOrm()
- err = o.DoTx(func(ctx context.Context, txOrm orm.TxOrmer) error {
- sql := `DELETE FROM sys_role_menu_mapping WHERE sys_role_id = ?`
- _, e := txOrm.Raw(sql, roleId).Exec()
- if e != nil {
- return e
- }
- if len(items) > 0 {
- _, e = txOrm.InsertMulti(len(items), items)
- if e != nil {
- return e
- }
- }
- return nil
- })
- return
- }
- // GetSysRoleMenuByRoleId 获取角色关联菜单
- func GetSysRoleMenuByRoleId(roleId int) (items []*SysRoleMenuMapping, err error) {
- o := orm.NewOrm()
- sql := `SELECT * FROM sys_role_menu_mapping WHERE sys_role_id = ?`
- _, err = o.Raw(sql, roleId).QueryRows(&items)
- return
- }
|