新增权限认证。
This commit is contained in:
+47
-3
@@ -8,10 +8,13 @@ import (
|
||||
"hospital-admin-api/api/service"
|
||||
"hospital-admin-api/global"
|
||||
"hospital-admin-api/utils"
|
||||
"strconv"
|
||||
)
|
||||
|
||||
type Role struct{}
|
||||
|
||||
var RoleRequest requests.RoleRequest
|
||||
|
||||
// GetRoleMenuList 获取角色菜单列表
|
||||
func (r *Role) GetRoleMenuList(c *gin.Context) {
|
||||
roleId := c.GetInt64("RoleId")
|
||||
@@ -36,10 +39,8 @@ func (r *Role) GetRoleMenuList(c *gin.Context) {
|
||||
responses.OkWithData(roleMenuList, c)
|
||||
}
|
||||
|
||||
// GetRoleList 获取角色列表
|
||||
// GetRoleList 搜索角色列表
|
||||
func (r *Role) GetRoleList(c *gin.Context) {
|
||||
var RoleRequest requests.RoleRequest
|
||||
|
||||
if err := c.ShouldBind(&RoleRequest.GetRoleList); err != nil {
|
||||
responses.FailWithMessage(err.Error(), c)
|
||||
return
|
||||
@@ -69,3 +70,46 @@ func (r *Role) GetRoleList(c *gin.Context) {
|
||||
|
||||
responses.OkWithData(adminRole, c)
|
||||
}
|
||||
|
||||
// PutRoleStatus 角色禁用/启用
|
||||
// 此处应该允许修改下级角色
|
||||
func (r *Role) PutRoleStatus(c *gin.Context) {
|
||||
if err := c.ShouldBind(&RoleRequest.PutRoleStatus); err != nil {
|
||||
responses.FailWithMessage(err.Error(), c)
|
||||
return
|
||||
}
|
||||
|
||||
// 参数验证
|
||||
if err := global.Validate.Struct(RoleRequest.PutRoleStatus); err != nil {
|
||||
responses.FailWithMessage(utils.Translate(err), c)
|
||||
return
|
||||
}
|
||||
|
||||
id := c.Param("id")
|
||||
if id == "" {
|
||||
responses.FailWithMessage("缺少参数", c)
|
||||
return
|
||||
}
|
||||
|
||||
// 将 id 转换为 int64 类型
|
||||
roleId, err := strconv.ParseInt(id, 10, 64)
|
||||
if err != nil {
|
||||
responses.Fail(c)
|
||||
return
|
||||
}
|
||||
|
||||
// 不可修改自己
|
||||
if roleId == c.GetInt64("RoleId") {
|
||||
responses.FailWithMessage("无法操作当前账号所属角色", c)
|
||||
return
|
||||
}
|
||||
|
||||
RoleService := service.RoleService{}
|
||||
_, err = RoleService.PutRoleStatus(roleId, RoleRequest.PutRoleStatus.RoleStatus)
|
||||
if err != nil {
|
||||
responses.FailWithMessage(err.Error(), c)
|
||||
return
|
||||
}
|
||||
|
||||
responses.Ok(c)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user