Roc 1 lună în urmă
părinte
comite
dcd3b0f694

+ 5 - 7
controllers/data_manage/gpr_risk_data.go

@@ -152,7 +152,7 @@ func (this *BaseFromGprRiskController) GprRiskIndexData() {
 		edbCodeList = append(edbCodeList, v.IndexCode)
 	}
 	edbInfoMap := make(map[string]*data_manage.EdbInfo)
-	dataMap := make(map[string][]*data_manage.BaseFromGprRiskData)
+	dataMap := make(map[string][]*data_manage.BaseFromGprRiskDataItem)
 	total := 0
 	if len(edbCodeList) > 0 {
 		edbInfoList, err := data_manage.GetEdbInfoByEdbCodeList(utils.DATA_SOURCE_GPR_RISK, edbCodeList)
@@ -173,11 +173,9 @@ func (this *BaseFromGprRiskController) GprRiskIndexData() {
 		}
 		if len(dataTimes) > 0 {
 			startDate := dataTimes[len(dataTimes)-1]
-			endDate := dataTimes[0]
 			// 把截止日往后加1天
-			endDateT, _ := time.ParseInLocation(utils.FormatDate, endDate, time.Local)
-			endDate = endDateT.AddDate(0, 0, 1).Format(utils.FormatDate)
-			dataList, e := data_manage.GetGprRiskIndexDataByDataTime(edbCodeList, startDate, endDate)
+			endDate := dataTimes[0].AddDate(0, 0, 1)
+			dataList, e := data_manage.GetGprRiskIndexDataByDataTime(edbCodeList, startDate.Format(utils.FormatDateUnSpace), endDate.Format(utils.FormatDateUnSpace))
 			if e != nil {
 				br.Msg = "获取数据失败"
 				br.ErrMsg = "获取指标数据失败,Err:" + e.Error()
@@ -217,7 +215,7 @@ func (this *BaseFromGprRiskController) GprRiskIndexData() {
 
 		dataListTmp, ok := dataMap[v.IndexCode]
 		if !ok {
-			dataListTmp = make([]*data_manage.BaseFromGprRiskData, 0)
+			dataListTmp = make([]*data_manage.BaseFromGprRiskDataItem, 0)
 		}
 		product.DataList = dataListTmp
 		product.Paging = page
@@ -379,7 +377,7 @@ func (this *BaseFromGprRiskController) GprRiskSingleData() {
 	for _, v := range dataTmpList {
 		tmp := &data_manage.GprRiskSingleData{
 			Value:    v.Value,
-			DataTime: v.DataTime.Format(utils.FormatDateTime),
+			DataTime: v.DataTime,
 		}
 		dataList = append(dataList, tmp)
 	}

+ 50 - 7
models/data_manage/base_from_gpr_risk.go

@@ -2,6 +2,7 @@ package data_manage
 
 import (
 	"eta/eta_api/utils"
+	"fmt"
 	"time"
 
 	"github.com/beego/beego/v2/client/orm"
@@ -65,7 +66,7 @@ type BaseFromGprRiskIndexList struct {
 	CreateTime             string
 	ModifyTime             string
 	EdbExist               int `description:"指标库是否已添加:0-否;1-是"`
-	DataList               []*BaseFromGprRiskData
+	DataList               []*BaseFromGprRiskDataItem
 	Paging                 *paging.PagingItem `description:"分页数据"`
 }
 type BaseFromGprRiskIndexSearchList struct {
@@ -157,14 +158,23 @@ func GetGprRiskIndexDataCount(indexCode string) (count int, err error) {
 	return
 }
 
-func GetGprRiskIndexDataByDataTime(indexCodes []string, startDate, endDate string) (items []*BaseFromGprRiskData, err error) {
+func GetGprRiskIndexDataByDataTime(indexCodes []string, startDate, endDate string) (items []*BaseFromGprRiskDataItem, err error) {
+	var ormList []*BaseFromGprRiskData
+	items = make([]*BaseFromGprRiskDataItem, 0)
 	o := orm.NewOrmUsingDB("data")
 	sql := ` SELECT *  FROM base_from_gpr_risk_data WHERE  index_code in (` + utils.GetOrmInReplace(len(indexCodes)) + `) and data_time >=? and data_time <? ORDER BY data_time DESC `
-	_, err = o.Raw(sql, indexCodes, startDate, endDate).QueryRows(&items)
+	_, err = o.Raw(sql, indexCodes, startDate, endDate).QueryRows(&ormList)
+	if err != nil {
+		return
+	}
+	for _, ormItem := range ormList {
+		items = append(items, ormItem.ToItem())
+	}
+
 	return
 }
 
-func GetGprRiskIndexDataTimePageByCodes(indexCodes []string, startSize, pageSize int) (dataTimes []string, err error) {
+func GetGprRiskIndexDataTimePageByCodes(indexCodes []string, startSize, pageSize int) (dataTimes []time.Time, err error) {
 	o := orm.NewOrmUsingDB("data")
 	sql := ` SELECT data_time FROM base_from_gpr_risk_data WHERE index_code in (` + utils.GetOrmInReplace(len(indexCodes)) + `) GROUP BY data_time ORDER BY data_time DESC LIMIT ?,? `
 	_, err = o.Raw(sql, indexCodes, startSize, pageSize).QueryRows(&dataTimes)
@@ -229,12 +239,36 @@ type BaseFromGprRiskData struct {
 	BaseFromGprRiskIndexId int
 	IndexCode              string
 	DataTime               time.Time
-	Value                  string
+	Value                  float64
 	CreateTime             time.Time
 	ModifyTime             time.Time
 	DataTimestamp          int64
 }
 
+func (m *BaseFromGprRiskData) ToItem() (item *BaseFromGprRiskDataItem) {
+	return &BaseFromGprRiskDataItem{
+		BaseFromGprRiskDataId:  m.BaseFromGprRiskDataId,
+		BaseFromGprRiskIndexId: m.BaseFromGprRiskIndexId,
+		IndexCode:              m.IndexCode,
+		DataTime:               m.DataTime.Format(utils.FormatDate),
+		Value:                  fmt.Sprint(m.Value),
+		CreateTime:             m.CreateTime.Format(utils.FormatDateTime),
+		ModifyTime:             m.ModifyTime.Format(utils.FormatDateTime),
+		DataTimestamp:          m.DataTimestamp,
+	}
+}
+
+type BaseFromGprRiskDataItem struct {
+	BaseFromGprRiskDataId  int `orm:"column(base_from_gpr_risk_data_id);pk"`
+	BaseFromGprRiskIndexId int
+	IndexCode              string
+	DataTime               string
+	Value                  string
+	CreateTime             string
+	ModifyTime             string
+	DataTimestamp          int64
+}
+
 type BaseFromGprRiskIndexSearchItem struct {
 	BaseFromGprRiskIndexId int `orm:"column(base_from_gpr_risk_index_id);pk"`
 	ClassifyId             int
@@ -264,10 +298,19 @@ func GetGprRiskItemList(condition string) (items []*BaseFromGprRiskIndexSearchIt
 	return
 }
 
-func GetGprRiskIndexDataByCode(indexCode string, pageIndex, pageSize int) (list []*BaseFromGprRiskData, err error) {
+func GetGprRiskIndexDataByCode(indexCode string, pageIndex, pageSize int) (items []*BaseFromGprRiskDataItem, err error) {
+	var ormList []*BaseFromGprRiskData
+	items = make([]*BaseFromGprRiskDataItem, 0)
 	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT * FROM base_from_gpr_risk_data WHERE index_code=? order by data_time desc limit ?,?`
-	_, err = o.Raw(sql, indexCode, pageIndex, pageSize).QueryRows(&list)
+	_, err = o.Raw(sql, indexCode, pageIndex, pageSize).QueryRows(&ormList)
+	if err != nil {
+		return
+	}
+	for _, ormItem := range ormList {
+		items = append(items, ormItem.ToItem())
+	}
+
 	return
 }