list_struct.go 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. package sci99
  2. // Header 代表表头信息
  3. type Header struct {
  4. Code string `json:"Code"`
  5. DisplayName string `json:"DisplayName"`
  6. OrderNO float64 `json:"OrderNO"`
  7. DataType int `json:"DataType"`
  8. DisplayType int `json:"DisplayType"`
  9. }
  10. // Item 代表数据项
  11. type Item struct {
  12. Area string `json:"Area"`
  13. DataModelName string `json:"DataModelName"`
  14. DataTypeID int `json:"DataTypeID"`
  15. Digits int `json:"Digits"`
  16. DIID int `json:"DIID"`
  17. FactorySampleName string `json:"FactorySampleName"`
  18. MarketSampleName string `json:"MarketSampleName"`
  19. Model string `json:"Model"`
  20. TradeTerms string `json:"TradeTerms"`
  21. PriceType string `json:"PriceType"`
  22. PriceTypeID int `json:"PriceTypeID"`
  23. ProductName string `json:"ProductName"`
  24. ProductID int `json:"ProductID"`
  25. Province string `json:"Province"`
  26. Region string `json:"Region"`
  27. TimeMarkID int `json:"TimeMarkID"`
  28. Unit string `json:"Unit"`
  29. Order int `json:"Order"`
  30. DataName string `json:"DataName"`
  31. DataItemName string `json:"DataItemName"`
  32. DataTypeName string `json:"DataTypeName"`
  33. IsWarn bool `json:"IsWarn"`
  34. EName string `json:"EName"`
  35. GasRate string `json:"GasRate"`
  36. FromArea string `json:"FromArea"`
  37. DataStatus int `json:"DataStatus"`
  38. Purpose string `json:"Purpose"`
  39. FuturesMark string `json:"FuturesMark"`
  40. MainShippers string `json:"MainShippers"`
  41. PriceClassification string `json:"PriceClassification"`
  42. Stand string `json:"Stand"`
  43. Type string `json:"Type"`
  44. DItemDTypeID int `json:"DItemDTypeID"`
  45. Classification string `json:"Classification"`
  46. LockDateName string `json:"LockDateName"`
  47. PriceCondition string `json:"PriceCondition"`
  48. // 动态日期字段,需要特殊处理
  49. //DateFields map[string]string `json:"date_fields,inline"`
  50. Change string `json:"Change"`
  51. ChangeRate string `json:"ChangeRate"`
  52. Remark string `json:"Remark"`
  53. LockState string `json:"LockState"`
  54. PowerStatus int `json:"PowerStatus"`
  55. }
  56. // Data 代表数据部分
  57. type FirstData struct {
  58. Headers []Header `json:"Headers"`
  59. SecondData SecondData `json:"data"`
  60. }
  61. type SecondData struct {
  62. LockTimeRange string `json:"LockTimeRange"`
  63. PageNO int `json:"PageNO"`
  64. PageSize int `json:"PageSize"`
  65. TotalItems int `json:"TotalItems"`
  66. TotalPages int `json:"TotalPages"`
  67. Items []Item `json:"Items"`
  68. DiidDtypeids *string `json:"DiidDtypeids"` // 使用指针以处理null值
  69. TableHeader *string `json:"TableHeader"` // 使用指针以处理null值
  70. }
  71. // ListResponse 代表整个API响应
  72. type ListResponse struct {
  73. Status int `json:"status"`
  74. Msg string `json:"msg"`
  75. FirstData FirstData `json:"data"`
  76. }
  77. // 创建请求体的数据结构
  78. type ListRequestBody struct {
  79. Region string `json:"region"`
  80. Market string `json:"market"`
  81. Factory string `json:"factory"`
  82. Model string `json:"model"`
  83. Pname string `json:"pname"`
  84. CycleType string `json:"cycletype"`
  85. PriceCycle string `json:"pricecycle"`
  86. SpecialPriceType string `json:"specialpricetype"`
  87. Groupname string `json:"groupname"`
  88. Ppname string `json:"ppname"`
  89. Province string `json:"province"`
  90. PriceTypeID int `json:"pricetypeid"`
  91. PPIDs string `json:"ppids"`
  92. Navid string `json:"navid"`
  93. SiteType int `json:"sitetype"`
  94. PageNo int `json:"pageno"`
  95. PageSize string `json:"pagesize"`
  96. Purpose string `json:"purpose"`
  97. Stand string `json:"stand"`
  98. Type string `json:"type"`
  99. FromArea string `json:"fromarea"`
  100. Classification string `json:"classification"`
  101. }
  102. // DetailRequest
  103. type DetailRequest struct {
  104. Start string `json:"start"`
  105. End string `json:"end"`
  106. APIStart string `json:"apiStart"`
  107. APIEnd string `json:"apiEnd"`
  108. DIIDD string `json:"diid"`
  109. DataTypeID string `json:"datatypeid"`
  110. PPID string `json:"ppid"`
  111. CycleType string `json:"cycletype"`
  112. SelectConfig int `json:"selectconfig"`
  113. }
  114. type RefreshSci99CrawlerReq struct {
  115. ClassifyName string
  116. IndexName string
  117. ListData Item
  118. DetailData DetailResponse
  119. }