check.go 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. package utils
  2. import (
  3. "fmt"
  4. "server/dao/system"
  5. "server/global"
  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. fmt.Println("插件已安装或存在同名路由")
  16. return
  17. }
  18. err := global.GVA_DB.Create(&apis).Error
  19. if err != nil {
  20. fmt.Println(err)
  21. }
  22. }
  23. func RegisterMenus(menus ...system.SysBaseMenu) {
  24. var count int64
  25. var menuNames []string
  26. parentMenu := menus[0]
  27. otherMenus := menus[1:]
  28. for i := range menus {
  29. menuNames = append(menuNames, menus[i].Name)
  30. }
  31. global.GVA_DB.Find(&[]system.SysBaseMenu{}, "name in (?)", menuNames).Count(&count)
  32. if count > 0 {
  33. fmt.Println("插件已安装或存在同名菜单")
  34. return
  35. }
  36. parentMenu.ParentId = 0
  37. err := global.GVA_DB.Create(&parentMenu).Error
  38. if err != nil {
  39. fmt.Println(err)
  40. }
  41. for i := range otherMenus {
  42. pid := parentMenu.ID
  43. otherMenus[i].ParentId = pid
  44. }
  45. err = global.GVA_DB.Create(&otherMenus).Error
  46. if err != nil {
  47. fmt.Println(err)
  48. }
  49. }