config.go 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  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. Bidding *mgoConf
  14. SurvivalTime int
  15. SaveConcurrency int // 消息保存并发数
  16. WxWebdomain string `json:"WxWebdomain"`
  17. WxTmplConfig WxTmplMsg `json:"WxTmplConfig"`
  18. PushGrpcServer string `json:"PushGrpcServer"`
  19. Mail []struct {
  20. Addr string `json:"addr"`
  21. Port int `json:"port"`
  22. Pwd string `json:"pwd"`
  23. User string `json:"user"`
  24. } `json:"mail"`
  25. Registedate int64
  26. TidbEng string `json:"Tidb"`
  27. ClassSearchList []int64 `json:"ClassSearchList"` // 需要按照messageclass 查询的groupId
  28. Clickhouse *CHouseConfig
  29. GlobMsgLoadTime string `json:"GlobMsgLoadTime"`
  30. FreeIntelTime string `json:"FreeIntelTime"`
  31. PayIntelTime string `json:"PayIntelTime"`
  32. FreePushNumber int `json:"FreePushNumber"`
  33. PayPushNumber int `json:"PayPushNumber"`
  34. EquityInfoMsgType int64 `json:"EquityInfoMsgType"` // 营销权益消息需要特殊处理的消息类型
  35. NewUserMsgTitle string `json:"NewUserMsgTitle"`
  36. IsFilterActive bool `json:"IsFilterActive"`
  37. RedisFailureTime int `json:"RedisFailureTime"` //用户消息缓存失效时间
  38. ThreadCount int `json:"ThreadCount"` //线程锁,配置15个,用户hash取锁
  39. MsgLogLimit int `json:"MsgLogLimit"` //加载消息记录条数
  40. }
  41. type CHouseConfig struct {
  42. Addr string
  43. UserName string
  44. Password string
  45. DbName string
  46. MaxIdleConns int
  47. MaxOpenConns int
  48. }
  49. type mysqlConfig struct {
  50. DbName string
  51. Address string
  52. UserName string
  53. PassWord string
  54. MaxOpenConns int
  55. MaxIdleConns int
  56. }
  57. type mgoConf struct {
  58. Address string
  59. Size int
  60. DbName string
  61. ReplSet string
  62. UserName string
  63. Password string
  64. Collection string
  65. Collection_back string
  66. }
  67. var ConfigJson Config
  68. type WxTmplMsg struct {
  69. RpcAddr string `json:"rpcAddr"`
  70. CloseNotice string `json:"closeNotice"`
  71. Limit struct {
  72. Total int64 `json:"total"`
  73. OneDayLimit int64 `json:"oneDayLimit"`
  74. DuringMine int `json:"duringMine"`
  75. Alert struct {
  76. Nums []int64 `json:"nums"`
  77. ToMail []string `json:"toMail"`
  78. CcMail []string `json:"ccMail"`
  79. } `json:"alert"`
  80. } `json:"limit"`
  81. }