From 5c9b56b5f47bfb77b0306f42b19a69c8c25fd04a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Sun, 27 Sep 2020 15:24:36 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=92=E8=89=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/cms/permission.go | 28 +++++++++++++++++++++++++++ business/model/dao/permission.go | 17 ++++++++++++++++ controllers/permission.go | 27 ++++++++++++++++++++++++++ routers/commentsRouter_controllers.go | 18 +++++++++++++++++ 4 files changed, 90 insertions(+) diff --git a/business/jxstore/cms/permission.go b/business/jxstore/cms/permission.go index f201b00ef..4f1059c5f 100644 --- a/business/jxstore/cms/permission.go +++ b/business/jxstore/cms/permission.go @@ -72,3 +72,31 @@ func UpdateMenu(ctx *jxcontext.Context, menuID int, payload map[string]interface dao.Commit(db) return num, err } + +func GetRole(ctx *jxcontext.Context) (roles []*model.Role, err error) { + return dao.GetRole(dao.GetDB(), "") +} + +func AddRole(ctx *jxcontext.Context, name string) (err error) { + var ( + db = dao.GetDB() + ) + roles, err := dao.GetRole(db, name) + if len(roles) > 0 { + return fmt.Errorf("添加失败!已存在相同名称的 role name : %v", name) + } + role := &model.Role{ + Name: name, + } + dao.Begin(db) + defer func() { + if r := recover(); r != nil { + dao.Rollback(db) + panic(r) + } + }() + dao.WrapAddIDCULDEntity(role, ctx.GetUserName()) + err = dao.CreateEntity(db, role) + dao.Commit(db) + return err +} diff --git a/business/model/dao/permission.go b/business/model/dao/permission.go index 055983d35..c52c40dd7 100644 --- a/business/model/dao/permission.go +++ b/business/model/dao/permission.go @@ -25,3 +25,20 @@ func GetMenu(db *DaoDB, name string, level int) (menus []*model.Menu, err error) err = GetRows(db, &menus, sql, sqlParams) return menus, err } + +func GetRole(db *DaoDB, name string) (roles []*model.Role, err error) { + sql := ` + SELECT * + FROM role + WHERE deleted_at = ? + ` + sqlParams := []interface{}{ + utils.DefaultTimeValue, + } + if name != "" { + sql += " AND name LIKE ?" + sqlParams = append(sqlParams, "%"+name+"%") + } + err = GetRows(db, &roles, sql, sqlParams) + return roles, err +} diff --git a/controllers/permission.go b/controllers/permission.go index 91c05278f..73ac9f95c 100644 --- a/controllers/permission.go +++ b/controllers/permission.go @@ -59,3 +59,30 @@ func (c *PowerController) UpdateMenu() { return retVal, "", err }) } + +// @Title 添加角色 +// @Description 添加角色 +// @Param token header string true "认证token" +// @Param name formData string true "角色名" +// @Success 200 {object} controllers.CallResult +// @Failure 200 {object} controllers.CallResult +// @router /AddRole [post] +func (c *PowerController) AddRole() { + c.callAddRole(func(params *tPowerAddRoleParams) (retVal interface{}, errCode string, err error) { + err = cms.AddRole(params.Ctx, params.Name) + return retVal, "", err + }) +} + +// @Title 查询角色 +// @Description 查询角色 +// @Param token header string true "认证token" +// @Success 200 {object} controllers.CallResult +// @Failure 200 {object} controllers.CallResult +// @router /GetRole [get] +func (c *PowerController) GetRole() { + c.callGetRole(func(params *tPowerGetRoleParams) (retVal interface{}, errCode string, err error) { + retVal, err = cms.GetRole(params.Ctx) + return retVal, "", err + }) +} diff --git a/routers/commentsRouter_controllers.go b/routers/commentsRouter_controllers.go index 64420960d..c50969fb3 100644 --- a/routers/commentsRouter_controllers.go +++ b/routers/commentsRouter_controllers.go @@ -1440,6 +1440,15 @@ func init() { Filters: nil, Params: nil}) + beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:PowerController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:PowerController"], + beego.ControllerComments{ + Method: "AddRole", + Router: `/AddRole`, + AllowHTTPMethods: []string{"post"}, + MethodParams: param.Make(), + Filters: nil, + Params: nil}) + beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:PowerController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:PowerController"], beego.ControllerComments{ Method: "GetMenu", @@ -1449,6 +1458,15 @@ func init() { Filters: nil, Params: nil}) + beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:PowerController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:PowerController"], + beego.ControllerComments{ + Method: "GetRole", + Router: `/GetRole`, + AllowHTTPMethods: []string{"get"}, + MethodParams: param.Make(), + Filters: nil, + Params: nil}) + beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:PowerController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:PowerController"], beego.ControllerComments{ Method: "UpdateMenu",