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 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.SysOrg{
  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. }