configer.go 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. package service
  2. import (
  3. "errors"
  4. "fmt"
  5. "config-server/conf"
  6. "github.com/nats-io/nats.go"
  7. "infish.cn/comm"
  8. )
  9. // 获取部署包内的配置的replayer
  10. func NewConfigReplyer(config *conf.AppConf) *comm.NatsMsgReplyer {
  11. return &comm.NatsMsgReplyer{
  12. Subject: "request.configer",
  13. Entity: func() interface{} { return &comm.ReqConfiger{} },
  14. Cb2: func(msg *nats.Msg, entity interface{}) (interface{}, error) {
  15. cnfs := config.Configer
  16. if len(cnfs) == 0 {
  17. return nil, errors.New("no config")
  18. }
  19. req := entity.(*comm.ReqConfiger)
  20. var result string
  21. for _, v := range cnfs {
  22. if v.Name == req.Name {
  23. result = v.Value
  24. break
  25. }
  26. }
  27. fmt.Println("request.configer=>", result)
  28. return result, nil
  29. },
  30. }
  31. }
  32. // 获取开发环境配置
  33. func NetDevConfigReplyer(config *conf.AppConf) *comm.NatsMsgReplyer {
  34. return &comm.NatsMsgReplyer{
  35. Subject: "request.configer.dev",
  36. Entity: func() interface{} { return &comm.ReqConfiger{} },
  37. Cb2: func(msg *nats.Msg, entity interface{}) (interface{}, error) {
  38. cnfs := config.Configer
  39. if len(cnfs) == 0 {
  40. return nil, errors.New("no config")
  41. }
  42. req := entity.(*comm.ReqConfiger)
  43. var result string
  44. for _, v := range cnfs {
  45. if v.Name == req.Name {
  46. result = v.DevValue
  47. if len(result) < 1 {
  48. result = v.Value
  49. }
  50. break
  51. }
  52. }
  53. fmt.Println("request.configer.dev=>", result)
  54. return result, nil
  55. },
  56. }
  57. }