新增权限认证。

This commit is contained in:
2023-06-13 11:08:31 +08:00
parent 4a9c5b9c4d
commit 91e3d72873
7 changed files with 141 additions and 25 deletions
+47 -3
View File
@@ -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)
}