角色int64转string

This commit is contained in:
2023-06-28 18:20:21 +08:00
parent b4e18e23e3
commit 39c28a6ecf
3 changed files with 60 additions and 14 deletions
+48 -2
View File
@@ -131,9 +131,23 @@ func (r *RoleService) GetRole(roleId int64) (*roleResponse.GetRole, error) {
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{
MenuIds: menuIds,
RoleId: adminRole.RoleId,
MenuIds: menuIdsString,
RoleId: RoleId,
RoleName: adminRole.RoleName,
RoleStatus: adminRole.RoleStatus,
IsAdmin: adminRole.IsAdmin,
@@ -164,6 +178,12 @@ func (r *RoleService) AddRole(c *gin.Context, AddRoleRequest requests.AddRole) (
// 判断菜单id
for _, menuId := range AddRoleRequest.MenuIds {
// 将字符串转换为int64类型
menuId, err := strconv.ParseInt(menuId, 10, 64)
if err != nil {
return false, errors.New("菜单错误")
}
adminMenu, _ := AdminMenuDao.GetAdminMenuById(menuId)
if adminMenu == nil {
return false, errors.New("菜单错误")
@@ -193,6 +213,13 @@ func (r *RoleService) AddRole(c *gin.Context, AddRoleRequest requests.AddRole) (
// 新增角色菜单
AdminRoleMenuDao := dao.AdminRoleMenuDao{}
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{
RoleID: adminRole.RoleId,
MenuID: menuId,
@@ -232,6 +259,12 @@ func (r *RoleService) PutRole(c *gin.Context, requestRoleId int64, PutRoleReques
// 判断菜单id
for _, menuId := range PutRoleRequest.MenuIds {
// 将字符串转换为int64类型
menuId, err := strconv.ParseInt(menuId, 10, 64)
if err != nil {
return false, errors.New("菜单错误")
}
adminMenu, _ := AdminMenuDao.GetAdminMenuById(menuId)
if adminMenu == nil {
return false, errors.New("菜单错误")
@@ -266,6 +299,13 @@ func (r *RoleService) PutRole(c *gin.Context, requestRoleId int64, PutRoleReques
// 新增角色菜单
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{
RoleID: requestRoleId,
MenuID: menuId,
@@ -313,6 +353,12 @@ func (r *RoleService) DeleteRole(c *gin.Context, DeleteRoleRequest requests.Dele
}()
for _, v := range DeleteRoleRequest.RoleIds {
// 将字符串转换为int64类型
v, err := strconv.ParseInt(v, 10, 64)
if err != nil {
return false, errors.New("菜单错误")
}
if v == adminRole.RoleId {
tx.Rollback()
return false, errors.New("非法操作,请勿删除自己所属角色")