浏览代码

Merge remote-tracking branch 'origin/master' into debug

Roc 1 月之前
父节点
当前提交
b1fdc62f95
共有 5 个文件被更改,包括 41 次插入22 次删除
  1. 10 10
      controllers/commodity_coal.go
  2. 18 4
      models/base_from_coalmine.go
  3. 7 3
      models/base_from_manual.go
  4. 3 2
      models/edb_info.go
  5. 3 3
      models/predict_edb_conf.go

+ 10 - 10
controllers/commodity_coal.go

@@ -231,7 +231,7 @@ func (this *CoalMineDataController) JsmHistory() {
 			for _, v := range indexItems {
 				indexCode := v.IndexCode
 				var dateItem *models.EdbInfoMaxAndMinInfo
-				dateItem, err = obj.GetMaxAndMinDateByIndexCode(indexCode)
+				dateItem, err = obj.GetMaxAndMinDateByIndexCode(indexCode, models.CoalmineJsmIndexName)
 				if err != nil {
 					err = fmt.Errorf("查询指标最新日期失败 Err:%s", err)
 					return
@@ -474,7 +474,7 @@ func (this *CoalMineDataController) CoastalHistory() {
 			for _, v := range indexItems {
 				indexCode := v.IndexCode
 				var dateItem *models.EdbInfoMaxAndMinInfo
-				dateItem, err = obj.GetMaxAndMinDateByIndexCode(indexCode)
+				dateItem, err = obj.GetMaxAndMinDateByIndexCode(indexCode, models.CoalmineCoastalIndexName)
 				if err != nil {
 					err = fmt.Errorf("查询指标最新日期失败 Err:%s", err)
 					return
@@ -696,7 +696,7 @@ func (this *CoalMineDataController) InlandHistory() {
 			for _, v := range indexItems {
 				indexCode := v.IndexCode
 				var dateItem *models.EdbInfoMaxAndMinInfo
-				dateItem, err = obj.GetMaxAndMinDateByIndexCode(indexCode)
+				dateItem, err = obj.GetMaxAndMinDateByIndexCode(indexCode, models.CoalmineInlandIndexName)
 				if err != nil {
 					err = fmt.Errorf("查询指标最新日期失败 Err:%s", err)
 					return
@@ -1062,7 +1062,7 @@ func (this *CoalMineDataController) Jsm() {
 			for _, v := range items {
 				indexCode := v.IndexCode
 				var dateItem *models.EdbInfoMaxAndMinInfo
-				dateItem, err = obj.GetMaxAndMinDateByIndexCode(indexCode)
+				dateItem, err = obj.GetMaxAndMinDateByIndexCode(indexCode, models.CoalmineJsmIndexName)
 				if err != nil {
 					err = fmt.Errorf("查询指标最新日期失败 Err:%s", err)
 					return
@@ -1073,7 +1073,7 @@ func (this *CoalMineDataController) Jsm() {
 			for _, v := range itemsIndex {
 				indexCode := v.IndexCode
 				var dateItem *models.EdbInfoMaxAndMinInfo
-				dateItem, err = obj.GetMaxAndMinDateByIndexCode(indexCode)
+				dateItem, err = obj.GetMaxAndMinDateByIndexCode(indexCode, models.CoalmineJsmIndexName)
 				if err != nil {
 					err = fmt.Errorf("查询指标最新日期失败 Err:%s", err)
 					return
@@ -1084,7 +1084,7 @@ func (this *CoalMineDataController) Jsm() {
 			for _, v := range itemsCompany {
 				indexCode := v.IndexCode
 				var dateItem *models.EdbInfoMaxAndMinInfo
-				dateItem, err = obj.GetMaxAndMinDateByIndexCode(indexCode)
+				dateItem, err = obj.GetMaxAndMinDateByIndexCode(indexCode, models.CoalmineCompanyIndexName)
 				if err != nil {
 					err = fmt.Errorf("查询指标最新日期失败 Err:%s", err)
 					return
@@ -1094,7 +1094,7 @@ func (this *CoalMineDataController) Jsm() {
 			for _, v := range itemsCompanyIndex {
 				indexCode := v.IndexCode
 				var dateItem *models.EdbInfoMaxAndMinInfo
-				dateItem, err = obj.GetMaxAndMinDateByIndexCode(indexCode)
+				dateItem, err = obj.GetMaxAndMinDateByIndexCode(indexCode, models.CoalmineCompanyIndexName)
 				if err != nil {
 					err = fmt.Errorf("查询指标最新日期失败 Err:%s", err)
 					return
@@ -1321,7 +1321,7 @@ func (this *CoalMineDataController) Coastal() {
 			for _, v := range indexItems {
 				indexCode := v.IndexCode
 				var dateItem *models.EdbInfoMaxAndMinInfo
-				dateItem, err = obj.GetMaxAndMinDateByIndexCode(indexCode)
+				dateItem, err = obj.GetMaxAndMinDateByIndexCode(indexCode, models.CoalmineCoastalIndexName)
 				if err != nil {
 					err = fmt.Errorf("查询指标最新日期失败 Err:%s", err)
 					return
@@ -1550,7 +1550,7 @@ func (this *CoalMineDataController) Inland() {
 			for _, v := range indexItems {
 				indexCode := v.IndexCode
 				var dateItem *models.EdbInfoMaxAndMinInfo
-				dateItem, err = obj.GetMaxAndMinDateByIndexCode(indexCode)
+				dateItem, err = obj.GetMaxAndMinDateByIndexCode(indexCode, models.CoalmineInlandIndexName)
 				if err != nil {
 					err = fmt.Errorf("查询指标最新日期失败 Err:%s", err)
 					return
@@ -1801,7 +1801,7 @@ func (this *CoalMineDataController) Firm() {
 			for _, v := range indexItems {
 				indexCode := v.IndexCode
 				var dateItem *models.EdbInfoMaxAndMinInfo
-				dateItem, err = obj.GetMaxAndMinDateByIndexCode(indexCode)
+				dateItem, err = obj.GetMaxAndMinDateByIndexCode(indexCode, models.CoalmineFirmIndexName)
 				if err != nil {
 					err = fmt.Errorf("查询指标最新日期失败 Err:%s", err)
 					return

+ 18 - 4
models/base_from_coalmine.go

@@ -4,10 +4,19 @@ import (
 	sql2 "database/sql"
 	"eta/eta_index_lib/global"
 	"eta/eta_index_lib/utils"
+	"fmt"
 	"gorm.io/gorm"
 	"time"
 )
 
+const (
+	CoalmineJsmIndexName     = `base_from_coalmine_jsm_index`
+	CoalmineCompanyIndexName = `base_from_coalmine_company_index`
+	CoalmineInlandIndexName  = `base_from_coalmine_inland_index`
+	CoalmineFirmIndexName    = `base_from_coalmine_firm_index`
+	CoalmineCoastalIndexName = `base_from_coalmine_coastal_index`
+)
+
 type BaseFromCoalmineMapping struct {
 	BaseFromCoalmineMappingId int `gorm:"column:base_from_coalmine_mapping_id;primaryKey"`
 	//BaseFromCoalmineMappingId int       `orm:"column(base_from_coalmine_mapping_id);pk"`
@@ -137,9 +146,13 @@ func UpdateBaseFromCoalmineCompanyIndex(item *BaseFromCoalmineCompanyIndex) (err
 	return
 }
 
-func (m *BaseFromCoalmineMapping) GetMaxAndMinDateByIndexCode(indexCode string) (item *EdbInfoMaxAndMinInfo, err error) {
+func (m *BaseFromCoalmineMapping) GetMaxAndMinDateByIndexCode(indexCode, tableName string) (item *EdbInfoMaxAndMinInfo, err error) {
+	if tableName == `` {
+		return
+	}
 	//o := orm.NewOrm()
-	sql := ` SELECT MIN(data_time) AS min_date,MAX(data_time) AS max_date,MIN(value) AS min_value,MAX(value) AS max_value FROM base_from_sci99_data WHERE index_code=? `
+	sql := ` SELECT MIN(data_time) AS min_date,MAX(data_time) AS max_date,MIN(deal_value) AS min_value,MAX(deal_value) AS max_value FROM %s WHERE index_code=? `
+	sql = fmt.Sprintf(sql, tableName)
 	err = global.DEFAULT_DB.Raw(sql, indexCode).First(&item).Error
 	//err = o.Raw(sql, indexCode).QueryRow(&item)
 	if err != nil {
@@ -147,7 +160,8 @@ func (m *BaseFromCoalmineMapping) GetMaxAndMinDateByIndexCode(indexCode string)
 	}
 
 	// 获取最新值
-	sql = ` SELECT value AS latest_value FROM base_from_sci99_data WHERE index_code=? ORDER BY data_time DESC LIMIT 1 `
+	sql = ` SELECT value AS latest_value FROM %s WHERE index_code=? ORDER BY data_time DESC LIMIT 1 `
+	sql = fmt.Sprintf(sql, tableName)
 	//err = o.Raw(sql, indexCode).QueryRow(&latest_value)
 	var latestValueNull sql2.NullFloat64
 	err = global.DEFAULT_DB.Raw(sql, indexCode).Scan(&latestValueNull).Error
@@ -160,7 +174,7 @@ func (m *BaseFromCoalmineMapping) GetMaxAndMinDateByIndexCode(indexCode string)
 
 func (m *BaseFromCoalmineMapping) ModifyIndexMaxAndMinDate(indexCode string, item *EdbInfoMaxAndMinInfo) (err error) {
 	//o := orm.NewOrm()
-	sql := ` UPDATE base_from_sci99_index SET start_date=?,end_date=?,latest_value=?,modify_time=NOW() WHERE index_code=? `
+	sql := ` UPDATE base_from_coalmine_mapping SET start_date=?,end_date=?,latest_value=?,modify_time=NOW() WHERE index_code=? `
 	err = global.DEFAULT_DB.Exec(sql, item.MinDate, item.MaxDate, item.LatestValue, indexCode).Error
 	//_, err = o.Raw(sql, item.MinDate, item.MaxDate, item.LatestValue, indexCode).Exec()
 	return

+ 7 - 3
models/base_from_manual.go

@@ -117,10 +117,11 @@ func RefreshEdbDataFromManual(edbInfoId int, edbCode, startDate string) (err err
 	if startDate != "" {
 		condition += " AND DT>=? "
 		pars = append(pars, startDate)
-	} else {
-		condition += " AND DT != ? "
-		pars = append(pars, `0000-00-00`)
 	}
+	//else {
+	//	condition += " AND DT != ? "
+	//	pars = append(pars, `0000-00-00`)
+	//}
 
 	manualDataList, err := GetEdbdataManualByCondition(condition, pars)
 	if err != nil {
@@ -168,6 +169,9 @@ func RefreshEdbDataFromManual(edbInfoId int, edbCode, startDate string) (err err
 	manualMap := make(map[string]*ManualEdbdata)
 	//fmt.Println("manualDataList:", len(manualDataList))
 	for _, v := range manualDataList {
+		if v.Dt == `` || v.Dt == `0000-00-00` {
+			continue
+		}
 		item := v
 		eDate := item.Dt
 		sValue := item.Close

+ 3 - 2
models/edb_info.go

@@ -543,8 +543,9 @@ type EdbInfoMaxAndMinInfo struct {
 
 // AfterFind 在该模型上设置钩子函数,把日期转成正确的string,所以查询函数只能用Find函数,First或者Scan是不会触发该函数的来获取数据
 func (m *EdbInfoMaxAndMinInfo) AfterFind(db *gorm.DB) (err error) {
-	m.MinDate = utils.GormDateStrToDateStr(m.MinDate)
-	m.MaxDate = utils.GormDateStrToDateStr(m.MaxDate)
+	m.MinDate = utils.GormDateStrToDateTimeStr(m.MinDate)
+	m.MaxDate = utils.GormDateStrToDateTimeStr(m.MaxDate)
+	m.LatestDate = utils.GormDateStrToDateStr(m.LatestDate)
 
 	return
 }

+ 3 - 3
models/predict_edb_conf.go

@@ -30,7 +30,7 @@ type RuleConfig struct {
 	MaxEmptyType int              `description:"MAX、MIN公式空值处理类型(1、等于0;2、跳过空值)"`
 	EndDate      string           `description:"截止日期"`
 	EndNum       int              `description:"截止期数"`
-	EdbInfoIdArr []EdbInfoFromTag `description:"指标信息" gorm:"-"`
+	EdbInfoIdArr []EdbInfoFromTag `gorm:"-" description:"指标信息"`
 }
 
 // AfterFind 在该模型上设置钩子函数,把日期转成正确的string,所以查询函数只能用Find函数,First或者Scan是不会触发该函数的来获取数据
@@ -45,7 +45,7 @@ type EditPredictEdbInfoReq struct {
 	EdbInfoId  int          `description:"指标ID"`
 	ClassifyId int          `description:"分类id"`
 	EdbName    string       `description:"指标名称"`
-	RuleList   []RuleConfig `description:"配置规则列表"`
+	RuleList   []RuleConfig `gorm:"-" description:"配置规则列表"`
 }
 
 type PredictEdbConf struct {
@@ -77,7 +77,7 @@ type PredictEdbConfAndData struct {
 	EndNum           int                  `description:"截止期数"`
 	ModifyTime       time.Time            `description:"修改时间"`
 	CreateTime       time.Time            `description:"添加时间"`
-	DataList         []*EdbInfoSearchData `description:"动态数据"`
+	DataList         []*EdbInfoSearchData `gorm:"-" description:"动态数据"`
 }
 
 // GetPredictEdbConfById 根据预测指标id获取预测指标配置信息