ソースを参照

Merge branch 'gie' into debug

zwxi 1 年間 前
コミット
d2b7fbfa01

+ 1 - 0
.gitignore

@@ -9,3 +9,4 @@ hongze_edb_lib
 binlog/
 /hongze_edb_lib.exe~
 /*.exe
+eta_data_pubish

+ 48 - 0
controllers/classify.go

@@ -0,0 +1,48 @@
+package controllers
+
+import (
+	"encoding/json"
+	"eta/eta_data_push/models"
+	"eta/eta_data_push/services"
+	"strconv"
+)
+
+// 分类
+type ClassifyController struct {
+	BaseAuthController
+}
+
+// @Title 获取分类接口
+// @Description 获取分类接口
+// @Success 200 {object} models.ClassifyListReq
+// @router /list [post]
+func (this *ClassifyController) ClassifyList() {
+	br := new(models.BaseResponse).Init()
+	defer func() {
+		this.Data["json"] = br
+		this.ServeJSON()
+	}()
+	var req models.ClassifyListReq
+	err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
+	if err != nil {
+		br.Msg = "参数解析异常!"
+		br.ErrMsg = "参数解析失败,Err:" + err.Error()
+		return
+	}
+	if req.Source <= 0 {
+		br.Msg = "渠道编码错误!"
+		br.ErrMsg = "渠道编码错误,Source:" + strconv.Itoa(req.Source)
+		return
+	}
+
+	list, err := services.GetClassifyList(req.Source)
+	if err != nil {
+		br.Msg = "获取数据失败!"
+		br.ErrMsg = "获取数据失败,Err:" + err.Error()
+		return
+	}
+	br.Ret = 200
+	br.Success = true
+	br.Msg = "获取成功"
+	br.Data = list
+}

+ 48 - 0
controllers/contract.go

@@ -0,0 +1,48 @@
+package controllers
+
+import (
+	"encoding/json"
+	"eta/eta_data_push/models"
+	"eta/eta_data_push/services"
+	"strconv"
+)
+
+// 合约
+type ContractController struct {
+	BaseAuthController
+}
+
+// @Title 获取合约接口
+// @Description 获取合约接口
+// @Success 200 {object} models.ContractListReq
+// @router /list [post]
+func (this *ContractController) ContractList() {
+	br := new(models.BaseResponse).Init()
+	defer func() {
+		this.Data["json"] = br
+		this.ServeJSON()
+	}()
+	var req models.ContractListReq
+	err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
+	if err != nil {
+		br.Msg = "参数解析异常!"
+		br.ErrMsg = "参数解析失败,Err:" + err.Error()
+		return
+	}
+	if req.Source <= 0 {
+		br.Msg = "渠道编码错误!"
+		br.ErrMsg = "渠道编码错误,Source:" + strconv.Itoa(req.Source)
+		return
+	}
+
+	list, err := services.GetContractList(req.Source)
+	if err != nil {
+		br.Msg = "获取数据失败!"
+		br.ErrMsg = "获取数据失败,Err:" + err.Error()
+		return
+	}
+	br.Ret = 200
+	br.Success = true
+	br.Msg = "获取成功"
+	br.Data = list
+}

+ 47 - 0
models/base_from_gie.go

@@ -0,0 +1,47 @@
+package models
+
+import (
+	"github.com/beego/beego/v2/client/orm"
+	"time"
+)
+
+type BaseFromTradeEicIndexV2 struct {
+	BaseFromEicIndexId     int `orm:"column(base_from_eic_index_id);pk"`
+	Type                   string
+	EicCode                string
+	Name                   string
+	Status                 string
+	GasDayStart            string
+	GasInStorage           string
+	GasInStorageCode       string
+	Consumption            string
+	ConsumptionCode        string
+	ConsumptionFull        string
+	ConsumptionFullCode    string
+	Full                   string
+	FullCode               string
+	Trend                  string
+	TrendCode              string
+	Injection              string
+	InjectionCode          string
+	Withdrawal             string
+	WithdrawalCode         string
+	WorkingGasVolume       string
+	WorkingGasVolumeCode   string
+	InjectionCapacity      string
+	InjectionCapacityCode  string
+	WithdrawalCapacity     string
+	WithdrawalCapacityCode string
+	Info                   string
+	Parent                 string
+	CreateTime             time.Time
+	ModifyTime             time.Time
+}
+
+func GetEicIndex(startDate, endDate string) (list []*BaseFromTradeEicIndexV2, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT * FROM base_from_trade_eic_index_v2 WHERE create_time>=? AND create_time<=? `
+	_, err = o.Raw(sql, startDate, endDate).QueryRows(&list)
+	return
+}
+

+ 103 - 0
models/base_from_icpi.go

@@ -0,0 +1,103 @@
+package models
+
+import (
+	"github.com/beego/beego/v2/client/orm"
+	"github.com/rdlucklib/rdluck_tools/paging"
+	"time"
+)
+
+type BaseFromIcpiIndex struct {
+	BaseFromIcpiIndexId    int       `orm:"column(base_from_icpi_index_id);pk"`
+	BaseFromIcpiClassifyId int       `description:"分类id"`
+	IndexCode              string    `description:"指标编码"`
+	IndexName              string    `description:"指标名称"`
+	Frequency              string    `description:"频度"`
+	StartDate              time.Time `description:"开始日期"`
+	EndDate                time.Time `description:"结束日期"`
+	CreateTime             time.Time `description:"创建时间"`
+	ModifyTime             time.Time `description:"修改时间"`
+}
+
+type BaseFromIcpiData struct {
+	BaseFromIcpiDataId  int       `orm:"column(base_from_icpi_data_id);pk"`
+	BaseFromIcpiIndexId int       `description:"指标id"`
+	IndexCode           string    `description:"指标编码"`
+	DataTime            string    `description:"日期"`
+	Value               string    `description:"值"`
+	CreateTime          time.Time `description:"创建时间"`
+	ModifyTime          time.Time `description:"修改时间"`
+}
+
+type BaseFromIcpiClassify struct {
+	BaseFromIcpiClassifyId int    `orm:"column(base_from_icpi_classify_id);pk"`
+	ClassifyName           string `description:"分类名称"`
+	ClassifyNameEn         string `description:"英文名称"`
+	ParentId               int    `description:"上级id"`
+	CreateTime             string `description:"创建时间"`
+	ModifyTime             string `description:"修改时间"`
+}
+
+func (obj *BaseFromIcpiIndex) GetBaseFromIcpiClassifyAll() (list []*BaseFromIcpiClassify, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT * FROM base_from_icpi_classify `
+	_, err = o.Raw(sql).QueryRows(&list)
+	return
+}
+
+type BaseFromIcpiDataView struct {
+	BaseFromIcpiDataId  int       `orm:"column(base_from_icpi_data_id);pk"`
+	BaseFromIcpiIndexId int       `description:"指标id"`
+	IndexCode           string    `description:"指标编码"`
+	DataTime            string    `description:"日期"`
+	Value               string    `description:"值"`
+	CreateTime          time.Time `description:"创建时间"`
+	ModifyTime          time.Time `description:"修改时间"`
+}
+
+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:"修改时间"`
+}
+
+func GetIcpiIndex(startDate, endDate string) (items []*BaseFromIcpiIndexView, err error) {
+	o := orm.NewOrm()
+	sql := ` SELECT * FROM base_from_icpi_index WHERE end_date >= ? AND end_date <= ?  `
+	_, err = o.Raw(sql, startDate, endDate).QueryRows(&items)
+	return
+}
+
+func GetBaseFromIcpiData(indexCode, startDate, endDate string) (list []*BaseFromIcpiData, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT * FROM base_from_icpi_data WHERE index_code=? AND modify_time>=? AND modify_time<=? `
+	_, err = o.Raw(sql, indexCode, startDate, endDate).QueryRows(&list)
+	return
+}
+
+// GetComTradeDataList 获取icpi消费指数数据列表
+func GetBaseFromIcpiDataList(startDate, endDate string, startSize, pageSize int) (total int, list []*BaseFromIcpiData, err error) {
+	o := orm.NewOrm()
+	totalSql := `SELECT count(1) total FROM base_from_icpi_data WHERE create_time>=? AND create_time<=? `
+	err = o.Raw(totalSql, startDate, endDate).QueryRow(&total)
+	if err != nil {
+		return
+	}
+
+	sql := `SELECT * FROM base_from_icpi_data WHERE create_time>=? AND create_time<=? ORDER BY base_from_icpi_data_id ASC LIMIT ?,?`
+	_, err = o.Raw(sql, startDate, endDate, startSize, pageSize).QueryRows(&list)
+
+	return
+}
+
+// ComTradeIndexDataResp 分页列表响应体
+type BaseFromIcpiDataResp struct {
+	List   []*BaseFromIcpiData
+	Paging *paging.PagingItem `description:"分页数据"`
+}

+ 76 - 0
models/base_from_trade_guangzhou.go

@@ -0,0 +1,76 @@
+package models
+
+import (
+	"github.com/beego/beego/v2/client/orm"
+	"github.com/rdlucklib/rdluck_tools/paging"
+	"time"
+)
+
+type BaseFromTradeGuangzhouIndex struct {
+	BaseFromTradeGuangzhouIndexId    int       `orm:"column(base_from_trade_guangzhou_index_id);pk"`
+	BaseFromTradeGuangzhouClassifyId int       `description:"分类id"`
+	IndexCode                        string    `description:"指标编码"`
+	IndexName                        string    `description:"指标名称"`
+	Frequency                        string    `description:"频率"`
+	Unit                             string    `description:"单位"`
+	StartDate                        string    `description:"开始日期"`
+	EndDate                          string    `description:"结束日期"`
+	CreateTime                       time.Time `description:"创建日期"`
+	ModifyTime                       time.Time `description:"修改日期"`
+	Value                            float64   `description:"数据值"`
+}
+
+type BaseFromTradeGuangzhouClassify struct {
+	BaseFromTradeGuangzhouClassifyId int       `orm:"column(base_from_trade_guangzhou_classify_id);pk"`
+	ClassifyName                     string    `description:"分类名称"`
+	ClassifyCode                     string    `description:"分类编码"`
+	ParentId                         int       `description:"分类父级id"`
+	ModifyTime                       time.Time `description:"修改时间"`
+	CreateTime                       time.Time `description:"创建时间"`
+}
+
+type BaseFromTradeGuangzhouData struct {
+	BaseFromTradeGuangzhouDataId  int       `orm:"column(base_from_trade_guangzhou_data_id);pk"`
+	BaseFromTradeGuangzhouIndexId int       `description:"指标id"`
+	IndexCode                     string    `description:"指标编码"`
+	DataTime                      string    `description:"数据日期"`
+	Value                         float64   `description:"数据值"`
+	QtySub                        float64   `description:"增减"`
+	CreateTime                    time.Time `description:"创建日期"`
+	ModifyTime                    time.Time `description:"修改日期"`
+}
+
+func GetBaseFromTradeGuangzhouData(indexCode, startDate, endDate string) (list []*BaseFromTradeGuangzhouData, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT * FROM base_from_trade_guangzhou_data WHERE index_code=? AND create_time>=? AND create_time<=? `
+	_, err = o.Raw(sql, indexCode, startDate, endDate).QueryRows(&list)
+	return
+}
+
+// GetComTradeDataList 获取联合国商品贸易数据列表
+func GetBaseFromTradeGuangzhouDataList(startDate, endDate string, startSize, pageSize int) (total int, list []*BaseFromTradeGuangzhouData, err error) {
+	o := orm.NewOrm()
+	totalSql := `SELECT count(1) total FROM base_from_trade_guangzhou_data WHERE create_time>=? AND create_time<=? `
+	err = o.Raw(totalSql, startDate, endDate).QueryRow(&total)
+	if err != nil {
+		return
+	}
+
+	sql := `SELECT * FROM base_from_trade_guangzhou_data WHERE create_time>=? AND create_time<=? ORDER BY base_from_trade_guangzhou_data_id ASC LIMIT ?,?`
+	_, err = o.Raw(sql, startDate, endDate, startSize, pageSize).QueryRows(&list)
+
+	return
+}
+
+// ComTradeIndexDataResp 分页列表响应体
+type BaseFromTradeGuangzhouDataResp struct {
+	List   []*BaseFromTradeGuangzhouData
+	Paging *paging.PagingItem `description:"分页数据"`
+}
+
+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<=? `
+	_, err = o.Raw(sql, startDate, endDate).QueryRows(&list)
+	return
+}

+ 21 - 0
models/classify.go

@@ -0,0 +1,21 @@
+package models
+
+import "github.com/beego/beego/v2/client/orm"
+
+type ClassifyListReq struct {
+	Source int `description:"渠道编码"`
+}
+
+func (obj *BaseFromTradeGuangzhouClassify) GetBaseFromTradeGuangzhouClassifyAll() (list []*BaseFromTradeGuangzhouClassify, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT * FROM base_from_trade_guangzhou_classify `
+	_, err = o.Raw(sql).QueryRows(&list)
+	return list, err
+}
+
+func (obj *BaseFromIcpiClassify) GetBaseFromIcpiClassifyAll() (list []*BaseFromIcpiClassify, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT * FROM base_from_icpi_classify `
+	_, err = o.Raw(sql).QueryRows(&list)
+	return list, err
+}

+ 29 - 0
models/contract.go

@@ -0,0 +1,29 @@
+package models
+
+import "github.com/beego/beego/v2/client/orm"
+
+type BaseFromTradeGuangzhouContract struct {
+	BaseFromTradeGuangzhouContractId int    `orm:"column(base_from_trade_guangzhou_contract_id);pk"`
+	BaseFromTradeGuangzhouClassifyId int    `description:"分类id"`
+	ClassifyCode                     string `description:"分类编码"`
+	Contract                         string `description:"合约编码"`
+	TradeDate                        string `description:"合约日期"`
+}
+
+type ContractListReq struct {
+	Source int `description:"渠道编码"`
+}
+
+// 获取所有合约
+func (obj *BaseFromTradeGuangzhouIndex) GetBaseFromTradeGuangzhouContract(tradeDate string) (list []*BaseFromTradeGuangzhouContract, err error) {
+	o := orm.NewOrm()
+	if tradeDate != "" {
+		sql := ` SELECT * FROM base_from_trade_guangzhou_contract WHERE trade_date=? `
+		_, err = o.Raw(sql, tradeDate).QueryRows(&list)
+		return
+	} else {
+		sql := ` SELECT * FROM base_from_trade_guangzhou_contract `
+		_, err = o.Raw(sql).QueryRows(&list)
+		return
+	}
+}

+ 2 - 3
models/meeting_probabilities.go

@@ -16,7 +16,6 @@ type MeetingProbabilities struct {
 	CreateTime    time.Time `description:"创建日期"`
 }
 
-
 func GetMeetingProbabilities(startDate, endDate string) (list []*MeetingProbabilities, err error) {
 	o := orm.NewOrm()
 	sql := `SELECT * FROM meeting_probabilities WHERE create_time>=? AND create_time<=? `
@@ -26,7 +25,7 @@ func GetMeetingProbabilities(startDate, endDate string) (list []*MeetingProbabil
 
 // AddMeetingProbabilities 新增表格
 func AddMeetingProbabilities(meetingInfo *MeetingProbabilities) (err error) {
-	o := orm.NewOrmUsingDB("data")
+	o := orm.NewOrm()
 	// 表格信息入库
 	lastId, err := o.Insert(meetingInfo)
 	if err != nil {
@@ -98,4 +97,4 @@ func GetMeetingProbabilitiesMaxDate() (max_date time.Time, err error) {
 	sql := ` SELECT max(a.date_time)as max_date FROM meeting_probabilities as a `
 	err = o.Raw(sql).QueryRow(&max_date)
 	return
-}
+}

+ 66 - 48
routers/commentsRouter.go

@@ -7,58 +7,76 @@ import (
 
 func init() {
 
-	beego.GlobalControllerRouter["eta/eta_data_push/controllers:EdbInfoCalculateController"] = append(beego.GlobalControllerRouter["eta/eta_data_push/controllers:EdbInfoCalculateController"],
-		beego.ControllerComments{
-			Method:           "EdbInfoCalculateItem",
-			Router:           `/item`,
-			AllowHTTPMethods: []string{"post"},
-			MethodParams:     param.Make(),
-			Filters:          nil,
-			Params:           nil})
+    beego.GlobalControllerRouter["eta/eta_data_push/controllers:ClassifyController"] = append(beego.GlobalControllerRouter["eta/eta_data_push/controllers:ClassifyController"],
+        beego.ControllerComments{
+            Method: "ClassifyList",
+            Router: `/list`,
+            AllowHTTPMethods: []string{"post"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
 
-	beego.GlobalControllerRouter["eta/eta_data_push/controllers:EdbInfoController"] = append(beego.GlobalControllerRouter["eta/eta_data_push/controllers:EdbInfoController"],
-		beego.ControllerComments{
-			Method:           "EdbIndexDetail",
-			Router:           `/detail`,
-			AllowHTTPMethods: []string{"post"},
-			MethodParams:     param.Make(),
-			Filters:          nil,
-			Params:           nil})
+    beego.GlobalControllerRouter["eta/eta_data_push/controllers:ContractController"] = append(beego.GlobalControllerRouter["eta/eta_data_push/controllers:ContractController"],
+        beego.ControllerComments{
+            Method: "ContractList",
+            Router: `/list`,
+            AllowHTTPMethods: []string{"post"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
 
-	beego.GlobalControllerRouter["eta/eta_data_push/controllers:EdbInfoController"] = append(beego.GlobalControllerRouter["eta/eta_data_push/controllers:EdbInfoController"],
-		beego.ControllerComments{
-			Method:           "EdbIndexItem",
-			Router:           `/item`,
-			AllowHTTPMethods: []string{"post"},
-			MethodParams:     param.Make(),
-			Filters:          nil,
-			Params:           nil})
+    beego.GlobalControllerRouter["eta/eta_data_push/controllers:EdbInfoCalculateController"] = append(beego.GlobalControllerRouter["eta/eta_data_push/controllers:EdbInfoCalculateController"],
+        beego.ControllerComments{
+            Method: "EdbInfoCalculateItem",
+            Router: `/item`,
+            AllowHTTPMethods: []string{"post"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
 
-	beego.GlobalControllerRouter["eta/eta_data_push/controllers:IndexController"] = append(beego.GlobalControllerRouter["eta/eta_data_push/controllers:IndexController"],
-		beego.ControllerComments{
-			Method:           "IndexDataList",
-			Router:           `/data/list`,
-			AllowHTTPMethods: []string{"post"},
-			MethodParams:     param.Make(),
-			Filters:          nil,
-			Params:           nil})
+    beego.GlobalControllerRouter["eta/eta_data_push/controllers:EdbInfoController"] = append(beego.GlobalControllerRouter["eta/eta_data_push/controllers:EdbInfoController"],
+        beego.ControllerComments{
+            Method: "EdbIndexDetail",
+            Router: `/detail`,
+            AllowHTTPMethods: []string{"post"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
 
-	beego.GlobalControllerRouter["eta/eta_data_push/controllers:IndexController"] = append(beego.GlobalControllerRouter["eta/eta_data_push/controllers:IndexController"],
-		beego.ControllerComments{
-			Method:           "IndexDataPageList",
-			Router:           `/data/list_page`,
-			AllowHTTPMethods: []string{"post"},
-			MethodParams:     param.Make(),
-			Filters:          nil,
-			Params:           nil})
+    beego.GlobalControllerRouter["eta/eta_data_push/controllers:EdbInfoController"] = append(beego.GlobalControllerRouter["eta/eta_data_push/controllers:EdbInfoController"],
+        beego.ControllerComments{
+            Method: "EdbIndexItem",
+            Router: `/item`,
+            AllowHTTPMethods: []string{"post"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
 
-	beego.GlobalControllerRouter["eta/eta_data_push/controllers:IndexController"] = append(beego.GlobalControllerRouter["eta/eta_data_push/controllers:IndexController"],
-		beego.ControllerComments{
-			Method:           "IndexList",
-			Router:           `/list`,
-			AllowHTTPMethods: []string{"post"},
-			MethodParams:     param.Make(),
-			Filters:          nil,
-			Params:           nil})
+    beego.GlobalControllerRouter["eta/eta_data_push/controllers:IndexController"] = append(beego.GlobalControllerRouter["eta/eta_data_push/controllers:IndexController"],
+        beego.ControllerComments{
+            Method: "IndexDataList",
+            Router: `/data/list`,
+            AllowHTTPMethods: []string{"post"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
+    beego.GlobalControllerRouter["eta/eta_data_push/controllers:IndexController"] = append(beego.GlobalControllerRouter["eta/eta_data_push/controllers:IndexController"],
+        beego.ControllerComments{
+            Method: "IndexDataPageList",
+            Router: `/data/list_page`,
+            AllowHTTPMethods: []string{"post"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
+    beego.GlobalControllerRouter["eta/eta_data_push/controllers:IndexController"] = append(beego.GlobalControllerRouter["eta/eta_data_push/controllers:IndexController"],
+        beego.ControllerComments{
+            Method: "IndexList",
+            Router: `/list`,
+            AllowHTTPMethods: []string{"post"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
 
 }

+ 10 - 0
routers/router.go

@@ -30,6 +30,16 @@ func init() {
 				&controllers.EdbInfoCalculateController{},
 			),
 		),
+		beego.NSNamespace("/classify",
+			beego.NSInclude(
+				&controllers.ClassifyController{},
+			),
+		),
+		beego.NSNamespace("/contract",
+			beego.NSInclude(
+				&controllers.ContractController{},
+			),
+		),
 	)
 	beego.AddNamespace(ns)
 }

+ 20 - 0
services/classify.go

@@ -0,0 +1,20 @@
+package services
+
+import (
+	"eta/eta_data_push/models"
+	"eta/eta_data_push/utils"
+)
+
+func GetClassifyList(source int) (list interface{}, err error) {
+
+	switch source {
+	case utils.DATA_SOURCE_GFEX:
+		gzObj := new(models.BaseFromTradeGuangzhouClassify)
+		list, err = gzObj.GetBaseFromTradeGuangzhouClassifyAll()
+	case utils.DATA_SOURCE_ICPI:
+		icpiObj := new(models.BaseFromIcpiClassify)
+		list, err = icpiObj.GetBaseFromIcpiClassifyAll()
+	default:
+	}
+	return
+}

+ 16 - 0
services/contract.go

@@ -0,0 +1,16 @@
+package services
+
+import (
+	"eta/eta_data_push/models"
+	"eta/eta_data_push/utils"
+)
+
+func GetContractList(source int) (list interface{}, err error) {
+	gzObj := new(models.BaseFromTradeGuangzhouIndex)
+	switch source {
+	case utils.DATA_SOURCE_GFEX:
+		list, err = gzObj.GetBaseFromTradeGuangzhouContract("")
+	default:
+	}
+	return
+}

+ 34 - 0
services/index.go

@@ -22,6 +22,8 @@ func GetIndexList(source int, startDate, endDate string) (list interface{}, err
 		list, err = models.GetChangesVisitorsCovid(startDate, endDate)
 	case utils.DATA_SOURCE_EIA_STEO:
 		list, err = models.GetEiaSteoIndex(startDate, endDate)
+	case utils.DATA_SOURCE_GIE:
+		list, err = models.GetEicIndex(startDate, endDate)
 	case utils.DATA_SOURCE_COM_TRADE:
 		indexList := make([]*models.ComTradeIndex, 0)
 		mappingList := make([]*models.ComTradeCodeMapping, 0)
@@ -41,6 +43,10 @@ func GetIndexList(source int, startDate, endDate string) (list interface{}, err
 		}
 	case utils.DATA_SOURCE_MEETING_PROBABILITIES:
 		list, err = models.GetMeetingProbabilities(startDate, endDate)
+	case utils.DATA_SOURCE_GFEX:
+		list, err = models.GetBaseFromTradeGuangzhouIndex(startDate, endDate)
+	case utils.DATA_SOURCE_ICPI:
+		list, err = models.GetIcpiIndex(startDate, endDate)
 	default:
 	}
 	return
@@ -54,6 +60,10 @@ func GetIndexDataList(source int, indexCode, startDate, endDate string) (list in
 		list, err = models.GetEdbDataThs(indexCode, startDate, endDate)
 	case utils.DATA_SOURCE_PB, utils.DATA_SOURCE_PB_FINANCE:
 		list, err = models.GetEdbDataPb(indexCode, startDate, endDate)
+	case utils.DATA_SOURCE_GFEX: //广期所
+		list, err = models.GetBaseFromTradeGuangzhouData(indexCode, startDate, endDate)
+	case utils.DATA_SOURCE_ICPI: //ICPI消费指数
+		list, err = models.GetBaseFromIcpiData(indexCode, startDate, endDate)
 	default:
 	}
 	return
@@ -74,6 +84,30 @@ func GetIndexDataPageList(source, currPage, pageSize int, startDate, endDate str
 			List:   dataList,
 			Paging: page,
 		}
+	case utils.DATA_SOURCE_GFEX: //广期所
+		var total int
+		dataList := make([]*models.BaseFromTradeGuangzhouData, 0)
+		total, dataList, err = models.GetBaseFromTradeGuangzhouDataList(startDate, endDate, currPage*pageSize, pageSize)
+		if err != nil {
+			return
+		}
+		page := paging.GetPaging(currPage, pageSize, total)
+		list = models.BaseFromTradeGuangzhouDataResp{
+			List:   dataList,
+			Paging: page,
+		}
+	case utils.DATA_SOURCE_ICPI: //ICPI-消费指数
+		var total int
+		dataList := make([]*models.BaseFromIcpiData, 0)
+		total, dataList, err = models.GetBaseFromIcpiDataList(startDate, endDate, currPage*pageSize, pageSize)
+		if err != nil {
+			return
+		}
+		page := paging.GetPaging(currPage, pageSize, total)
+		list = models.BaseFromIcpiDataResp{
+			List:   dataList,
+			Paging: page,
+		}
 	default:
 	}
 	return

+ 77 - 61
utils/constants.go

@@ -28,65 +28,81 @@ const (
 
 // 数据来源渠道
 const (
-	DATA_SOURCE_THS                         = iota + 1 //同花顺
-	DATA_SOURCE_WIND                                   //wind
-	DATA_SOURCE_PB                                     //彭博
-	DATA_SOURCE_CALCULATE                              //指标运算
-	DATA_SOURCE_CALCULATE_LJZZY                        //累计值转月
-	DATA_SOURCE_CALCULATE_TBZ                          //同比值
-	DATA_SOURCE_CALCULATE_TCZ                          //同差值
-	DATA_SOURCE_CALCULATE_NSZYDPJJS                    //N数值移动平均计算
-	DATA_SOURCE_MANUAL                                 //手工指标
-	DATA_SOURCE_LZ                                     //隆众
-	DATA_SOURCE_YS                                     //有色
-	DATA_SOURCE_CALCULATE_HBZ                          //环比值->12
-	DATA_SOURCE_CALCULATE_HCZ                          //环差值->13
-	DATA_SOURCE_CALCULATE_BP                           //变频->14
-	DATA_SOURCE_GL                                     //钢联->15
-	DATA_SOURCE_ZZ                                     //郑商所->16
-	DATA_SOURCE_DL                                     //大商所->17
-	DATA_SOURCE_SH                                     //上期所->18
-	DATA_SOURCE_CFFEX                                  //中金所->19
-	DATA_SOURCE_SHFE                                   //上期能源->20
-	DATA_SOURCE_GIE                                    //欧洲天然气->21
-	DATA_SOURCE_CALCULATE_TIME_SHIFT                   //时间移位->22
-	DATA_SOURCE_CALCULATE_ZJPJ                         //直接拼接->23
-	DATA_SOURCE_CALCULATE_LJZTBPJ                      //累计值同比拼接->24
-	DATA_SOURCE_LT                                     //路透->25
-	DATA_SOURCE_COAL                                   //煤炭网->26
-	DATA_SOURCE_PYTHON                                 //python代码->27
-	DATA_SOURCE_PB_FINANCE                             //彭博财务数据->28
-	DATA_SOURCE_GOOGLE_TRAVEL                          //谷歌出行数据->29
-	DATA_SOURCE_PREDICT                                //普通预测指标->30
-	DATA_SOURCE_PREDICT_CALCULATE                      //预测指标运算->31
-	DATA_SOURCE_PREDICT_CALCULATE_TBZ                  //预测指标 - 同比值->32
-	DATA_SOURCE_PREDICT_CALCULATE_TCZ                  //预测指标 - 同差值->33
-	DATA_SOURCE_MYSTEEL_CHEMICAL                       //钢联化工->34
-	DATA_SOURCE_CALCULATE_CJJX                         //超季节性->35
-	DATA_SOURCE_EIA_STEO                               //eia steo报告->36
-	DATA_SOURCE_CALCULATE_NHCC                         //计算指标(拟合残差)->37
-	DATA_SOURCE_COM_TRADE                              //联合国商品贸易数据->38
-	DATA_SOURCE_PREDICT_CALCULATE_NSZYDPJJS            //预测指标 - N数值移动平均计算 -> 39
-	DATA_SOURCE_CALCULATE_ADJUST                       //数据调整->40
-	DATA_SOURCE_SCI                                     //卓创数据(红桃三)->41
-	DATA_SOURCE_PREDICT_CALCULATE_LJZZY                 //预测指标 - 累计值转月->42
-	DATA_SOURCE_PREDICT_CALCULATE_HBZ                   //预测指标 - 环比值->43
-	DATA_SOURCE_PREDICT_CALCULATE_HCZ                   //预测指标 - 环差值->44
-	DATA_SOURCE_PREDICT_CALCULATE_BP                    //预测指标 - 变频->45
-	DATA_SOURCE_PREDICT_CALCULATE_TIME_SHIFT            //预测指标 - 时间移位->46
-	DATA_SOURCE_PREDICT_CALCULATE_ZJPJ                  //预测指标 - 直接拼接->47
-	DATA_SOURCE_PREDICT_CALCULATE_LJZTBPJ               //预测指标 - 累计值同比拼接->48
-	DATA_SOURCE_PREDICT_CALCULATE_CJJX                  //预测指标 - 超季节性->49
-	DATA_SOURCE_PREDICT_CALCULATE_NHCC                  //预测指标 - 计算指标(拟合残差)->50
-	DATA_SOURCE_CALCULATE_JP                            //变频->51
-	DATA_SOURCE_CALCULATE_NH                            //年化->52
-	DATA_SOURCE_CALCULATE_KSZS                          //扩散指数->53
-	DATA_SOURCE_PREDICT_CALCULATE_JP                    //预测指标 - 计算指标(降频)->54
-	DATA_SOURCE_PREDICT_CALCULATE_NH                    //预测指标 - 计算指标(年化)->55
-	DATA_SOURCE_PREDICT_CALCULATE_KSZS                  //预测指标 - 计算指标(扩散指数)->56
-	DATA_SOURCE_BAIINFO                                 //百川盈孚 ->57
-	DATA_SOURCE_STOCK_PLANT                             //存量装置 ->58
-	DATA_SOURCE_CALCULATE_CORRELATION                   //相关性计算->59
-	DATA_SOURCE_NATIONAL_STATISTICS                     //国家统计局->60
-	DATA_SOURCE_MEETING_PROBABILITIES                   //美联储加息概率->61
+	DATA_SOURCE_THS                                  = iota + 1 //同花顺
+	DATA_SOURCE_WIND                                            //wind
+	DATA_SOURCE_PB                                              //彭博
+	DATA_SOURCE_CALCULATE                                       //指标运算
+	DATA_SOURCE_CALCULATE_LJZZY                                 //累计值转月
+	DATA_SOURCE_CALCULATE_TBZ                                   //同比值
+	DATA_SOURCE_CALCULATE_TCZ                                   //同差值
+	DATA_SOURCE_CALCULATE_NSZYDPJJS                             //N数值移动平均计算
+	DATA_SOURCE_MANUAL                                          //手工指标
+	DATA_SOURCE_LZ                                              //隆众
+	DATA_SOURCE_YS                                              //有色
+	DATA_SOURCE_CALCULATE_HBZ                                   //环比值->12
+	DATA_SOURCE_CALCULATE_HCZ                                   //环差值->13
+	DATA_SOURCE_CALCULATE_BP                                    //变频->14
+	DATA_SOURCE_GL                                              //钢联->15
+	DATA_SOURCE_ZZ                                              //郑商所->16
+	DATA_SOURCE_DL                                              //大商所->17
+	DATA_SOURCE_SH                                              //上期所->18
+	DATA_SOURCE_CFFEX                                           //中金所->19
+	DATA_SOURCE_SHFE                                            //上期能源->20
+	DATA_SOURCE_GIE                                             //欧洲天然气->21
+	DATA_SOURCE_CALCULATE_TIME_SHIFT                            //时间移位->22
+	DATA_SOURCE_CALCULATE_ZJPJ                                  //直接拼接->23
+	DATA_SOURCE_CALCULATE_LJZTBPJ                               //累计值同比拼接->24
+	DATA_SOURCE_LT                                              //路透->25
+	DATA_SOURCE_COAL                                            //煤炭网->26
+	DATA_SOURCE_PYTHON                                          //python代码->27
+	DATA_SOURCE_PB_FINANCE                                      //彭博财务数据->28
+	DATA_SOURCE_GOOGLE_TRAVEL                                   //谷歌出行数据->29
+	DATA_SOURCE_PREDICT                                         //普通预测指标->30
+	DATA_SOURCE_PREDICT_CALCULATE                               //预测指标运算->31
+	DATA_SOURCE_PREDICT_CALCULATE_TBZ                           //预测指标 - 同比值->32
+	DATA_SOURCE_PREDICT_CALCULATE_TCZ                           //预测指标 - 同差值->33
+	DATA_SOURCE_MYSTEEL_CHEMICAL                                //钢联化工->34
+	DATA_SOURCE_CALCULATE_CJJX                                  //超季节性->35
+	DATA_SOURCE_EIA_STEO                                        //eia steo报告->36
+	DATA_SOURCE_CALCULATE_NHCC                                  //计算指标(拟合残差)->37
+	DATA_SOURCE_COM_TRADE                                       //联合国商品贸易数据->38
+	DATA_SOURCE_PREDICT_CALCULATE_NSZYDPJJS                     //预测指标 - N数值移动平均计算 -> 39
+	DATA_SOURCE_CALCULATE_ADJUST                                //数据调整->40
+	DATA_SOURCE_SCI                                             //卓创数据(红桃三)->41
+	DATA_SOURCE_PREDICT_CALCULATE_LJZZY                         //预测指标 - 累计值转月->42
+	DATA_SOURCE_PREDICT_CALCULATE_HBZ                           //预测指标 - 环比值->43
+	DATA_SOURCE_PREDICT_CALCULATE_HCZ                           //预测指标 - 环差值->44
+	DATA_SOURCE_PREDICT_CALCULATE_BP                            //预测指标 - 变频->45
+	DATA_SOURCE_PREDICT_CALCULATE_TIME_SHIFT                    //预测指标 - 时间移位->46
+	DATA_SOURCE_PREDICT_CALCULATE_ZJPJ                          //预测指标 - 直接拼接->47
+	DATA_SOURCE_PREDICT_CALCULATE_LJZTBPJ                       //预测指标 - 累计值同比拼接->48
+	DATA_SOURCE_PREDICT_CALCULATE_CJJX                          //预测指标 - 超季节性->49
+	DATA_SOURCE_PREDICT_CALCULATE_NHCC                          //预测指标 - 计算指标(拟合残差)->50
+	DATA_SOURCE_CALCULATE_JP                                    //变频->51
+	DATA_SOURCE_CALCULATE_NH                                    //年化->52
+	DATA_SOURCE_CALCULATE_KSZS                                  //扩散指数->53
+	DATA_SOURCE_PREDICT_CALCULATE_JP                            //预测指标 - 计算指标(降频)->54
+	DATA_SOURCE_PREDICT_CALCULATE_NH                            //预测指标 - 计算指标(年化)->55
+	DATA_SOURCE_PREDICT_CALCULATE_KSZS                          //预测指标 - 计算指标(扩散指数)->56
+	DATA_SOURCE_BAIINFO                                         //百川盈孚 ->57
+	DATA_SOURCE_STOCK_PLANT                                     //存量装置 ->58
+	DATA_SOURCE_CALCULATE_CORRELATION                           //相关性计算->59
+	DATA_SOURCE_NATIONAL_STATISTICS                             //国家统计局->60
+	DATA_SOURCE_MEETING_PROBABILITIES                           //美联储加息概率->61
+	DATA_SOURCE_CALCULATE_LJZ                                   //累计值 -> 62
+	DATA_SOURCE_CALCULATE_LJZNCZJ                               //累计值(年初至今) -> 63
+	DATA_SOURCE_PREDICT_CALCULATE_LJZZJ                         //预测指标 - 累计值转季->64
+	DATA_SOURCE_PREDICT_CALCULATE_LJZ                           //预测指标 - 累计值 -> 65
+	DATA_SOURCE_PREDICT_CALCULATE_LJZNCZJ                       //预测指标 - 累计值(年初至今) -> 66
+	DATA_SOURCE_CALCULATE_STANDARD_DEVIATION                    //标准差->67
+	DATA_SOURCE_CALCULATE_PERCENTILE                            //百分位图表->68
+	DATA_SOURCE_PREDICT_CALCULATE_STANDARD_DEVIATION            //预测标准差->69
+	DATA_SOURCE_PREDICT_CALCULATE_PERCENTILE                    //预测百分位->70
+	DATA_SOURCE_FUBAO                                           //富宝->71
+	DATA_SOURCE_CALCULATE_ZSXY                                  // 指数修匀->72
+	DATA_SOURCE_PREDICT_CALCULATE_ZSXY                          // 预测指数修匀->73
+	DATA_SOURCE_CALCULATE_ZDYFX                                 // 自定义分析->74
+	DATA_SOURCE_CALCULATE_RJZ                                   // 日均值计算->75
+	DATA_SOURCE_GFEX                                 = 78       // 广州期货交易所->78
+	DATA_SOURCE_ICPI                                 = 79       // ICPI消费价格指数->79
 )