新增菜单,修改角色,分页
This commit is contained in:
+57
-1
@@ -2,13 +2,18 @@ package controller
|
||||
|
||||
import (
|
||||
"github.com/gin-gonic/gin"
|
||||
"hospital-admin-api/api/requests"
|
||||
"hospital-admin-api/api/responses"
|
||||
"hospital-admin-api/api/service"
|
||||
"hospital-admin-api/global"
|
||||
"hospital-admin-api/utils"
|
||||
)
|
||||
|
||||
type Menu struct{}
|
||||
|
||||
// GetMenuList 获取菜单列表
|
||||
var MenuRequest requests.MenuRequest
|
||||
|
||||
// GetMenuList 获取全部菜单列表
|
||||
func (r *Menu) GetMenuList(c *gin.Context) {
|
||||
MenuService := service.MenuService{}
|
||||
MenuList, err := MenuService.GetMenuList()
|
||||
@@ -25,3 +30,54 @@ func (r *Menu) GetMenuList(c *gin.Context) {
|
||||
responses.OkWithData(MenuList, c)
|
||||
return
|
||||
}
|
||||
|
||||
// AddMenu 新增菜单
|
||||
func (r *Menu) AddMenu(c *gin.Context) {
|
||||
if err := c.ShouldBindJSON(&MenuRequest.AddMenu); err != nil {
|
||||
responses.FailWithMessage(err.Error(), c)
|
||||
return
|
||||
}
|
||||
|
||||
// 参数验证
|
||||
if err := global.Validate.Struct(MenuRequest.AddMenu); err != nil {
|
||||
responses.FailWithMessage(utils.Translate(err), c)
|
||||
return
|
||||
}
|
||||
|
||||
// 处理参数
|
||||
if MenuRequest.AddMenu.MenuType == 1 || MenuRequest.AddMenu.MenuType == 2 {
|
||||
// 模块-菜单
|
||||
if MenuRequest.AddMenu.Path == "" {
|
||||
responses.FailWithMessage("请填写页面地址", c)
|
||||
return
|
||||
}
|
||||
|
||||
if MenuRequest.AddMenu.Component == "" {
|
||||
responses.FailWithMessage("请填写组件名称", c)
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
// 非模块无父级
|
||||
if MenuRequest.AddMenu.ParentId == 0 && MenuRequest.AddMenu.MenuType != 1 {
|
||||
responses.FailWithMessage("请选择父节点", c)
|
||||
return
|
||||
}
|
||||
|
||||
// 模块存在父级
|
||||
if MenuRequest.AddMenu.ParentId != 0 && MenuRequest.AddMenu.MenuType == 1 {
|
||||
responses.FailWithMessage("顶级菜单,无法添加上级菜单", c)
|
||||
return
|
||||
}
|
||||
|
||||
// 业务处理
|
||||
MenuService := service.MenuService{}
|
||||
_, err := MenuService.AddMenu(MenuRequest.AddMenu)
|
||||
if err != nil {
|
||||
responses.FailWithMessage(err.Error(), c)
|
||||
return
|
||||
}
|
||||
|
||||
responses.Ok(c)
|
||||
return
|
||||
}
|
||||
|
||||
+54
-6
@@ -39,8 +39,8 @@ func (r *Role) GetRoleMenuList(c *gin.Context) {
|
||||
responses.OkWithData(roleMenuList, c)
|
||||
}
|
||||
|
||||
// GetRoleList 搜索角色列表
|
||||
func (r *Role) GetRoleList(c *gin.Context) {
|
||||
// GetRolePage 搜索角色列表
|
||||
func (r *Role) GetRolePage(c *gin.Context) {
|
||||
if err := c.ShouldBind(&RoleRequest.GetRoleList); err != nil {
|
||||
responses.FailWithMessage(err.Error(), c)
|
||||
return
|
||||
@@ -61,14 +61,20 @@ func (r *Role) GetRoleList(c *gin.Context) {
|
||||
}
|
||||
|
||||
AdminRoleDao := dao.AdminRoleDao{}
|
||||
adminRole, err := AdminRoleDao.GetAdminRolePageSearch(RoleRequest.GetRoleList.RoleName, RoleRequest.GetRoleList.Page, RoleRequest.GetRoleList.PageSize)
|
||||
if err != nil || adminRole == nil {
|
||||
responses.Ok(c)
|
||||
adminRole, total, err := AdminRoleDao.GetAdminRolePageSearch(RoleRequest.GetRoleList.RoleName, RoleRequest.GetRoleList.Page, RoleRequest.GetRoleList.PageSize)
|
||||
|
||||
if err != nil {
|
||||
responses.FailWithMessage(err.Error(), c)
|
||||
c.Abort()
|
||||
return
|
||||
}
|
||||
|
||||
responses.OkWithData(adminRole, c)
|
||||
result := make(map[string]interface{})
|
||||
result["page"] = RoleRequest.GetRoleList.Page
|
||||
result["page_size"] = RoleRequest.GetRoleList.PageSize
|
||||
result["total"] = total
|
||||
result["data"] = adminRole
|
||||
responses.OkWithData(result, c)
|
||||
}
|
||||
|
||||
// PutRoleStatus 角色禁用/启用
|
||||
@@ -167,3 +173,45 @@ func (r *Role) GetRole(c *gin.Context) {
|
||||
|
||||
responses.OkWithData(GetRoleResponse, c)
|
||||
}
|
||||
|
||||
// PutRole 修改角色
|
||||
func (r *Role) PutRole(c *gin.Context) {
|
||||
if err := c.ShouldBindJSON(&RoleRequest.PutRole); err != nil {
|
||||
responses.FailWithMessage(err.Error(), c)
|
||||
return
|
||||
}
|
||||
|
||||
// 参数验证
|
||||
if err := global.Validate.Struct(RoleRequest.PutRole); err != nil {
|
||||
responses.FailWithMessage(utils.Translate(err), c)
|
||||
return
|
||||
}
|
||||
|
||||
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
|
||||
}
|
||||
|
||||
// 判断菜单数据是否为空
|
||||
if len(RoleRequest.PutRole.MenuIds) == 0 {
|
||||
responses.FailWithMessage("请为角色添加菜单", c)
|
||||
return
|
||||
}
|
||||
|
||||
// 业务处理
|
||||
RoleService := service.RoleService{}
|
||||
_, err = RoleService.PutRole(c, roleId, RoleRequest.PutRole)
|
||||
if err != nil {
|
||||
responses.FailWithMessage(err.Error(), c)
|
||||
return
|
||||
}
|
||||
responses.Ok(c)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user