dao.go 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. package dao
  2. import (
  3. "context"
  4. "go-common/app/job/live/dao-anchor-job/internal/conf"
  5. av_api "go-common/app/service/live/av/api/liverpc"
  6. daoAnchor_api_v0 "go-common/app/service/live/dao-anchor/api/grpc/v0"
  7. daoAnchor_api "go-common/app/service/live/dao-anchor/api/grpc/v1"
  8. video_api "go-common/app/service/video/stream-mng/api/v1"
  9. "go-common/library/database/bfs"
  10. bm "go-common/library/net/http/blademaster"
  11. "go-common/library/net/rpc/liverpc"
  12. )
  13. // Dao dao
  14. type Dao struct {
  15. c *conf.Config
  16. AvApi *av_api.Client
  17. daoAnchorApi *daoAnchor_api.Client
  18. VideoApi video_api.StreamClient
  19. BfsClient *bfs.BFS
  20. HttpClient *bm.Client
  21. daoAnchorApiV0 *daoAnchor_api_v0.Client
  22. }
  23. // New init mysql db
  24. func New(c *conf.Config) (dao *Dao) {
  25. dao = &Dao{
  26. c: c,
  27. AvApi: av_api.New(getConf("av")),
  28. BfsClient: bfs.New(c.BfsCli),
  29. HttpClient: bm.NewClient(c.HttpCli),
  30. }
  31. daoAnchorApi, err := daoAnchor_api.NewClient(c.GrpcCli)
  32. if err != nil {
  33. panic(err)
  34. }
  35. dao.daoAnchorApi = daoAnchorApi
  36. videoApi, err := video_api.NewClient(c.GrpcCli)
  37. if err != nil {
  38. panic(err)
  39. }
  40. dao.VideoApi = videoApi
  41. daoAnchorApiV0, err := daoAnchor_api_v0.NewClient(c.GrpcCli)
  42. if err != nil {
  43. panic(err)
  44. }
  45. dao.daoAnchorApiV0 = daoAnchorApiV0
  46. return
  47. }
  48. // Close close the resource.
  49. func (d *Dao) Close() {
  50. }
  51. // Ping dao ping
  52. func (d *Dao) Ping(ctx context.Context) error {
  53. // TODO: add mc,redis... if you use
  54. return nil
  55. }
  56. func getConf(appName string) *liverpc.ClientConfig {
  57. c := conf.Conf.LiveRpc
  58. if c != nil {
  59. return c[appName]
  60. }
  61. return nil
  62. }