dbengine.pb.go 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. package proto
  2. import (
  3. "bet24.com/log"
  4. "bet24.com/servers/micros/common"
  5. "context"
  6. "github.com/smallnest/rpcx/client"
  7. )
  8. const ServiceName = "dbengine"
  9. var consulAddr = common.Default_Consul_Addr
  10. func getClient() client.XClient {
  11. return common.GetClientPool().GetClient(ServiceName, consulAddr)
  12. }
  13. type Request struct {
  14. Name string
  15. }
  16. type Response struct {
  17. Data string
  18. }
  19. func SetConsulAddr(addr string) {
  20. consulAddr = addr
  21. }
  22. func SayHello(name string) string {
  23. xclient := getClient()
  24. //defer xclient.Close()
  25. args := &Request{
  26. Name: name,
  27. }
  28. reply := &Response{}
  29. err := xclient.Call(context.Background(), "SayHello", args, reply)
  30. if err != nil {
  31. log.Debug("dbengine failed to call: %v", err)
  32. common.GetClientPool().RemoveClient(ServiceName)
  33. return ""
  34. }
  35. log.Debug("SayHello return %s", reply.Data)
  36. return reply.Data
  37. }
  38. func Execute(sql string) string {
  39. xclient := getClient()
  40. //defer xclient.Close()
  41. args := &Request{
  42. Name: sql,
  43. }
  44. reply := &Response{}
  45. err := xclient.Call(context.Background(), "Execute", args, reply)
  46. if err != nil {
  47. log.Debug("dbengine failed to call: %v", err)
  48. common.GetClientPool().RemoveClient(ServiceName)
  49. return ""
  50. }
  51. return reply.Data
  52. }
  53. type ResponseRs struct {
  54. Data [][]interface{}
  55. }
  56. func ExecuteRs(sql string) [][]interface{} {
  57. xclient := getClient()
  58. //defer xclient.Close()
  59. args := &Request{
  60. Name: sql,
  61. }
  62. reply := &ResponseRs{}
  63. err := xclient.Call(context.Background(), "ExecuteRs", args, reply)
  64. if err != nil {
  65. log.Debug("dbengine failed to call: %v", err)
  66. common.GetClientPool().RemoveClient(ServiceName)
  67. return nil
  68. }
  69. return reply.Data
  70. }