This commit is contained in:
苏尹岚
2020-09-27 15:24:36 +08:00
parent 4dd0e7dd8f
commit 5c9b56b5f4
4 changed files with 90 additions and 0 deletions

View File

@@ -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
}

View File

@@ -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
}

View File

@@ -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
})
}

View File

@@ -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",