base_bridge.go 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  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. IndexCodeRequired int `description:"指标编码是否必填: 0-否; 1-是"`
  14. }
  15. // GetIndexAndDataFromBridgeReq 获取指标数据请求体
  16. type GetIndexAndDataFromBridgeReq struct {
  17. IndexCode string `description:"指标编码"`
  18. Source int `description:"指标来源ID"`
  19. SourceExtend string `description:"指标来源(用作查询条件)"`
  20. StartDate string `description:"数据开始日期"`
  21. EndDate string `description:"数据结束日期"`
  22. }
  23. // BridgeIndexItem 桥接服务指标信息
  24. type BridgeIndexItem struct {
  25. Id int `description:"自增ID"`
  26. IndexCode string `description:"指标编码"`
  27. IndexName string `description:"指标名称"`
  28. Unit string `description:"单位"`
  29. Frequency string `description:"频度"`
  30. Data []BridgeIndexDataItem `description:"数据值"`
  31. }
  32. // BridgeIndexDataItem 桥接服务指标数据信息
  33. type BridgeIndexDataItem struct {
  34. Val float64 `description:"数据值"`
  35. DataTime time.Time `description:"数据日期"`
  36. UpdateTime time.Time `description:"更新时间"`
  37. }
  38. // InitBridgeOB 初始化桥接服务
  39. func InitBridgeOB(bridgeKey string) EdbBridge {
  40. switch bridgeKey {
  41. case "bridge_jiayue":
  42. return new(EdbBridgeJiaYue) // 嘉悦物产
  43. }
  44. return nil
  45. }