check.go 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. package utils
  2. import (
  3. "fmt"
  4. "github.com/flipped-aurora/gin-vue-admin/server/global"
  5. "github.com/flipped-aurora/gin-vue-admin/server/model/system"
  6. )
  7. func RegisterApis(apis ...system.SysApi) {
  8. var count int64
  9. var apiPaths []string
  10. for i := range apis {
  11. apiPaths = append(apiPaths, apis[i].Path)
  12. }
  13. global.GVA_DB.Find(&[]system.SysApi{}, "path in (?)", apiPaths).Count(&count)
  14. if count > 0 {
  15. return
  16. }
  17. err := global.GVA_DB.Create(&apis).Error
  18. if err != nil {
  19. fmt.Println(err)
  20. }
  21. }
  22. func RegisterMenus(menus ...system.SysBaseMenu) {
  23. var count int64
  24. var menuNames []string
  25. parentMenu := menus[0]
  26. otherMenus := menus[1:]
  27. for i := range menus {
  28. menuNames = append(menuNames, menus[i].Name)
  29. }
  30. global.GVA_DB.Find(&[]system.SysBaseMenu{}, "name in (?)", menuNames).Count(&count)
  31. if count > 0 {
  32. return
  33. }
  34. err := global.GVA_DB.Create(&parentMenu).Error
  35. if err != nil {
  36. fmt.Println(err)
  37. }
  38. for i := range otherMenus {
  39. pid := parentMenu.ID
  40. otherMenus[i].ParentId = pid
  41. }
  42. err = global.GVA_DB.Create(&otherMenus).Error
  43. if err != nil {
  44. fmt.Println(err)
  45. }
  46. }