|
@@ -0,0 +1,93 @@
|
|
|
+package models
|
|
|
+
|
|
|
+import (
|
|
|
+ "github.com/beego/beego/v2/client/orm"
|
|
|
+ "github.com/rdlucklib/rdluck_tools/paging"
|
|
|
+ "time"
|
|
|
+)
|
|
|
+
|
|
|
+// ComTradeIndex 联合国商品贸易数据指标表
|
|
|
+type ComTradeIndex struct {
|
|
|
+ ComTradeId int `orm:"column(com_trade_id);pk"`
|
|
|
+ IndexCode string `description:"联合国商品贸易编码"`
|
|
|
+ IndexName string `description:"联合国商品名称"`
|
|
|
+ IndexNameCn string `description:"联合国商品名称(中文)"`
|
|
|
+ UpdateTime time.Time `description:"数据最近更新时间"`
|
|
|
+ CreateTime time.Time `description:"创建时间"`
|
|
|
+}
|
|
|
+
|
|
|
+// ComTradeCodeMapping 联合国商品贸易数据指标编码与分类编码的关系表
|
|
|
+type ComTradeCodeMapping struct {
|
|
|
+ Code string `orm:"column(code);pk"`
|
|
|
+ IndexCode string `description:"联合国商品贸易编码"`
|
|
|
+ Type int `description:"1:价格;2:重量"`
|
|
|
+ Name string `description:"指标名称"`
|
|
|
+ CreateTime time.Time `description:"创建时间"`
|
|
|
+}
|
|
|
+
|
|
|
+// ComTradeData 联合国商品贸易数据表
|
|
|
+type ComTradeData struct {
|
|
|
+ ComTradeDataId int `orm:"column(com_trade_data_id);pk"`
|
|
|
+ ComTradeId int `description:"指标id"`
|
|
|
+ IndexCode string `description:"联合国商品贸易编码"`
|
|
|
+ Flow string `description:"贸易流向:X(Export:出口);M(Import:进口)"`
|
|
|
+ ReporterCode int `description:"出口国id"`
|
|
|
+ ReporterName string `description:"出口国名称"`
|
|
|
+ PartnerCode int `description:"进口国id"`
|
|
|
+ PartnerName string `description:"进口国名称"`
|
|
|
+ Partner2Code int `description:"第二进口国id"`
|
|
|
+ Partner2Name string `description:"第二进口国名称"`
|
|
|
+ DateType int `description:"日期类型,1:年度,2:月度"`
|
|
|
+ DataTime string `description:"数据日期"`
|
|
|
+ IndexTradeCode string `description:"离岸价编码"`
|
|
|
+ TradeValue float64 `description:"离岸价(美元)"`
|
|
|
+ IndexNetWeightCode string `description:"净重编码"`
|
|
|
+ NetWeightValue float64 `description:"净重/公斤"`
|
|
|
+ ModifyTime time.Time `description:"最新更新时间"`
|
|
|
+ CreateTime time.Time `description:"创建时间"`
|
|
|
+}
|
|
|
+
|
|
|
+// ComTradeIndexAndDataResp 返回给外部使用的数据表
|
|
|
+type ComTradeIndexAndDataResp struct {
|
|
|
+ IndexList []*ComTradeIndex
|
|
|
+ MappingList []*ComTradeCodeMapping
|
|
|
+}
|
|
|
+
|
|
|
+// GetComTradeIndex 获取指标列表
|
|
|
+func GetComTradeIndex(startDate, endDate string) (list []*ComTradeIndex, err error) {
|
|
|
+ o := orm.NewOrm()
|
|
|
+ sql := `SELECT * FROM com_trade_index WHERE create_time>=? AND create_time<=? ORDER BY com_trade_id ASC `
|
|
|
+ _, err = o.Raw(sql, startDate, endDate).QueryRows(&list)
|
|
|
+
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
+// GetComTradeCodeMappingList 获取联合国商品贸易数据指标编码与分类编码的关系列表
|
|
|
+func GetComTradeCodeMappingList(startDate, endDate string) (list []*ComTradeCodeMapping, err error) {
|
|
|
+ o := orm.NewOrm()
|
|
|
+ sql := `SELECT * FROM com_trade_code_mapping WHERE create_time>=? AND create_time<=? ORDER BY create_time ASC `
|
|
|
+ _, err = o.Raw(sql, startDate, endDate).QueryRows(&list)
|
|
|
+
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
+// GetComTradeDataList 获取联合国商品贸易数据列表
|
|
|
+func GetComTradeDataList(startDate, endDate string, startSize, pageSize int) (total int, list []*ComTradeData, err error) {
|
|
|
+ o := orm.NewOrm()
|
|
|
+ totalSql := `SELECT count(1) total FROM com_trade_data WHERE create_time>=? AND create_time<=? `
|
|
|
+ err = o.Raw(totalSql, startDate, endDate).QueryRow(&total)
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ sql := `SELECT * FROM com_trade_data WHERE create_time>=? AND create_time<=? ORDER BY com_trade_data_id ASC LIMIT ?,?`
|
|
|
+ _, err = o.Raw(sql, startDate, endDate, startSize, pageSize).QueryRows(&list)
|
|
|
+
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
+// ComTradeIndexDataResp 分页列表响应体
|
|
|
+type ComTradeIndexDataResp struct {
|
|
|
+ List []*ComTradeData
|
|
|
+ Paging *paging.PagingItem `description:"分页数据"`
|
|
|
+}
|