角色int64转string

This commit is contained in:
wucongxing 2023-06-28 18:20:21 +08:00
parent b4e18e23e3
commit 39c28a6ecf
3 changed files with 60 additions and 14 deletions

View File

@ -22,19 +22,19 @@ type PutRoleStatus struct {
// AddRole 新增角色 // AddRole 新增角色
type AddRole struct { type AddRole struct {
RoleName string `json:"role_name" form:"role_name" validate:"required" label:"角色名称"` RoleName string `json:"role_name" form:"role_name" validate:"required" label:"角色名称"`
IsAdmin int `json:"is_admin" form:"is_admin" validate:"oneof=0 1" label:"是否管理员"` // 0:否 1:是) IsAdmin int `json:"is_admin" form:"is_admin" validate:"oneof=0 1" label:"是否管理员"` // 0:否 1:是)
MenuIds []int64 `json:"menu_ids" form:"menu_ids" validate:"required" label:"菜单"` MenuIds []string `json:"menu_ids" form:"menu_ids" validate:"required" label:"菜单"`
} }
// PutRole 修改角色 // PutRole 修改角色
type PutRole struct { type PutRole struct {
RoleName string `json:"role_name" form:"role_name" validate:"required" label:"角色名称"` RoleName string `json:"role_name" form:"role_name" validate:"required" label:"角色名称"`
IsAdmin int `json:"is_admin" form:"is_admin" validate:"oneof=0 1" label:"是否管理员"` // 0:否 1:是) IsAdmin int `json:"is_admin" form:"is_admin" validate:"oneof=0 1" label:"是否管理员"` // 0:否 1:是)
MenuIds []int64 `json:"menu_ids" form:"menu_ids" validate:"required" label:"菜单"` MenuIds []string `json:"menu_ids" form:"menu_ids" validate:"required" label:"菜单"`
} }
// DeleteRole 删除角色 // DeleteRole 删除角色
type DeleteRole struct { type DeleteRole struct {
RoleIds []int64 `json:"role_ids" form:"role_ids" validate:"required" label:"角色id"` RoleIds []string `json:"role_ids" form:"role_ids" validate:"required" label:"角色id"`
} }

View File

@ -20,11 +20,11 @@ type GetRoleMenuList struct {
// GetRole 角色详情 // GetRole 角色详情
type GetRole struct { type GetRole struct {
MenuIds []int64 `json:"menu_ids"` // 菜单id MenuIds []string `json:"menu_ids"` // 菜单id
RoleId int64 `json:"role_id"` // 角色id RoleId string `json:"role_id"` // 角色id
RoleName string `json:"role_name"` // 角色名称 RoleName string `json:"role_name"` // 角色名称
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 获取角色列表-分页 // GetRolePage 获取角色列表-分页

View File

@ -131,9 +131,23 @@ func (r *RoleService) GetRole(roleId int64) (*roleResponse.GetRole, error) {
return nil, errors.New("角色权限菜单获取失败") return 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{ GetRoleResponse := &roleResponse.GetRole{
MenuIds: menuIds, MenuIds: menuIdsString,
RoleId: adminRole.RoleId, RoleId: RoleId,
RoleName: adminRole.RoleName, RoleName: adminRole.RoleName,
RoleStatus: adminRole.RoleStatus, RoleStatus: adminRole.RoleStatus,
IsAdmin: adminRole.IsAdmin, IsAdmin: adminRole.IsAdmin,
@ -164,6 +178,12 @@ func (r *RoleService) AddRole(c *gin.Context, AddRoleRequest requests.AddRole) (
// 判断菜单id // 判断菜单id
for _, menuId := range AddRoleRequest.MenuIds { for _, menuId := range AddRoleRequest.MenuIds {
// 将字符串转换为int64类型
menuId, err := strconv.ParseInt(menuId, 10, 64)
if err != nil {
return false, errors.New("菜单错误")
}
adminMenu, _ := AdminMenuDao.GetAdminMenuById(menuId) adminMenu, _ := AdminMenuDao.GetAdminMenuById(menuId)
if adminMenu == nil { if adminMenu == nil {
return false, errors.New("菜单错误") return false, errors.New("菜单错误")
@ -193,6 +213,13 @@ func (r *RoleService) AddRole(c *gin.Context, AddRoleRequest requests.AddRole) (
// 新增角色菜单 // 新增角色菜单
AdminRoleMenuDao := dao.AdminRoleMenuDao{} AdminRoleMenuDao := dao.AdminRoleMenuDao{}
for _, menuId := range AddRoleRequest.MenuIds { for _, menuId := range AddRoleRequest.MenuIds {
// 将字符串转换为int64类型
menuId, err := strconv.ParseInt(menuId, 10, 64)
if err != nil {
tx.Rollback()
return false, errors.New("菜单错误")
}
AdminRoleMenuModel := &model.AdminRoleMenu{ AdminRoleMenuModel := &model.AdminRoleMenu{
RoleID: adminRole.RoleId, RoleID: adminRole.RoleId,
MenuID: menuId, MenuID: menuId,
@ -232,6 +259,12 @@ func (r *RoleService) PutRole(c *gin.Context, requestRoleId int64, PutRoleReques
// 判断菜单id // 判断菜单id
for _, menuId := range PutRoleRequest.MenuIds { for _, menuId := range PutRoleRequest.MenuIds {
// 将字符串转换为int64类型
menuId, err := strconv.ParseInt(menuId, 10, 64)
if err != nil {
return false, errors.New("菜单错误")
}
adminMenu, _ := AdminMenuDao.GetAdminMenuById(menuId) adminMenu, _ := AdminMenuDao.GetAdminMenuById(menuId)
if adminMenu == nil { if adminMenu == nil {
return false, errors.New("菜单错误") return false, errors.New("菜单错误")
@ -266,6 +299,13 @@ func (r *RoleService) PutRole(c *gin.Context, requestRoleId int64, PutRoleReques
// 新增角色菜单 // 新增角色菜单
for _, menuId := range PutRoleRequest.MenuIds { for _, menuId := range PutRoleRequest.MenuIds {
// 将字符串转换为int64类型
menuId, err := strconv.ParseInt(menuId, 10, 64)
if err != nil {
tx.Rollback()
return false, errors.New("新增失败")
}
AdminRoleMenuModel := &model.AdminRoleMenu{ AdminRoleMenuModel := &model.AdminRoleMenu{
RoleID: requestRoleId, RoleID: requestRoleId,
MenuID: menuId, MenuID: menuId,
@ -313,6 +353,12 @@ func (r *RoleService) DeleteRole(c *gin.Context, DeleteRoleRequest requests.Dele
}() }()
for _, v := range DeleteRoleRequest.RoleIds { for _, v := range DeleteRoleRequest.RoleIds {
// 将字符串转换为int64类型
v, err := strconv.ParseInt(v, 10, 64)
if err != nil {
return false, errors.New("菜单错误")
}
if v == adminRole.RoleId { if v == adminRole.RoleId {
tx.Rollback() tx.Rollback()
return false, errors.New("非法操作,请勿删除自己所属角色") return false, errors.New("非法操作,请勿删除自己所属角色")