@@ -3,6 +3,7 @@ package models
33import (
44 "database/sql"
55 "net/url"
6+ "reflect"
67 "regexp"
78 "strconv"
89 "strings"
@@ -339,20 +340,31 @@ func (t UserModel) WithMenus() UserModel {
339340 }
340341
341342 var menuIds []int64
343+ var midInt int
344+ var mid2Int int
345+ var mInt int
342346
343347 for _ , mid := range menuIdsModel {
344- if parentId , err := strconv .Atoi (string (mid ["parent_id" ].([]uint8 ))); err == nil && parentId != 0 {
348+ if reflect .TypeOf (mid ["parent_id" ]).String () == "[]uint8" {
349+ midInt , _ = strconv .Atoi (string (mid ["parent_id" ].([]uint8 )))
350+ mInt , _ = strconv .Atoi (string (mid ["menu_id" ].([]uint8 )))
351+ } else {
352+ midInt = int (mid ["parent_id" ].(int64 ))
353+ mInt = int (mid ["menu_id" ].(int64 ))
354+ }
355+ if midInt != 0 {
345356 for _ , mid2 := range menuIdsModel {
346- mid2Int , _ := strconv .Atoi (string (mid2 ["menu_id" ].([]uint8 )))
347- midInt , _ := strconv .Atoi (string (mid ["parent_id" ].([]uint8 )))
357+ if reflect .TypeOf (mid2 ["menu_id" ]).String () == "[]uint8" {
358+ mid2Int , _ = strconv .Atoi (string (mid2 ["menu_id" ].([]uint8 )))
359+ } else {
360+ mid2Int = int (mid2 ["menu_id" ].(int64 ))
361+ }
348362 if mid2Int == midInt {
349- mInt , _ := strconv .Atoi (string (mid ["menu_id" ].([]uint8 )))
350363 menuIds = append (menuIds , int64 (mInt ))
351364 break
352365 }
353366 }
354367 } else {
355- mInt , _ := strconv .Atoi (string (mid ["menu_id" ].([]uint8 )))
356368 menuIds = append (menuIds , int64 (mInt ))
357369 }
358370 }
0 commit comments