新增返回值
This commit is contained in:
parent
6e6e3803e4
commit
b4e18e23e3
@ -5,6 +5,7 @@ import (
|
|||||||
"hospital-admin-api/api/dao"
|
"hospital-admin-api/api/dao"
|
||||||
"hospital-admin-api/api/requests"
|
"hospital-admin-api/api/requests"
|
||||||
"hospital-admin-api/api/responses"
|
"hospital-admin-api/api/responses"
|
||||||
|
"hospital-admin-api/api/responses/roleResponse"
|
||||||
"hospital-admin-api/api/service"
|
"hospital-admin-api/api/service"
|
||||||
"hospital-admin-api/global"
|
"hospital-admin-api/global"
|
||||||
"hospital-admin-api/utils"
|
"hospital-admin-api/utils"
|
||||||
@ -29,7 +30,7 @@ func (r *Role) GetRoleMenuList(c *gin.Context) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
if len(roleMenuList) == 0 {
|
if len(roleMenuList) == 0 || roleMenuList == nil {
|
||||||
responses.FailWithMessage("请联系管理人员设置菜单", c)
|
responses.FailWithMessage("请联系管理人员设置菜单", c)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@ -67,11 +68,31 @@ func (r *Role) GetRolePage(c *gin.Context) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 处理返回值
|
||||||
|
getRolePageResponses := make([]roleResponse.GetRolePage, len(adminRole))
|
||||||
|
|
||||||
|
if len(adminRole) > 0 {
|
||||||
|
for i, v := range adminRole {
|
||||||
|
// 将原始结构体转换为新结构体
|
||||||
|
getRolePageResponse := roleResponse.GetRolePage{
|
||||||
|
RoleId: strconv.Itoa(int(v.RoleId)),
|
||||||
|
RoleName: v.RoleName,
|
||||||
|
RoleStatus: v.RoleStatus,
|
||||||
|
IsAdmin: v.IsAdmin,
|
||||||
|
CreatedAt: v.CreatedAt,
|
||||||
|
UpdatedAt: v.UpdatedAt,
|
||||||
|
}
|
||||||
|
|
||||||
|
// 将转换后的结构体添加到新切片中
|
||||||
|
getRolePageResponses[i] = getRolePageResponse
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
result := make(map[string]interface{})
|
result := make(map[string]interface{})
|
||||||
result["page"] = RoleRequest.GetRolePage.Page
|
result["page"] = RoleRequest.GetRolePage.Page
|
||||||
result["page_size"] = RoleRequest.GetRolePage.PageSize
|
result["page_size"] = RoleRequest.GetRolePage.PageSize
|
||||||
result["total"] = total
|
result["total"] = total
|
||||||
result["data"] = adminRole
|
result["data"] = getRolePageResponses
|
||||||
responses.OkWithData(result, c)
|
responses.OkWithData(result, c)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -33,6 +33,8 @@ func (r *User) GetUserPage(c *gin.Context) {
|
|||||||
UserRequest.GetUserPage.PageSize = 20
|
UserRequest.GetUserPage.PageSize = 20
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 获取当前登陆用户数据
|
||||||
|
|
||||||
AdminUserDao := dao.AdminUserDao{}
|
AdminUserDao := dao.AdminUserDao{}
|
||||||
adminUser, total, err := AdminUserDao.GetAdminUserPageSearch(UserRequest.GetUserPage, UserRequest.GetUserPage.Page, UserRequest.GetUserPage.PageSize)
|
adminUser, total, err := AdminUserDao.GetAdminUserPageSearch(UserRequest.GetUserPage, UserRequest.GetUserPage.Page, UserRequest.GetUserPage.PageSize)
|
||||||
|
|
||||||
@ -48,3 +50,18 @@ func (r *User) GetUserPage(c *gin.Context) {
|
|||||||
result["data"] = adminUser
|
result["data"] = adminUser
|
||||||
responses.OkWithData(result, c)
|
responses.OkWithData(result, c)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// AddUser 新增用户
|
||||||
|
func (r *User) AddUser(c *gin.Context) {
|
||||||
|
UserRequest := requests.UserRequest{}
|
||||||
|
if err := c.ShouldBind(&UserRequest.GetUserPage); err != nil {
|
||||||
|
responses.FailWithMessage(err.Error(), c)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// 参数验证
|
||||||
|
if err := global.Validate.Struct(UserRequest.GetUserPage); err != nil {
|
||||||
|
responses.FailWithMessage(utils.Translate(err), c)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@ -2,11 +2,11 @@ package model
|
|||||||
|
|
||||||
// AdminRole 后台-角色表
|
// AdminRole 后台-角色表
|
||||||
type AdminRole struct {
|
type AdminRole struct {
|
||||||
Model
|
|
||||||
RoleId int64 `gorm:"column:role_id;type:bigint(19);primary_key;comment:主键id" json:"role_id"`
|
RoleId int64 `gorm:"column:role_id;type:bigint(19);primary_key;comment:主键id" json:"role_id"`
|
||||||
RoleName string `gorm:"column:role_name;type:varchar(100);comment:角色名称" json:"role_name"`
|
RoleName string `gorm:"column:role_name;type:varchar(100);comment:角色名称" json:"role_name"`
|
||||||
RoleStatus int `gorm:"column:role_status;type:tinyint(1);default:1;comment:角色状态(1:正常 2:禁用)" json:"role_status"`
|
RoleStatus int `gorm:"column:role_status;type:tinyint(1);default:1;comment:角色状态(1:正常 2:禁用)" json:"role_status"`
|
||||||
IsAdmin int `gorm:"column:is_admin;type:tinyint(1);default:0;comment:是否管理员(0:否 1:是)" json:"is_admin"`
|
IsAdmin int `gorm:"column:is_admin;type:tinyint(1);default:0;comment:是否管理员(0:否 1:是)" json:"is_admin"`
|
||||||
|
Model
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *AdminRole) TableName() string {
|
func (m *AdminRole) TableName() string {
|
||||||
|
|||||||
@ -16,3 +16,22 @@ type GetUserPage struct {
|
|||||||
Page int `json:"page" form:"page" label:"页码"`
|
Page int `json:"page" form:"page" label:"页码"`
|
||||||
PageSize int `json:"page_size" form:"page_size" label:"每页个数"`
|
PageSize int `json:"page_size" form:"page_size" label:"每页个数"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// AddUser 新增用户
|
||||||
|
type AddUser struct {
|
||||||
|
Access string `json:"access" form:"access" label:"账号"`
|
||||||
|
Password string `json:"password" form:"password" label:"密码"`
|
||||||
|
Status string `json:"status" form:"status" label:"状态"` // (1:正常 2:审核中 3:审核失败)
|
||||||
|
//
|
||||||
|
// Status int `gorm:"column:status;type:tinyint(1);default:2;comment:'状态(1:正常 2:审核中 3:审核失败)'" json:"status"`
|
||||||
|
// IsDeleted int `gorm:"column:is_deleted;type:tinyint(1);default:0;comment:'是否被删除(0:否 1:是)'" json:"is_deleted"`
|
||||||
|
// IsDisabled int `gorm:"column:is_disabled;type:tinyint(1);default:0;comment:'是否被禁用(0:否 1:是)'" json:"is_disabled"`
|
||||||
|
// NickName string `gorm:"column:nick_name;type:varchar(255);comment:'昵称'" json:"nick_name"`
|
||||||
|
// Phone string `gorm:"column:phone;type:varchar(11);comment:'手机号'" json:"phone"`
|
||||||
|
// Avatar string `gorm:"column:avatar;type:varchar(255);comment:'头像'" json:"avatar"`
|
||||||
|
// Sex int `gorm:"column:sex;type:tinyint(1);comment:'性别(1:男 2:女)'" json:"sex"`
|
||||||
|
// Email string `gorm:"column:email;type:varchar(100);comment:'邮箱'" json:"email"`
|
||||||
|
// RoleID int64 `gorm:"column:role_id;type:bigint(19);comment:'角色id'" json:"role_id"`
|
||||||
|
// DeptID int64 `gorm:"column:dept_id;type:bigint(19);comment:'部门id'" json:"dept_id"`
|
||||||
|
// PostID int64 `gorm:"column:post_id;type:bigint(19);comment:'岗位id'" json:"post_id"`
|
||||||
|
}
|
||||||
|
|||||||
@ -1,11 +1,13 @@
|
|||||||
package roleResponse
|
package roleResponse
|
||||||
|
|
||||||
|
import "hospital-admin-api/api/model"
|
||||||
|
|
||||||
// GetRoleMenuList 角色菜单列表
|
// GetRoleMenuList 角色菜单列表
|
||||||
type GetRoleMenuList struct {
|
type GetRoleMenuList struct {
|
||||||
MenuId int64 `json:"menu_id"` // 主键id
|
MenuId string `json:"menu_id"` // 主键id
|
||||||
MenuName string `json:"menu_name"` // 菜单名称
|
MenuName string `json:"menu_name"` // 菜单名称
|
||||||
MenuTitle string `json:"menu_title"` // 菜单名称
|
MenuTitle string `json:"menu_title"` // 菜单名称
|
||||||
ParentId int64 `json:"parent_id"` // 父菜单ID(0表示一级)
|
ParentId string `json:"parent_id"` // 父菜单ID(0表示一级)
|
||||||
MenuStatus int `json:"menu_status"` // 菜单状态(0:隐藏 1:正常)此优先级最高
|
MenuStatus int `json:"menu_status"` // 菜单状态(0:隐藏 1:正常)此优先级最高
|
||||||
MenuType int `json:"menu_type"` // 菜单类型(1:模块 2:菜单 3:按钮)
|
MenuType int `json:"menu_type"` // 菜单类型(1:模块 2:菜单 3:按钮)
|
||||||
Permission string `json:"permission"` // 标识
|
Permission string `json:"permission"` // 标识
|
||||||
@ -24,3 +26,13 @@ type GetRole struct {
|
|||||||
RoleStatus int `json:"role_status"` // 角色状态(1:正常 2:禁用)
|
RoleStatus int `json:"role_status"` // 角色状态(1:正常 2:禁用)
|
||||||
IsAdmin int `json:"is_admin"` // 是否管理员(0:否 1:是)
|
IsAdmin int `json:"is_admin"` // 是否管理员(0:否 1:是)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GetRolePage 获取角色列表-分页
|
||||||
|
type GetRolePage struct {
|
||||||
|
RoleId string `json:"role_id"` // 角色id
|
||||||
|
RoleName string `json:"role_name"` // 角色名称
|
||||||
|
RoleStatus int `json:"role_status"` // 角色状态(1:正常 2:禁用)
|
||||||
|
IsAdmin int `json:"is_admin"` // 是否管理员(0:否 1:是)
|
||||||
|
CreatedAt model.LocalTime `json:"created_at"` // 创建时间
|
||||||
|
UpdatedAt model.LocalTime `json:"updated_at"` // 修改时间
|
||||||
|
}
|
||||||
|
|||||||
@ -120,7 +120,7 @@ func privateRouter(r *gin.Engine, api controller.Api) {
|
|||||||
userGroup.GET("", api.User.GetUserPage)
|
userGroup.GET("", api.User.GetUserPage)
|
||||||
|
|
||||||
// 新增用户
|
// 新增用户
|
||||||
userGroup.POST("", api.User.GetUserPage)
|
userGroup.POST("", api.User.AddUser)
|
||||||
|
|
||||||
// 修改用户
|
// 修改用户
|
||||||
userGroup.PUT("/:menu_id", api.User.GetUserPage)
|
userGroup.PUT("/:menu_id", api.User.GetUserPage)
|
||||||
|
|||||||
@ -8,6 +8,7 @@ import (
|
|||||||
"hospital-admin-api/api/requests"
|
"hospital-admin-api/api/requests"
|
||||||
"hospital-admin-api/api/responses/roleResponse"
|
"hospital-admin-api/api/responses/roleResponse"
|
||||||
"hospital-admin-api/global"
|
"hospital-admin-api/global"
|
||||||
|
"strconv"
|
||||||
)
|
)
|
||||||
|
|
||||||
type RoleService struct{}
|
type RoleService struct{}
|
||||||
@ -36,8 +37,13 @@ func (r *RoleService) GetRoleMenuList(roleId int64) ([]*roleResponse.GetRoleMenu
|
|||||||
menuIDs = append(menuIDs, roleMenu.MenuID)
|
menuIDs = append(menuIDs, roleMenu.MenuID)
|
||||||
}
|
}
|
||||||
|
|
||||||
// 构建菜单树
|
if len(menuIDs) > 0 {
|
||||||
menuTree = buildMenuTree(menuIDs, adminMenu)
|
// 构建菜单树
|
||||||
|
menuTree = buildMenuTree(menuIDs, adminMenu)
|
||||||
|
if menuTree == nil {
|
||||||
|
return nil, nil
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return menuTree, nil
|
return menuTree, nil
|
||||||
@ -53,10 +59,10 @@ func buildMenuTree(menuIds []int64, menuData []*model.AdminMenu) []*roleResponse
|
|||||||
for _, v := range menuIds {
|
for _, v := range menuIds {
|
||||||
if v == menu.MenuId {
|
if v == menu.MenuId {
|
||||||
node := &roleResponse.GetRoleMenuList{
|
node := &roleResponse.GetRoleMenuList{
|
||||||
MenuId: menu.MenuId,
|
MenuId: strconv.FormatInt(menu.MenuId, 10),
|
||||||
MenuName: menu.MenuName,
|
MenuName: menu.MenuName,
|
||||||
MenuTitle: menu.MenuTitle,
|
MenuTitle: menu.MenuTitle,
|
||||||
ParentId: menu.ParentId,
|
ParentId: strconv.FormatInt(menu.ParentId, 10),
|
||||||
MenuStatus: menu.MenuStatus,
|
MenuStatus: menu.MenuStatus,
|
||||||
MenuType: menu.MenuType,
|
MenuType: menu.MenuType,
|
||||||
Permission: menu.Permission,
|
Permission: menu.Permission,
|
||||||
@ -75,8 +81,11 @@ func buildMenuTree(menuIds []int64, menuData []*model.AdminMenu) []*roleResponse
|
|||||||
// 构建菜单树
|
// 构建菜单树
|
||||||
for _, menu := range menuData {
|
for _, menu := range menuData {
|
||||||
if menu.ParentId == 0 {
|
if menu.ParentId == 0 {
|
||||||
|
if menuMap[menu.MenuId] == nil {
|
||||||
|
continue
|
||||||
|
}
|
||||||
rootNodes = append(rootNodes, menuMap[menu.MenuId])
|
rootNodes = append(rootNodes, menuMap[menu.MenuId])
|
||||||
} else if parent, ok := menuMap[menu.ParentId]; ok {
|
} else if parent, ok := menuMap[menu.ParentId]; ok && parent != nil {
|
||||||
parent.Children = append(parent.Children, menuMap[menu.MenuId])
|
parent.Children = append(parent.Children, menuMap[menu.MenuId])
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
1
go.mod
1
go.mod
@ -37,6 +37,7 @@ require (
|
|||||||
github.com/go-sql-driver/mysql v1.7.1 // indirect
|
github.com/go-sql-driver/mysql v1.7.1 // indirect
|
||||||
github.com/goccy/go-json v0.10.2 // indirect
|
github.com/goccy/go-json v0.10.2 // indirect
|
||||||
github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 // indirect
|
github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 // indirect
|
||||||
|
github.com/google/uuid v1.3.0 // indirect
|
||||||
github.com/hashicorp/hcl v1.0.0 // indirect
|
github.com/hashicorp/hcl v1.0.0 // indirect
|
||||||
github.com/jinzhu/inflection v1.0.0 // indirect
|
github.com/jinzhu/inflection v1.0.0 // indirect
|
||||||
github.com/jinzhu/now v1.1.5 // indirect
|
github.com/jinzhu/now v1.1.5 // indirect
|
||||||
|
|||||||
2
go.sum
2
go.sum
@ -170,6 +170,8 @@ github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLe
|
|||||||
github.com/google/pprof v0.0.0-20201218002935-b9804c9f04c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
|
github.com/google/pprof v0.0.0-20201218002935-b9804c9f04c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
|
||||||
github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI=
|
github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI=
|
||||||
github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
|
github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
|
||||||
|
github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I=
|
||||||
|
github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
|
||||||
github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg=
|
github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg=
|
||||||
github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk=
|
github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk=
|
||||||
github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g=
|
github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g=
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user