sys_init.go 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. package system
  2. import (
  3. "fmt"
  4. "github.com/gogf/gf/v2/frame/g"
  5. "github.com/tiger1103/gfast/v3/internal/app/system/model"
  6. )
  7. type DbInitIsInitReq struct {
  8. g.Meta `path:"/dbInit/isInit" tags:"系统初始化" method:"get" summary:"系统初始化"`
  9. }
  10. type DbInitIsInitRes bool
  11. type DbInitGetEnvInfoReq struct {
  12. g.Meta `path:"/dbInit/getEnvInfo" tags:"系统初始化" method:"get" summary:"获取环境信息"`
  13. }
  14. type DbInitGetEnvInfoRes g.Map
  15. type DbInitCreateDbReq struct {
  16. g.Meta `path:"/dbInit/createDb" tags:"系统初始化" method:"post" summary:"创建配置文件"`
  17. DbHost string `json:"dbHost" p:"dbHost" v:"required#数据库地址必须"`
  18. DbPort int `json:"dbPort" p:"dbPort" v:"required#数据库端口必须"`
  19. DbUser string `json:"dbUser" p:"dbUser" v:"required#数据库用户名称必须"`
  20. DbPass string `json:"dbPass"`
  21. DbName string `json:"dbName" p:"dbName" v:"required#数据库名称必须"`
  22. DbCharset string `json:"dbCharset" p:"dbCharset" v:"required#数据库编码必须"`
  23. RedisAddress string `json:"redisAddress" p:"redisAddress" v:"required#Redis地址必须"`
  24. RedisPort int `json:"redisPort" p:"redisPort" v:"required#Redis端口必须"`
  25. RedisDb int `json:"redisDb" p:"redisDb" v:"required#Redis索引必须"`
  26. RedisPass string `json:"redisPass"`
  27. }
  28. type DbInitCreateDbRes bool
  29. func (req *DbInitCreateDbReq) ToDbInitConfig() *model.DbInitConfig {
  30. return &model.DbInitConfig{
  31. Database: model.Database{
  32. Default: model.DbDefault{
  33. Host: req.DbHost,
  34. Port: req.DbPort,
  35. User: req.DbUser,
  36. Pass: req.DbPass,
  37. Name: req.DbName,
  38. Type: "mysql",
  39. Role: "master",
  40. Debug: true,
  41. Charset: req.DbCharset,
  42. DryRun: false,
  43. MaxIdle: 10,
  44. MaxOpen: 10,
  45. MaxLifetime: 10,
  46. },
  47. },
  48. Redis: model.Redis{
  49. Default: model.RedisDefault{
  50. Address: fmt.Sprintf("%s:%d", req.RedisAddress, req.RedisPort),
  51. Db: req.RedisDb,
  52. Pass: req.RedisPass,
  53. IdleTimeout: 600,
  54. MaxActive: 100,
  55. },
  56. },
  57. }
  58. }