角色
This commit is contained in:
@@ -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
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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
|
||||
})
|
||||
}
|
||||
|
||||
@@ -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",
|
||||
|
||||
Reference in New Issue
Block a user