Roc 2 weeks ago
parent
commit
e579fb5302
2 changed files with 28 additions and 14 deletions
  1. 10 10
      controllers/commodity_coal.go
  2. 18 4
      models/base_from_coalmine.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