config.go 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. package config
  2. import (
  3. "github.com/zeromicro/go-zero/zrpc"
  4. )
  5. type Config struct {
  6. zrpc.RpcServerConf
  7. DataSource *mysqlConfig // 手动代码
  8. BaseSource *mysqlConfig // 手动代码
  9. WebRpcPort int
  10. Mysql string
  11. RedisAddr string `json:"RedisAddr"`
  12. Mongodb *mgoConf
  13. SurvivalTime int
  14. SaveConcurrency int // 消息保存并发数
  15. WxWebdomain string `json:"WxWebdomain"`
  16. WxTmplConfig WxTmplMsg `json:"WxTmplConfig"`
  17. PushGrpcServer string `json:"PushGrpcServer"`
  18. Mail []struct {
  19. Addr string `json:"addr"`
  20. Port int `json:"port"`
  21. Pwd string `json:"pwd"`
  22. User string `json:"user"`
  23. } `json:"mail"`
  24. TidbEng string `json:"Tidb"`
  25. ClassSearchList []int64 `json:"ClassSearchList"` // 需要按照messageclass 查询的groupId
  26. Clickhouse *CHouseConfig
  27. GlobMsgLoadTime string `json:"GlobMsgLoadTime"`
  28. }
  29. type CHouseConfig struct {
  30. Addr string
  31. UserName string
  32. Password string
  33. DbName string
  34. MaxIdleConns int
  35. MaxOpenConns int
  36. }
  37. type mysqlConfig struct {
  38. DbName string
  39. Address string
  40. UserName string
  41. PassWord string
  42. MaxOpenConns int
  43. MaxIdleConns int
  44. }
  45. type mgoConf struct {
  46. Address string
  47. Size int
  48. DbName string
  49. ReplSet string
  50. UserName string
  51. Password string
  52. Collection string
  53. Collection_back string
  54. }
  55. var ConfigJson Config
  56. type WxTmplMsg struct {
  57. RpcAddr string `json:"rpcAddr"`
  58. CloseNotice string `json:"closeNotice"`
  59. Limit struct {
  60. Total int64 `json:"total"`
  61. OneDayLimit int64 `json:"oneDayLimit"`
  62. DuringMine int `json:"duringMine"`
  63. Alert struct {
  64. Nums []int64 `json:"nums"`
  65. ToMail []string `json:"toMail"`
  66. CcMail []string `json:"ccMail"`
  67. } `json:"alert"`
  68. } `json:"limit"`
  69. }