72 lines
1.6 KiB
Go

package controller
import (
"github.com/gin-gonic/gin"
"hospital-admin-api/api/dao"
"hospital-admin-api/api/requests"
"hospital-admin-api/api/responses"
"hospital-admin-api/api/service"
"hospital-admin-api/global"
"hospital-admin-api/utils"
)
type Role struct{}
// GetRoleMenuList 获取角色菜单列表
func (r *Role) GetRoleMenuList(c *gin.Context) {
roleId := c.GetInt64("RoleId")
if roleId == 0 {
responses.Fail(c)
return
}
// 登陆
RoleService := service.RoleService{}
roleMenuList, err := RoleService.GetRoleMenuList(roleId)
if err != nil {
responses.FailWithMessage(err.Error(), c)
return
}
if len(roleMenuList) == 0 {
responses.FailWithMessage("请联系管理人员设置菜单", c)
return
}
responses.OkWithData(roleMenuList, c)
}
// 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
}
// 参数验证
if err := global.Validate.Struct(RoleRequest.GetRoleList); err != nil {
responses.FailWithMessage(utils.Translate(err), c)
return
}
if RoleRequest.GetRoleList.Page == 0 {
RoleRequest.GetRoleList.Page = 1
}
if RoleRequest.GetRoleList.PageSize == 0 {
RoleRequest.GetRoleList.PageSize = 20
}
AdminRoleDao := dao.AdminRoleDao{}
adminRole, err := AdminRoleDao.GetAdminRolePageSearch(RoleRequest.GetRoleList.RoleName, RoleRequest.GetRoleList.Page, RoleRequest.GetRoleList.PageSize)
if err != nil || len(adminRole) == 0 {
responses.Ok(c)
c.Abort()
return
}
responses.OkWithData(adminRole, c)
}