system_init.go 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. package engine
  2. import (
  3. "git.qianqiusoft.com/qianqiusoft/light-apiengine/models"
  4. "regexp"
  5. "fmt"
  6. "github.com/xormplus/xorm"
  7. )
  8. func InitSystemDb(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. err:=engine.OrmEngine.Sync2(
  28. new(models.SysMenu),
  29. new(models.SysOrg),
  30. new(models.SysUser),
  31. new(models.SysUserRole),
  32. new(models.SysRoleMenu),
  33. new(models.SysRole),
  34. )
  35. printError(err)
  36. orgs:= []models.SysOrg{
  37. {
  38. Id:"287c50a4-caad-4557-80c8-aca81af9f370",
  39. Name:"千秋软件",
  40. },
  41. }
  42. users:= []models.SysUser{
  43. {
  44. Id:"187c50a4-caad-4557-80c8-aca81af9f370",
  45. Name:"管理员",
  46. LoginId:"admin",
  47. OrgId:"287c50a4-caad-4557-80c8-aca81af9f370",
  48. Password:"123456",
  49. },
  50. }
  51. roles := []models.SysRole{
  52. {
  53. Id: "487c50a4-caad-4557-80c8-aca81af9f370",
  54. Name:"超级管理员",
  55. },
  56. }
  57. userRoles:=[]models.SysUserRole{
  58. {
  59. Id:"587c50a4-caad-4557-80c8-aca81af9f370",
  60. RoleId:"387c50a4-caad-4557-80c8-aca81af9f370",
  61. UserId:"187c50a4-caad-4557-80c8-aca81af9f370",
  62. },
  63. }
  64. menus:= []models.SysMenu{
  65. {
  66. Id:"387c50a4-caad-4557-80c8-aca81af9f370",
  67. Name:"系统管理",
  68. },
  69. {
  70. Id:"387c50a4-caad-4557-80c8-aca81af9f371",
  71. Name:"用户管理",
  72. Parent:"387c50a4-caad-4557-80c8-aca81af9f370",
  73. },
  74. {
  75. Id:"387c50a4-caad-4557-80c8-aca81af9f372",
  76. Name:"组织架构",
  77. Parent:"387c50a4-caad-4557-80c8-aca81af9f370",
  78. },
  79. {
  80. Id:"387c50a4-caad-4557-80c8-aca81af9f373",
  81. Name:"角色管理",
  82. Parent:"387c50a4-caad-4557-80c8-aca81af9f370",
  83. },
  84. {
  85. Id:"387c50a4-caad-4557-80c8-aca81af9f374",
  86. Name:"菜单管理",
  87. Parent:"387c50a4-caad-4557-80c8-aca81af9f370",
  88. },
  89. {
  90. Id:"387c50a4-caad-4557-80c8-aca81af9f375",
  91. Name:"字典管理",
  92. Parent:"387c50a4-caad-4557-80c8-aca81af9f370",
  93. },
  94. {
  95. Id:"387c50a4-caad-4557-80c8-aca81af9f376",
  96. Name:"日志管理",
  97. Parent:"387c50a4-caad-4557-80c8-aca81af9f370",
  98. },
  99. }
  100. _,err = engine.OrmEngine.Insert(orgs)
  101. printError(err)
  102. _,err = engine.OrmEngine.Insert(users)
  103. printError(err)
  104. _,err = engine.OrmEngine.Insert(roles)
  105. printError(err)
  106. _,err = engine.OrmEngine.Insert(userRoles)
  107. printError(err)
  108. _,err = engine.OrmEngine.Insert(menus)
  109. printError(err)
  110. }