浏览代码

Merge branch 'hotfix/bug8100_eia_steo' into debug

xyxie 2 周之前
父节点
当前提交
965ff5dd3a
共有 7 个文件被更改,包括 173 次插入29 次删除
  1. 41 19
      models/base_from_eia_steo.go
  2. 87 0
      models/base_from_gpr_risk.go
  3. 11 10
      models/base_from_icpi.go
  4. 2 0
      models/base_from_usda_fas.go
  5. 3 0
      services/classify.go
  6. 28 0
      services/index.go
  7. 1 0
      utils/constants.go

+ 41 - 19
models/base_from_eia_steo.go

@@ -4,27 +4,29 @@ import (
 	"time"
 
 	"github.com/beego/beego/v2/client/orm"
+	"github.com/rdlucklib/rdluck_tools/paging"
 )
 
 // 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                 string `description:"开始日期"`
-	EndDate                   string `description:"结束日期"`
-	ModifyTime                string `description:"最新更新时间"`
-	CreateTime                string `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:"创建时间"`
+	LatestValue               float64 `description:"最新值"`
 }
 
 type BaseFromEiaSteoData struct {
@@ -57,14 +59,34 @@ func (obj *BaseFromEiaSteoClassify) GetBaseFromEiaSteoClassifyAll() (list []*Bas
 
 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 `
+	sql := `SELECT * FROM base_from_eia_steo_index WHERE modify_time>=? AND modify_time<=?  ORDER BY modify_time ASC `
 	_, err = o.Raw(sql, startDate, endDate).QueryRows(&list)
 	return
 }
 
 func GetEiaSteoIndexData(indexCode, startDate, endDate string) (list []*BaseFromEiaSteoData, err error) {
 	o := orm.NewOrm()
-	sql := `SELECT * FROM base_from_eia_steo_data WHERE index_code=? AND create_time>=? AND create_time<=? ORDER BY create_time ASC `
+	sql := `SELECT * FROM base_from_eia_steo_data WHERE index_code=? AND modify_time>=? AND modify_time<=? ORDER BY modify_time ASC `
 	_, err = o.Raw(sql, indexCode, startDate, endDate).QueryRows(&list)
 	return
 }
+
+type BaseFromEiaSteoDataResp struct {
+	List   []*BaseFromEiaSteoData
+	Paging *paging.PagingItem `description:"分页数据"`
+}
+
+// GetBaseFromEiaSteoDataList 获取EiaSteo数据列表
+func GetBaseFromEiaSteoDataList(startDate, endDate string, startSize, pageSize int) (total int, list []*BaseFromEiaSteoData, err error) {
+	o := orm.NewOrm()
+	totalSql := `SELECT count(1) total FROM base_from_eia_steo_data WHERE modify_time>=? AND modify_time<=? `
+	err = o.Raw(totalSql, startDate, endDate).QueryRow(&total)
+	if err != nil {
+		return
+	}
+
+	sql := `SELECT * FROM base_from_eia_steo_data WHERE modify_time>=? AND modify_time<=? ORDER BY base_from_eia_steo_data_id ASC LIMIT ?,?`
+	_, err = o.Raw(sql, startDate, endDate, startSize, pageSize).QueryRows(&list)
+
+	return
+}

+ 87 - 0
models/base_from_gpr_risk.go

@@ -0,0 +1,87 @@
+package models
+
+import (
+	"github.com/beego/beego/v2/client/orm"
+	"github.com/rdlucklib/rdluck_tools/paging"
+	"time"
+)
+
+type BaseFromGprRiskIndex struct {
+	BaseFromGprRiskIndexId int `orm:"column(base_from_gpr_risk_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
+}
+
+// BaseFromGprRiskClassify GprRisk原始数据分类表
+type BaseFromGprRiskClassify 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 *BaseFromGprRiskClassify) GetBaseFromGprRiskClassifyAll() (list []*BaseFromGprRiskClassify, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT * FROM base_from_gpr_risk_classify `
+	_, err = o.Raw(sql).QueryRows(&list)
+	return
+}
+
+type BaseFromGprRiskData struct {
+	BaseFromGprRiskDataId  int       `orm:"column(base_from_gpr_risk_data_id);pk"`
+	BaseFromGprRiskIndexId int       `description:"指标id"`
+	IndexCode              string    `description:"指标编码"`
+	DataTime               string    `description:"日期"`
+	Value                  string    `description:"值"`
+	CreateTime             time.Time `description:"创建时间"`
+	ModifyTime             time.Time `description:"修改时间"`
+}
+
+func GetGprRiskIndex(startDate, endDate string) (items []*BaseFromGprRiskIndex, err error) {
+	o := orm.NewOrm()
+	sql := ` SELECT * FROM base_from_gpr_risk_index WHERE modify_time >= ? AND modify_time <= ?  `
+	_, err = o.Raw(sql, startDate, endDate).QueryRows(&items)
+	return
+}
+
+func GetBaseFromGprRiskData(indexCode, startDate, endDate string) (list []*BaseFromGprRiskData, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT * FROM base_from_gpr_risk_data WHERE index_code=? AND modify_time>=? AND modify_time<=? `
+	_, err = o.Raw(sql, indexCode, startDate, endDate).QueryRows(&list)
+	return
+}
+
+// GetComTradeDataList 获取GprRisk消费指数数据列表
+func GetBaseFromGprRiskDataList(startDate, endDate string, startSize, pageSize int) (total int, list []*BaseFromGprRiskData, err error) {
+	o := orm.NewOrm()
+	totalSql := `SELECT count(1) total FROM base_from_gpr_risk_data WHERE modify_time>=? AND modify_time<=? `
+	err = o.Raw(totalSql, startDate, endDate).QueryRow(&total)
+	if err != nil {
+		return
+	}
+
+	sql := `SELECT * FROM base_from_gpr_risk_data WHERE modify_time>=? AND modify_time<=? ORDER BY base_from_gpr_risk_data_id ASC LIMIT ?,?`
+	_, err = o.Raw(sql, startDate, endDate, startSize, pageSize).QueryRows(&list)
+
+	return
+}
+
+// ComTradeIndexDataResp 分页列表响应体
+type BaseFromGprRiskDataResp struct {
+	List   []*BaseFromGprRiskData
+	Paging *paging.PagingItem `description:"分页数据"`
+}

