菜单int64转string
This commit is contained in:
+44
-9
@@ -8,6 +8,7 @@ import (
|
||||
"hospital-admin-api/api/requests"
|
||||
"hospital-admin-api/api/responses/menuResponse"
|
||||
"hospital-admin-api/global"
|
||||
"strconv"
|
||||
)
|
||||
|
||||
type MenuService struct{}
|
||||
@@ -26,10 +27,10 @@ func (r *MenuService) GetMenuList() ([]*menuResponse.GetMenuList, error) {
|
||||
|
||||
for _, menu := range adminMenu {
|
||||
node := &menuResponse.GetMenuList{
|
||||
MenuId: menu.MenuId,
|
||||
MenuId: strconv.FormatInt(menu.MenuId, 10),
|
||||
MenuName: menu.MenuName,
|
||||
MenuTitle: menu.MenuTitle,
|
||||
ParentId: menu.ParentId,
|
||||
ParentId: strconv.FormatInt(menu.ParentId, 10),
|
||||
MenuStatus: menu.MenuStatus,
|
||||
MenuType: menu.MenuType,
|
||||
Permission: menu.Permission,
|
||||
@@ -45,6 +46,9 @@ func (r *MenuService) GetMenuList() ([]*menuResponse.GetMenuList, error) {
|
||||
// 构建菜单树
|
||||
for _, menu := range adminMenu {
|
||||
if menu.ParentId == 0 {
|
||||
if menuMap[menu.MenuId] == nil {
|
||||
continue
|
||||
}
|
||||
menuTree = append(menuTree, menuMap[menu.MenuId])
|
||||
} else if parent, ok := menuMap[menu.ParentId]; ok {
|
||||
parent.Children = append(parent.Children, menuMap[menu.MenuId])
|
||||
@@ -60,9 +64,14 @@ func (r *MenuService) AddMenu(AddMenuRequest requests.AddMenu) (bool, error) {
|
||||
AdminMenuApiDao := dao.AdminMenuApiDao{}
|
||||
AdminApiDao := dao.AdminApiDao{}
|
||||
|
||||
ParentId, err := strconv.ParseInt(AddMenuRequest.ParentId, 10, 64)
|
||||
if err != nil {
|
||||
return false, errors.New("新增失败")
|
||||
}
|
||||
|
||||
// 判断父级id
|
||||
if AddMenuRequest.ParentId != 0 {
|
||||
adminMenu, _ := AdminMenuDao.GetAdminMenuById(AddMenuRequest.ParentId)
|
||||
if ParentId != 0 {
|
||||
adminMenu, _ := AdminMenuDao.GetAdminMenuById(ParentId)
|
||||
if adminMenu == nil {
|
||||
return false, errors.New("上级菜单错误")
|
||||
}
|
||||
@@ -80,7 +89,7 @@ func (r *MenuService) AddMenu(AddMenuRequest requests.AddMenu) (bool, error) {
|
||||
AdminMenuModel := &model.AdminMenu{
|
||||
MenuName: AddMenuRequest.MenuName,
|
||||
MenuTitle: AddMenuRequest.MenuTitle,
|
||||
ParentId: AddMenuRequest.ParentId,
|
||||
ParentId: ParentId,
|
||||
MenuStatus: AddMenuRequest.MenuStatus,
|
||||
MenuType: AddMenuRequest.MenuType,
|
||||
Permission: AddMenuRequest.Permission,
|
||||
@@ -99,6 +108,13 @@ func (r *MenuService) AddMenu(AddMenuRequest requests.AddMenu) (bool, error) {
|
||||
// 新增菜单api
|
||||
if len(AddMenuRequest.ApiIds) > 0 {
|
||||
for _, v := range AddMenuRequest.ApiIds {
|
||||
// 将字符串转换为int64类型
|
||||
v, err := strconv.ParseInt(v, 10, 64)
|
||||
if err != nil {
|
||||
tx.Rollback()
|
||||
return false, errors.New("新增失败")
|
||||
}
|
||||
|
||||
// 检测api
|
||||
adminApi, _ := AdminApiDao.GetAdminApiById(v)
|
||||
if adminApi == nil {
|
||||
@@ -130,9 +146,14 @@ func (r *MenuService) PutMenu(requestMenuId int64, PutMenuRequest requests.PutMe
|
||||
AdminMenuApiDao := dao.AdminMenuApiDao{}
|
||||
AdminApiDao := dao.AdminApiDao{}
|
||||
|
||||
ParentId, err := strconv.ParseInt(PutMenuRequest.ParentId, 10, 64)
|
||||
if err != nil {
|
||||
return false, errors.New("新增失败")
|
||||
}
|
||||
|
||||
// 判断父级id
|
||||
if PutMenuRequest.ParentId != 0 {
|
||||
adminMenu, _ := AdminMenuDao.GetAdminMenuById(PutMenuRequest.ParentId)
|
||||
if ParentId != 0 {
|
||||
adminMenu, _ := AdminMenuDao.GetAdminMenuById(ParentId)
|
||||
if adminMenu == nil {
|
||||
return false, errors.New("上级菜单错误")
|
||||
}
|
||||
@@ -156,7 +177,7 @@ func (r *MenuService) PutMenu(requestMenuId int64, PutMenuRequest requests.PutMe
|
||||
AdminMenuModel := &model.AdminMenu{
|
||||
MenuName: PutMenuRequest.MenuName,
|
||||
MenuTitle: PutMenuRequest.MenuTitle,
|
||||
ParentId: PutMenuRequest.ParentId,
|
||||
ParentId: ParentId,
|
||||
MenuStatus: PutMenuRequest.MenuStatus,
|
||||
MenuType: PutMenuRequest.MenuType,
|
||||
Permission: PutMenuRequest.Permission,
|
||||
@@ -166,7 +187,7 @@ func (r *MenuService) PutMenu(requestMenuId int64, PutMenuRequest requests.PutMe
|
||||
Component: PutMenuRequest.Component,
|
||||
}
|
||||
|
||||
err := AdminMenuDao.EditAdminMenuByIdWithStruct(tx, adminMenu.MenuId, AdminMenuModel)
|
||||
err = AdminMenuDao.EditAdminMenuByIdWithStruct(tx, adminMenu.MenuId, AdminMenuModel)
|
||||
if err != nil {
|
||||
tx.Rollback()
|
||||
return false, errors.New("修改失败")
|
||||
@@ -182,6 +203,13 @@ func (r *MenuService) PutMenu(requestMenuId int64, PutMenuRequest requests.PutMe
|
||||
// 新增菜单api
|
||||
if len(PutMenuRequest.ApiIds) > 0 {
|
||||
for _, v := range PutMenuRequest.ApiIds {
|
||||
// 将字符串转换为int64类型
|
||||
v, err := strconv.ParseInt(v, 10, 64)
|
||||
if err != nil {
|
||||
tx.Rollback()
|
||||
return false, errors.New("修改失败")
|
||||
}
|
||||
|
||||
// 检测api
|
||||
adminApi, _ := AdminApiDao.GetAdminApiById(v)
|
||||
if adminApi == nil {
|
||||
@@ -237,6 +265,13 @@ func (r *MenuService) DeleteMenu(c *gin.Context, DeleteMenuRequest requests.Dele
|
||||
}()
|
||||
|
||||
for _, v := range DeleteMenuRequest.MenuIds {
|
||||
// 将字符串转换为int64类型
|
||||
v, err := strconv.ParseInt(v, 10, 64)
|
||||
if err != nil {
|
||||
tx.Rollback()
|
||||
return false, errors.New("删除失败")
|
||||
}
|
||||
|
||||
// 获取菜单数据
|
||||
adminMenu, _ := AdminMenuDao.GetAdminMenuById(v)
|
||||
if adminMenu == nil {
|
||||
|
||||
+6
-28
@@ -116,44 +116,22 @@ func (r *RoleService) PutRoleStatus(roleId int64, roleStatus int) (bool, error)
|
||||
}
|
||||
|
||||
// GetRole 角色详情
|
||||
func (r *RoleService) GetRole(roleId int64) (*roleResponse.GetRole, error) {
|
||||
func (r *RoleService) GetRole(roleId int64) (adminRole *model.AdminRole, menuIds []int64, err error) {
|
||||
// 获取请求角色数据
|
||||
AdminRoleDao := dao.AdminRoleDao{}
|
||||
adminRole, err := AdminRoleDao.GetAdminRoleFirstById(roleId)
|
||||
adminRole, err = AdminRoleDao.GetAdminRoleFirstById(roleId)
|
||||
if err != nil || adminRole == nil {
|
||||
return nil, errors.New("非法操作")
|
||||
return nil, nil, errors.New("非法操作")
|
||||
}
|
||||
|
||||
// 获取角色权限菜单id
|
||||
AdminRoleMenuDao := dao.AdminRoleMenuDao{}
|
||||
menuIds, err := AdminRoleMenuDao.GetAdminRoleMenuIdByRoleId(roleId)
|
||||
menuIds, err = AdminRoleMenuDao.GetAdminRoleMenuIdByRoleId(roleId)
|
||||
if err != nil {
|
||||
return nil, errors.New("角色权限菜单获取失败")
|
||||
return nil, nil, errors.New("角色权限菜单获取失败")
|
||||
}
|
||||
|
||||
// 处理返回数据
|
||||
// 转换int64为string
|
||||
var menuIdsString []string
|
||||
for _, menuId := range menuIds {
|
||||
menuId := strconv.FormatInt(menuId, 10)
|
||||
menuIdsString = append(menuIdsString, menuId)
|
||||
}
|
||||
|
||||
// 转换int64为string
|
||||
RoleId := strconv.FormatInt(adminRole.RoleId, 10)
|
||||
if err != nil {
|
||||
return nil, errors.New("数据错误")
|
||||
}
|
||||
|
||||
GetRoleResponse := &roleResponse.GetRole{
|
||||
MenuIds: menuIdsString,
|
||||
RoleId: RoleId,
|
||||
RoleName: adminRole.RoleName,
|
||||
RoleStatus: adminRole.RoleStatus,
|
||||
IsAdmin: adminRole.IsAdmin,
|
||||
}
|
||||
|
||||
return GetRoleResponse, nil
|
||||
return adminRole, menuIds, nil
|
||||
}
|
||||
|
||||
// AddRole 新增角色
|
||||
|
||||
Reference in New Issue
Block a user