浏览代码

Merge branch 'feature/eta2.2.1_usda_fas' into debug

xyxie 5 月之前
父节点
当前提交
463fefce9e
共有 6 个文件被更改,包括 151 次插入20 次删除
  1. 38 19
      models/base_from_eia_steo.go
  2. 2 1
      models/base_from_trade_guangzhou.go
  3. 87 0
      models/base_from_usda_fas.go
  4. 6 0
      services/classify.go
  5. 17 0
      services/index.go
  6. 1 0
      utils/constants.go

+ 38 - 19
models/base_from_eia_steo.go

@@ -1,29 +1,30 @@
 package models
 
 import (
-	"github.com/beego/beego/v2/client/orm"
 	"time"
+
+	"github.com/beego/beego/v2/client/orm"
 )
 
 // BaseFromEiaSteoIndex EiaSteo指标
 type BaseFromEiaSteoIndex struct {
-	BaseFromEiaSteoIndexId    int       `orm:"column(base_from_eia_steo_index_id);pk"`
-	BaseFromEiaSteoClassifyId int       `description:"指标分类id"`
-	IndexCode                 string    `description:"指标编码"`
-	IndexName                 string    `description:"指标名称(中文名称)"`
-	IndexNameOriginal         string    `description:"指标名称(原始名称)"`
-	Frequency                 string    `description:"频度"`
-	Level                     int       `description:"指标层级(原始层级)"`
-	Unit                      string    `description:"单位"`
-	Super                     string    `description:"我也不知道是个啥,反正先存起来,万一用到了呢"`
-	Precision                 int       `description:"精度,我也不知道会不会用到,反正先存起来,万一用到了呢"`
-	LastHistorical            string    `description:"最近的历史记录,我也不知道会不会用到,反正先存起来,万一用到了呢"`
-	Description               string    `description:"备注信息,我也不知道会不会用到,反正先存起来,万一用到了呢"`
-	IsMappable                int       `description:"是否可映射,我也不知道会不会用到,反正先存起来,万一用到了呢"`
-	StartDate                 time.Time `description:"开始日期"`
-	EndDate                   time.Time `description:"结束日期"`
-	ModifyTime                time.Time `description:"最新更新时间"`
-	CreateTime                time.Time `description:"创建时间"`
+	BaseFromEiaSteoIndexId    int    `orm:"column(base_from_eia_steo_index_id);pk"`
+	BaseFromEiaSteoClassifyId int    `description:"指标分类id"`
+	IndexCode                 string `description:"指标编码"`
+	IndexName                 string `description:"指标名称(中文名称)"`
+	IndexNameOriginal         string `description:"指标名称(原始名称)"`
+	Frequency                 string `description:"频度"`
+	Level                     int    `description:"指标层级(原始层级)"`
+	Unit                      string `description:"单位"`
+	Super                     string `description:"我也不知道是个啥,反正先存起来,万一用到了呢"`
+	Precision                 int    `description:"精度,我也不知道会不会用到,反正先存起来,万一用到了呢"`
+	LastHistorical            string `description:"最近的历史记录,我也不知道会不会用到,反正先存起来,万一用到了呢"`
+	Description               string `description:"备注信息,我也不知道会不会用到,反正先存起来,万一用到了呢"`
+	IsMappable                int    `description:"是否可映射,我也不知道会不会用到,反正先存起来,万一用到了呢"`
+	StartDate                 string `description:"开始日期"`
+	EndDate                   string `description:"结束日期"`
+	ModifyTime                string `description:"最新更新时间"`
+	CreateTime                string `description:"创建时间"`
 }
 
 type BaseFromEiaSteoData struct {
@@ -36,7 +37,25 @@ type BaseFromEiaSteoData struct {
 	CreateTime             time.Time `description:"创建时间"`
 }
 
-func GetEiaSteoIndex(startDate, endDate string) (list []*BaseFromTradeDalianIndex, err error) {
+// BaseFromEiaSteoClassify EiaSteo分类
+type BaseFromEiaSteoClassify struct {
+	BaseFromEiaSteoClassifyId int       `orm:"column(base_from_eia_steo_classify_id);pk"`
+	ClassifyName              string    `description:"分类名称(中文名称)"`
+	ClassifyNameOriginal      string    `description:"分类名称(原始名称)"`
+	ParentId                  int       `description:"父级id"`
+	Level                     int       `description:"层级"`
+	ModifyTime                time.Time `description:"最新更新时间"`
+	CreateTime                time.Time `description:"创建时间"`
+}
+
+func (obj *BaseFromEiaSteoClassify) GetBaseFromEiaSteoClassifyAll() (list []*BaseFromEiaSteoClassify, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT * FROM base_from_eia_steo_classify `
+	_, err = o.Raw(sql).QueryRows(&list)
+	return list, err
+}
+
+func GetEiaSteoIndex(startDate, endDate string) (list []*BaseFromEiaSteoIndex, err error) {
 	o := orm.NewOrm()
 	sql := `SELECT * FROM base_from_eia_steo_index WHERE create_time>=? AND create_time<=?  ORDER BY create_time ASC `
 	_, err = o.Raw(sql, startDate, endDate).QueryRows(&list)

+ 2 - 1
models/base_from_trade_guangzhou.go

@@ -9,6 +9,7 @@ import (
 type BaseFromTradeGuangzhouIndex struct {
 	BaseFromTradeGuangzhouIndexId    int       `orm:"column(base_from_trade_guangzhou_index_id);pk"`
 	BaseFromTradeGuangzhouClassifyId int       `description:"分类id"`
+	BaseFromTradeGuangzhouContractId int       `description:"合约id"`
 	IndexCode                        string    `description:"指标编码"`
 	IndexName                        string    `description:"指标名称"`
 	Frequency                        string    `description:"频率"`
@@ -70,7 +71,7 @@ type BaseFromTradeGuangzhouDataResp struct {
 
 func GetBaseFromTradeGuangzhouIndex(startDate, endDate string) (list []*BaseFromTradeGuangzhouIndex, err error) {
 	o := orm.NewOrm()
-	sql := `SELECT * FROM base_from_trade_guangzhou_index WHERE create_time>=? AND create_time<=? `
+	sql := `SELECT * FROM base_from_trade_guangzhou_index WHERE modify_time>=? AND modify_time<=? `
 	_, err = o.Raw(sql, startDate, endDate).QueryRows(&list)
 	return
 }

+ 87 - 0
models/base_from_usda_fas.go

@@ -0,0 +1,87 @@
+package models
+
+import (
+	"github.com/beego/beego/v2/client/orm"
+	"github.com/rdlucklib/rdluck_tools/paging"
+	"time"
+)
+
+type BaseFromUsdaFasIndex struct {
+	BaseFromUsdaFasIndexId int `orm:"column(base_from_usda_fas_index_id);pk"`
+	ClassifyId             int
+	IndexCode              string
+	IndexName              string
+	Frequency              string
+	Unit                   string
+	Sort                   int
+	StartDate              time.Time `description:"开始日期"`
+	EndDate                time.Time `description:"结束日期"`
+	EndValue               float64
+	CreateTime             time.Time
+	ModifyTime             time.Time
+}
+
+// BaseFromUsdaFasClassify UsdaFas原始数据分类表
+type BaseFromUsdaFasClassify struct {
+	ClassifyId      int       `orm:"column(classify_id);pk"`
+	ClassifyName    string    `description:"分类名称"`
+	ParentId        int       `description:"父级id"`
+	SysUserId       int       `description:"创建人id"`
+	SysUserRealName string    `description:"创建人姓名"`
+	Level           int       `description:"层级"`
+	Sort            int       `description:"排序字段,越小越靠前,默认值:10"`
+	ModifyTime      time.Time `description:"修改时间"`
+	CreateTime      time.Time `description:"创建时间"`
+}
+
+func (obj *BaseFromUsdaFasClassify) GetBaseFromUsdaFasClassifyAll() (list []*BaseFromUsdaFasClassify, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT * FROM base_from_usda_fas_classify `
+	_, err = o.Raw(sql).QueryRows(&list)
+	return
+}
+
+type BaseFromUsdaFasData struct {
+	BaseFromUsdaFasDataId  int       `orm:"column(base_from_usda_fas_data_id);pk"`
+	BaseFromUsdaFasIndexId int       `description:"指标id"`
+	IndexCode              string    `description:"指标编码"`
+	DataTime               string    `description:"日期"`
+	Value                  string    `description:"值"`
+	CreateTime             time.Time `description:"创建时间"`
+	ModifyTime             time.Time `description:"修改时间"`
+}
+
+func GetUsdaFasIndex(startDate, endDate string) (items []*BaseFromUsdaFasIndex, err error) {
+	o := orm.NewOrm()
+	sql := ` SELECT * FROM base_from_usda_fas_index WHERE modify_time >= ? AND modify_time <= ?  `
+	_, err = o.Raw(sql, startDate, endDate).QueryRows(&items)
+	return
+}
+
+func GetBaseFromUsdaFasData(indexCode, startDate, endDate string) (list []*BaseFromUsdaFasData, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT * FROM base_from_usda_fas_data WHERE index_code=? AND modify_time>=? AND modify_time<=? `
+	_, err = o.Raw(sql, indexCode, startDate, endDate).QueryRows(&list)
+	return
+}
+
+// GetComTradeDataList 获取UsdaFas消费指数数据列表
+func GetBaseFromUsdaFasDataList(startDate, endDate string, startSize, pageSize int) (total int, list []*BaseFromUsdaFasData, err error) {
+	o := orm.NewOrm()
+	totalSql := `SELECT count(1) total FROM base_from_usda_fas_data WHERE modify_time>=? AND modify_time<=? `
+	err = o.Raw(totalSql, startDate, endDate).QueryRow(&total)
+	if err != nil {
+		return
+	}
+
+	sql := `SELECT * FROM base_from_usda_fas_data WHERE modify_time>=? AND modify_time<=? ORDER BY base_from_usda_fas_data_id ASC LIMIT ?,?`
+	_, err = o.Raw(sql, startDate, endDate, startSize, pageSize).QueryRows(&list)
+
+	return
+}
+
+// ComTradeIndexDataResp 分页列表响应体
+type BaseFromUsdaFasDataResp struct {
+	List   []*BaseFromUsdaFasData
+	Paging *paging.PagingItem `description:"分页数据"`
+}

+ 6 - 0
services/classify.go

@@ -14,6 +14,12 @@ func GetClassifyList(source int) (list interface{}, err error) {
 	case utils.DATA_SOURCE_ICPI:
 		icpiObj := new(models.BaseFromIcpiClassify)
 		list, err = icpiObj.GetBaseFromIcpiClassifyAll()
+	case utils.DATA_SOURCE_EIA_STEO:
+		eiaSteoObj := new(models.BaseFromEiaSteoClassify)
+		list, err = eiaSteoObj.GetBaseFromEiaSteoClassifyAll()
+	case utils.DATA_SOURCE_USDA_FAS:
+		usdaFasObj := new(models.BaseFromUsdaFasClassify)
+		list, err = usdaFasObj.GetBaseFromUsdaFasClassifyAll()
 	default:
 	}
 	return

+ 17 - 0
services/index.go

@@ -3,6 +3,7 @@ package services
 import (
 	"eta/eta_data_push/models"
 	"eta/eta_data_push/utils"
+
 	"github.com/rdlucklib/rdluck_tools/paging"
 )
 
@@ -47,6 +48,8 @@ func GetIndexList(source int, startDate, endDate string) (list interface{}, err
 		list, err = models.GetBaseFromTradeGuangzhouIndex(startDate, endDate)
 	case utils.DATA_SOURCE_ICPI:
 		list, err = models.GetIcpiIndex(startDate, endDate)
+	case utils.DATA_SOURCE_USDA_FAS:
+		list, err = models.GetUsdaFasIndex(startDate, endDate)
 	default:
 	}
 	return
@@ -64,6 +67,8 @@ func GetIndexDataList(source int, indexCode, startDate, endDate string) (list in
 		list, err = models.GetBaseFromTradeGuangzhouData(indexCode, startDate, endDate)
 	case utils.DATA_SOURCE_ICPI: //ICPI消费指数
 		list, err = models.GetBaseFromIcpiData(indexCode, startDate, endDate)
+	case utils.DATA_SOURCE_USDA_FAS:
+		list, err = models.GetBaseFromUsdaFasData(indexCode, startDate, endDate)
 	default:
 	}
 	return
@@ -108,6 +113,18 @@ func GetIndexDataPageList(source, currPage, pageSize int, startDate, endDate str
 			List:   dataList,
 			Paging: page,
 		}
+	case utils.DATA_SOURCE_USDA_FAS: //美国农业部
+		var total int
+		dataList := make([]*models.BaseFromUsdaFasData, 0)
+		total, dataList, err = models.GetBaseFromUsdaFasDataList(startDate, endDate, currPage*pageSize, pageSize)
+		if err != nil {
+			return
+		}
+		page := paging.GetPaging(currPage, pageSize, total)
+		list = models.BaseFromUsdaFasDataResp{
+			List:   dataList,
+			Paging: page,
+		}
 	default:
 	}
 	return

+ 1 - 0
utils/constants.go

@@ -105,4 +105,5 @@ const (
 	DATA_SOURCE_CALCULATE_RJZ                                   // 日均值计算->75
 	DATA_SOURCE_GFEX                                 = 78       // 广州期货交易所->78
 	DATA_SOURCE_ICPI                                 = 79       // ICPI消费价格指数->79
+	DATA_SOURCE_USDA_FAS                             = 96       //美国农业部
 )