system_init.go 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. package engine
  2. import (
  3. "fmt"
  4. "git.qianqiusoft.com/qianqiusoft/light-apiengine/models"
  5. "github.com/xormplus/xorm"
  6. "regexp"
  7. )
  8. func CreateDatabase(engine *ApiEngine) {
  9. if engine.OrmEngine.DriverName() == "mysql" {
  10. dbname := engine.OrmEngine.DataSourceName()
  11. reg := regexp.MustCompile("(.*)/(.*)(\\?.*)")
  12. //strings := reg.FindAllStringSubmatch(s, -1)
  13. strings := reg.FindStringSubmatch(dbname)
  14. fmt.Println(strings)
  15. if len(strings) > 3 {
  16. dbname = strings[2]
  17. db, _ := xorm.NewEngine(engine.OrmEngine.DriverName(), strings[1]+"/")
  18. db.ShowSQL(true)
  19. _, err := db.Sql("CREATE DATABASE IF NOT EXISTS `" + dbname + "` default charset utf8 COLLATE utf8_general_ci").Execute()
  20. if err != nil {
  21. fmt.Println("create database error", err)
  22. } else {
  23. fmt.Println("create database success:", dbname)
  24. }
  25. }
  26. }
  27. }
  28. func InitDbData(engine *ApiEngine) {
  29. orgs := []models.SysOrganization{
  30. {
  31. Id: "287c50a4-caad-4557-80c8-aca81af9f370",
  32. Name: "千秋软件",
  33. },
  34. }
  35. users := []models.SysUser{
  36. {
  37. Id: "187c50a4-caad-4557-80c8-aca81af9f370",
  38. Name: "管理员",
  39. LoginId: "admin",
  40. OrgId: "287c50a4-caad-4557-80c8-aca81af9f370",
  41. Password: "123456",
  42. },
  43. }
  44. roles := []models.SysRole{
  45. {
  46. Id: "487c50a4-caad-4557-80c8-aca81af9f370",
  47. Name: "超级管理员",
  48. },
  49. }
  50. userRoles := []models.SysUserRole{
  51. {
  52. Id: "587c50a4-caad-4557-80c8-aca81af9f370",
  53. RoleId: "387c50a4-caad-4557-80c8-aca81af9f370",
  54. UserId: "187c50a4-caad-4557-80c8-aca81af9f370",
  55. },
  56. }
  57. menus := []models.SysMenu{
  58. {
  59. Id: "387c50a4-caad-4557-80c8-aca81af9f370",
  60. Name: "系统管理",
  61. },
  62. {
  63. Id: "387c50a4-caad-4557-80c8-aca81af9f371",
  64. Name: "用户管理",
  65. Parent: "387c50a4-caad-4557-80c8-aca81af9f370",
  66. Url: "/sys/user",
  67. },
  68. {
  69. Id: "387c50a4-caad-4557-80c8-aca81af9f372",
  70. Name: "组织架构",
  71. Parent: "387c50a4-caad-4557-80c8-aca81af9f370",
  72. Url: "/sys/org",
  73. },
  74. {
  75. Id: "387c50a4-caad-4557-80c8-aca81af9f373",
  76. Name: "角色管理",
  77. Parent: "387c50a4-caad-4557-80c8-aca81af9f370",
  78. Url: "/sys/role",
  79. },
  80. {
  81. Id: "387c50a4-caad-4557-80c8-aca81af9f374",
  82. Name: "菜单管理",
  83. Parent: "387c50a4-caad-4557-80c8-aca81af9f370",
  84. Url: "/sys/menu",
  85. },
  86. {
  87. Id: "387c50a4-caad-4557-80c8-aca81af9f375",
  88. Name: "字典管理",
  89. Parent: "387c50a4-caad-4557-80c8-aca81af9f370",
  90. Url: "/sys/dict",
  91. },
  92. {
  93. Id: "387c50a4-caad-4557-80c8-aca81af9f376",
  94. Name: "日志管理",
  95. Parent: "387c50a4-caad-4557-80c8-aca81af9f370",
  96. Url: "/sys/log",
  97. },
  98. }
  99. _, err := engine.OrmEngine.Insert(orgs)
  100. printError(err)
  101. _, err = engine.OrmEngine.Insert(users)
  102. printError(err)
  103. _, err = engine.OrmEngine.Insert(roles)
  104. printError(err)
  105. _, err = engine.OrmEngine.Insert(userRoles)
  106. printError(err)
  107. _, err = engine.OrmEngine.Insert(menus)
  108. printError(err)
  109. }