新增获取角色详情
This commit is contained in:
parent
708873087f
commit
e09d1f051b
@ -15,7 +15,7 @@ type Role struct{}
|
|||||||
|
|
||||||
var RoleRequest requests.RoleRequest
|
var RoleRequest requests.RoleRequest
|
||||||
|
|
||||||
// GetRoleMenuList 获取角色菜单列表
|
// GetRoleMenuList 获取登陆角色菜单列表
|
||||||
func (r *Role) GetRoleMenuList(c *gin.Context) {
|
func (r *Role) GetRoleMenuList(c *gin.Context) {
|
||||||
roleId := c.GetInt64("RoleId")
|
roleId := c.GetInt64("RoleId")
|
||||||
if roleId == 0 {
|
if roleId == 0 {
|
||||||
@ -23,7 +23,7 @@ func (r *Role) GetRoleMenuList(c *gin.Context) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
// 登陆
|
// 获取角色菜单
|
||||||
RoleService := service.RoleService{}
|
RoleService := service.RoleService{}
|
||||||
roleMenuList, err := RoleService.GetRoleMenuList(roleId)
|
roleMenuList, err := RoleService.GetRoleMenuList(roleId)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -113,3 +113,44 @@ func (r *Role) PutRoleStatus(c *gin.Context) {
|
|||||||
|
|
||||||
responses.Ok(c)
|
responses.Ok(c)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// AddRole 新增角色
|
||||||
|
func (r *Role) AddRole(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
|
||||||
|
// }
|
||||||
|
|
||||||
|
responses.Ok(c)
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetRole 角色详情
|
||||||
|
func (r *Role) GetRole(c *gin.Context) {
|
||||||
|
id := c.Param("role_id")
|
||||||
|
if id == "" {
|
||||||
|
responses.FailWithMessage("缺少参数", c)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// 将 id 转换为 int64 类型
|
||||||
|
roleId, err := strconv.ParseInt(id, 10, 64)
|
||||||
|
if err != nil {
|
||||||
|
responses.Fail(c)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
RoleService := service.RoleService{}
|
||||||
|
GetRoleResponse, err := RoleService.GetRole(roleId)
|
||||||
|
if err != nil {
|
||||||
|
responses.FailWithMessage(err.Error(), c)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
responses.OkWithData(GetRoleResponse, c)
|
||||||
|
}
|
||||||
|
|||||||
@ -26,3 +26,16 @@ func (r *AdminRoleMenuDao) GetAdminRoleMenuListWithMenuByRoleId(roleId int64) (m
|
|||||||
}
|
}
|
||||||
return m, nil
|
return m, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GetAdminRoleMenuIdByRoleId 获取角色菜单id-角色id
|
||||||
|
// roleId 角色id
|
||||||
|
func (r *AdminRoleMenuDao) GetAdminRoleMenuIdByRoleId(roleId int64) (m []int64, err error) {
|
||||||
|
err = global.Db.Model(&model.AdminRoleMenu{}).
|
||||||
|
Where("role_id = ?", roleId).
|
||||||
|
Pluck("menu_id", &m).
|
||||||
|
Error
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return m, nil
|
||||||
|
}
|
||||||
|
|||||||
@ -16,3 +16,7 @@ type GetRoleList struct {
|
|||||||
type PutRoleStatus struct {
|
type PutRoleStatus struct {
|
||||||
RoleStatus int `json:"role_status" form:"role_status" validate:"oneof=1 2" label:"角色状态"` // (1:正常 2:禁用)
|
RoleStatus int `json:"role_status" form:"role_status" validate:"oneof=1 2" label:"角色状态"` // (1:正常 2:禁用)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// AddRole 新增角色
|
||||||
|
type AddRole struct {
|
||||||
|
}
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
package roleResponse
|
package roleResponse
|
||||||
|
|
||||||
// RoleMenuList 登陆
|
// RoleMenuList 角色菜单列表
|
||||||
type RoleMenuList struct {
|
type RoleMenuList struct {
|
||||||
MenuId int64 `json:"menu_id"` // 主键id
|
MenuId int64 `json:"menu_id"` // 主键id
|
||||||
MenuName string `json:"menu_name"` // 菜单名称
|
MenuName string `json:"menu_name"` // 菜单名称
|
||||||
@ -13,3 +13,12 @@ type RoleMenuList struct {
|
|||||||
Path string `json:"path"` // 页面地址(#表示当前页)
|
Path string `json:"path"` // 页面地址(#表示当前页)
|
||||||
Children []*RoleMenuList `json:"children"` // 下级页面
|
Children []*RoleMenuList `json:"children"` // 下级页面
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GetRole 角色详情
|
||||||
|
type GetRole struct {
|
||||||
|
MenuIds []int64 `json:"menu_ids"` // 菜单id
|
||||||
|
RoleId int64 `json:"role_id"` // 角色id
|
||||||
|
RoleName string `json:"role_name"` // 角色名称
|
||||||
|
RoleStatus int `json:"role_status"` // 角色状态(1:正常 2:禁用)
|
||||||
|
IsAdmin int `json:"is_admin"` // 是否管理员(0:否 1:是)
|
||||||
|
}
|
||||||
|
|||||||
@ -72,7 +72,7 @@ func privateRouter(r *gin.Engine, api controller.Api) {
|
|||||||
// 角色
|
// 角色
|
||||||
base1Group := adminGroup.Group("/role")
|
base1Group := adminGroup.Group("/role")
|
||||||
{
|
{
|
||||||
// 获取角色菜单列表
|
// 获取登陆角色菜单列表
|
||||||
base1Group.GET("menu", api.Role.GetRoleMenuList)
|
base1Group.GET("menu", api.Role.GetRoleMenuList)
|
||||||
|
|
||||||
// 搜索角色列表
|
// 搜索角色列表
|
||||||
@ -80,6 +80,12 @@ func privateRouter(r *gin.Engine, api controller.Api) {
|
|||||||
|
|
||||||
// 角色禁用/启用
|
// 角色禁用/启用
|
||||||
base1Group.PUT("status/:id", api.Role.PutRoleStatus)
|
base1Group.PUT("status/:id", api.Role.PutRoleStatus)
|
||||||
|
|
||||||
|
// 角色新增
|
||||||
|
base1Group.POST("", api.Role.AddRole)
|
||||||
|
|
||||||
|
// 角色详情
|
||||||
|
base1Group.GET("/:role_id", api.Role.GetRole)
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -99,3 +99,30 @@ func (r *RoleService) PutRoleStatus(roleId int64, roleStatus int) (bool, error)
|
|||||||
}
|
}
|
||||||
return true, nil
|
return true, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GetRole 角色详情
|
||||||
|
func (r *RoleService) GetRole(roleId int64) (*roleResponse.GetRole, error) {
|
||||||
|
// 获取请求角色数据
|
||||||
|
AdminRoleDao := dao.AdminRoleDao{}
|
||||||
|
adminRole, err := AdminRoleDao.GetAdminRoleFirstById(roleId)
|
||||||
|
if err != nil || adminRole.RoleId == 0 {
|
||||||
|
return nil, errors.New("非法操作")
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取角色权限菜单id
|
||||||
|
AdminRoleMenuDao := dao.AdminRoleMenuDao{}
|
||||||
|
menuIds, err := AdminRoleMenuDao.GetAdminRoleMenuIdByRoleId(roleId)
|
||||||
|
if err != nil {
|
||||||
|
return nil, errors.New("角色权限菜单获取失败")
|
||||||
|
}
|
||||||
|
|
||||||
|
GetRoleResponse := &roleResponse.GetRole{
|
||||||
|
MenuIds: menuIds,
|
||||||
|
RoleId: adminRole.RoleId,
|
||||||
|
RoleName: adminRole.RoleName,
|
||||||
|
RoleStatus: adminRole.RoleStatus,
|
||||||
|
IsAdmin: adminRole.IsAdmin,
|
||||||
|
}
|
||||||
|
|
||||||
|
return GetRoleResponse, nil
|
||||||
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user