+ 11 - 10
models/base_from_icpi.go

@@ -55,16 +55,17 @@ type BaseFromIcpiDataView struct {
 }
 
 type BaseFromIcpiIndexView struct {
-	BaseFromIcpiIndexId    int    `description:"指标id"`
-	BaseFromIcpiClassifyId int    `description:"分类id"`
-	IndexCode              string `description:"指标编码"`
-	IndexName              string `description:"指标名称"`
-	Frequency              string `description:"频度"`
-	Unit                   string `description:"单位"`
-	StartDate              string `description:"开始日期"`
-	EndDate                string `description:"结束日期"`
-	CreateTime             string `description:"创建时间"`
-	ModifyTime             string `description:"修改时间"`
+	BaseFromIcpiIndexId    int     `description:"指标id"`
+	BaseFromIcpiClassifyId int     `description:"分类id"`
+	IndexCode              string  `description:"指标编码"`
+	IndexName              string  `description:"指标名称"`
+	Frequency              string  `description:"频度"`
+	Unit                   string  `description:"单位"`
+	StartDate              string  `description:"开始日期"`
+	EndDate                string  `description:"结束日期"`
+	CreateTime             string  `description:"创建时间"`
+	ModifyTime             string  `description:"修改时间"`
+	LatestValue            float64 `description:"最新值"`
 }
 
 func GetIcpiIndex(startDate, endDate string) (items []*BaseFromIcpiIndex, err error) {

+ 2 - 0
models/base_from_usda_fas.go

@@ -17,6 +17,8 @@ type BaseFromUsdaFasIndex struct {
 	StartDate              time.Time `description:"开始日期"`
 	EndDate                time.Time `description:"结束日期"`
 	EndValue               float64
+	Country                string `description:"国家"`
+	Commodity              string `description:"属性"`
 	CreateTime             time.Time
 	ModifyTime             time.Time
 }

+ 3 - 0
services/classify.go

@@ -20,6 +20,9 @@ func GetClassifyList(source int) (list interface{}, err error) {
 	case utils.DATA_SOURCE_USDA_FAS:
 		usdaFasObj := new(models.BaseFromUsdaFasClassify)
 		list, err = usdaFasObj.GetBaseFromUsdaFasClassifyAll()
+	case utils.DATA_SOURCE_GPR_RISK:
+		gprRiskObj := new(models.BaseFromGprRiskClassify)
+		list, err = gprRiskObj.GetBaseFromGprRiskClassifyAll()
 	default:
 	}
 	return

+ 28 - 0
services/index.go

@@ -50,6 +50,8 @@ func GetIndexList(source int, startDate, endDate string) (list interface{}, err
 		list, err = models.GetIcpiIndex(startDate, endDate)
 	case utils.DATA_SOURCE_USDA_FAS:
 		list, err = models.GetUsdaFasIndex(startDate, endDate)
+	case utils.DATA_SOURCE_GPR_RISK:
+		list, err = models.GetGprRiskIndex(startDate, endDate)
 	default:
 	}
 	return
@@ -69,6 +71,8 @@ func GetIndexDataList(source int, indexCode, startDate, endDate string) (list in
 		list, err = models.GetBaseFromIcpiData(indexCode, startDate, endDate)
 	case utils.DATA_SOURCE_USDA_FAS:
 		list, err = models.GetBaseFromUsdaFasData(indexCode, startDate, endDate)
+	case utils.DATA_SOURCE_GPR_RISK:
+		list, err = models.GetBaseFromGprRiskData(indexCode, startDate, endDate)
 	default:
 	}
 	return
@@ -77,6 +81,18 @@ func GetIndexDataList(source int, indexCode, startDate, endDate string) (list in
 // GetIndexDataPageList 分页获取数据同步
 func GetIndexDataPageList(source, currPage, pageSize int, startDate, endDate string) (list interface{}, err error) {
 	switch source {
+	case utils.DATA_SOURCE_EIA_STEO:
+		var total int
+		dataList := make([]*models.BaseFromEiaSteoData, 0)
+		total, dataList, err = models.GetBaseFromEiaSteoDataList(startDate, endDate, currPage*pageSize, pageSize)
+		if err != nil {
+			return
+		}
+		page := paging.GetPaging(currPage, pageSize, total)
+		list = models.BaseFromEiaSteoDataResp{
+			List:   dataList,
+			Paging: page,
+		}
 	case utils.DATA_SOURCE_COM_TRADE:
 		var total int
 		dataList := make([]*models.ComTradeData, 0)
@@ -125,6 +141,18 @@ func GetIndexDataPageList(source, currPage, pageSize int, startDate, endDate str
 			List:   dataList,
 			Paging: page,
 		}
+	case utils.DATA_SOURCE_GPR_RISK: //GPR地缘风险指数
+		var total int
+		dataList := make([]*models.BaseFromGprRiskData, 0)
+		total, dataList, err = models.GetBaseFromGprRiskDataList(startDate, endDate, currPage*pageSize, pageSize)
+		if err != nil {
+			return
+		}
+		page := paging.GetPaging(currPage, pageSize, total)
+		list = models.BaseFromGprRiskDataResp{
+			List:   dataList,
+			Paging: page,
+		}
 	default:
 	}
 	return

+ 1 - 0
utils/constants.go

@@ -106,4 +106,5 @@ const (
 	DATA_SOURCE_GFEX                                 = 78       // 广州期货交易所->78
 	DATA_SOURCE_ICPI                                 = 79       // ICPI消费价格指数->79
 	DATA_SOURCE_USDA_FAS                             = 96       //美国农业部
+	DATA_SOURCE_GPR_RISK                             = 102      //GPR地缘风险指数
 )