Procházet zdrojové kódy

抛出日期格式错误异常

xyxie před 3 měsíci
rodič
revize
5b012076fd

+ 15 - 3
models/edb_data_calculate_qjjs.go

@@ -359,7 +359,11 @@ func (obj CalculateRangeAnalysis) refresh(to *gorm.DB, edbInfoId, source, subSou
 
 // GetAutoCalculateDateDataList 获取当前时间相关的区间作为计算依据
 func GetAutoCalculateDateDataList(currentDate string, dataList []*EdbInfoSearchData, req RangeAnalysisCalculateFormula) (newDataList []*EdbInfoSearchData, err error) {
-	currentDateTime, _ := time.ParseInLocation(utils.FormatDate, currentDate, time.Local)
+	currentDateTime, err := time.ParseInLocation(utils.FormatDate, currentDate, time.Local)
+	if err != nil {
+		err = fmt.Errorf("获取当前时间失败:%s", err.Error())
+		return
+	}
 	switch req.DateRangeType {
 	case 0:
 		// 智能划分得到一个开始日期,和结束日期
@@ -714,8 +718,16 @@ func HandleRangeAnalysisDataByCalculateType(originList []*ChartRangeAnalysisDate
 // GetRangeAnalysisChartDataByEdbInfo 区间计算
 func GetRangeAnalysisChartDataByEdbInfo(fromEdbInfo *EdbInfo, calculateFormula RangeAnalysisCalculateFormula) (newDataList []*EdbInfoSearchData, err error) {
 	// 指标的开始日期和结束日期
-	edbStartDateTime, _ := time.ParseInLocation(utils.FormatDate, fromEdbInfo.StartDate, time.Local)
-	edbEndDateTime, _ := time.ParseInLocation(utils.FormatDate, fromEdbInfo.EndDate, time.Local)
+	edbStartDateTime, err := time.ParseInLocation(utils.FormatDate, fromEdbInfo.StartDate, time.Local)
+	if err != nil {
+		err = fmt.Errorf("指标开始日期解析失败:%s", err.Error())
+		return
+	}
+	edbEndDateTime, err := time.ParseInLocation(utils.FormatDate, fromEdbInfo.EndDate, time.Local)
+	if err != nil {
+		err = fmt.Errorf("指标结束日期解析失败:%s", err.Error())
+		return
+	}
 	edbEndDate := edbEndDateTime.Format(utils.FormatDate)
 
 	// 获取时间基准指标在时间区间内的值

+ 4 - 0
models/edb_info.go

@@ -277,6 +277,10 @@ func GetEdbInfoByIdList(edbInfoIdList []int) (items []*EdbInfo, err error) {
 
 	sql := ` SELECT * FROM edb_info WHERE edb_info_id in (` + utils.GetOrmInReplace(num) + `) `
 	err = global.DEFAULT_DmSQL.Raw(sql, edbInfoIdList).Scan(&items).Error
+	// 日期格式转换
+	for _, v := range items {
+		v.ConvertDate()
+	}
 	return
 }
 

+ 9 - 9
models/factor_edb_series_calculate_data_qjjs.go

@@ -10,15 +10,15 @@ import (
 
 // FactorEdbSeriesCalculateDataQjjs 因子指标系列-区间计算数据表
 type FactorEdbSeriesCalculateDataQjjs struct {
-	FactorEdbSeriesCalculateDataId int       `gorm:"primaryKey;autoIncrement;column:factor_edb_series_calculate_data_id_qjjs" description:"因子指标系列区间计算数据ID"`
-	FactorEdbSeriesId              int       `gorm:"column:factor_edb_series_id_qjjs" description:"因子指标系列ID"`
-	EdbInfoId                      int       `gorm:"column:edb_info_id_qjjs" description:"指标ID"`
-	EdbCode                        string    `gorm:"column:edb_code_qjjs" description:"指标编码"`
-	DataTime                       time.Time `gorm:"column:data_time_qjjs" description:"数据日期"`
-	Value                          float64   `gorm:"column:value_qjjs" description:"数据值"`
-	CreateTime                     time.Time `gorm:"column:create_time_qjjs" description:"创建时间"`
-	ModifyTime                     time.Time `gorm:"column:modify_time_qjjs" description:"修改时间"`
-	DataTimestamp                  int64     `gorm:"column:data_timestamp_qjjs" description:"数据日期时间戳"`
+	FactorEdbSeriesCalculateDataId int       `gorm:"primaryKey;autoIncrement;column:factor_edb_series_calculate_data_id" description:"因子指标系列区间计算数据ID"`
+	FactorEdbSeriesId              int       `gorm:"column:factor_edb_series_id" description:"因子指标系列ID"`
+	EdbInfoId                      int       `gorm:"column:edb_info_id" description:"指标ID"`
+	EdbCode                        string    `gorm:"column:edb_code" description:"指标编码"`
+	DataTime                       time.Time `gorm:"column:data_time" description:"数据日期"`
+	Value                          float64   `gorm:"column:value" description:"数据值"`
+	CreateTime                     time.Time `gorm:"column:create_time" description:"创建时间"`
+	ModifyTime                     time.Time `gorm:"column:modify_time" description:"修改时间"`
+	DataTimestamp                  int64     `gorm:"column:data_timestamp" description:"数据日期时间戳"`
 }
 
 func (m *FactorEdbSeriesCalculateDataQjjs) TableName() string {

+ 5 - 1
services/factor_edb_series.go

@@ -142,7 +142,11 @@ func RangeAnalysisChartCalculate(seriesId, chartInfoId int, seriesMappingItem *m
 				return
 			}
 			for _, dataItem := range dataList {
-				dataTime, _ := time.ParseInLocation(utils.FormatDate, dataItem.DataTime, time.Local)
+				dataTime, er := time.ParseInLocation(utils.FormatDate, dataItem.DataTime, time.Local)
+				if er != nil {
+					err = fmt.Errorf("解析计算结果日期失败, err: %v", er)
+					return
+				}
 				dataArr = append(dataArr, &models.FactorEdbSeriesCalculateDataQjjs{
 					FactorEdbSeriesId: seriesId,
 					EdbInfoId:         fromEdbInfo.EdbInfoId,