base_bridge.go 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. package data
  2. import "time"
  3. // EdbBridge 桥接数据源接口
  4. type EdbBridge interface {
  5. GetIndex(GetIndexFromBridgeReq) (BridgeIndexItem, error)
  6. GetIndexAndData(GetIndexAndDataFromBridgeReq) (BridgeIndexItem, error)
  7. }
  8. // GetIndexFromBridgeReq 获取指标信息请求体
  9. type GetIndexFromBridgeReq struct {
  10. IndexCode string `description:"指标编码"`
  11. Source int `description:"指标来源ID"`
  12. SourceExtend string `description:"指标来源(用作查询条件)"`
  13. }
  14. // GetIndexAndDataFromBridgeReq 获取指标数据请求体
  15. type GetIndexAndDataFromBridgeReq struct {
  16. IndexCode string `description:"指标编码"`
  17. Source int `description:"指标来源ID"`
  18. SourceExtend string `description:"指标来源(用作查询条件)"`
  19. StartDate string `description:"数据开始日期"`
  20. EndDate string `description:"数据结束日期"`
  21. }
  22. // BridgeIndexItem 桥接服务指标信息
  23. type BridgeIndexItem struct {
  24. Id int `description:"自增ID"`
  25. IndexCode string `description:"指标编码"`
  26. IndexName string `description:"指标名称"`
  27. Unit string `description:"单位"`
  28. Frequency string `description:"频度"`
  29. Data []BridgeIndexDataItem `description:"数据值"`
  30. }
  31. // BridgeIndexDataItem 桥接服务指标数据信息
  32. type BridgeIndexDataItem struct {
  33. Val float64 `description:"数据值"`
  34. DataTime time.Time `description:"数据日期"`
  35. UpdateTime time.Time `description:"更新时间"`
  36. }
  37. // InitBridgeOB 初始化桥接服务
  38. func InitBridgeOB(bridgeKey string) EdbBridge {
  39. switch bridgeKey {
  40. case "bridge_jiayue":
  41. return new(EdbBridgeJiaYue) // 嘉悦物产
  42. }
  43. return nil
  44. }