zwxi 1 year ago
parent
commit
960a840fe2
2 changed files with 149 additions and 120 deletions
  1. 111 95
      controllers/commodity_trade_base_index.go
  2. 38 25
      models/data_manage/base_from_trade_index.go

+ 111 - 95
controllers/commodity_trade_base_index.go

@@ -1196,117 +1196,133 @@ func (this *TradeCommonController) CoalMineClassify() {
 		this.Data["json"] = br
 		this.ServeJSON()
 	}()
-	var coalList []data_manage.BaseFromCoalmineClassify
+	var coalList []data_manage.BaseFromCoalmineClassifyItem
 	var suffix string
-	var coal data_manage.BaseFromCoalmineClassify
+	var coal data_manage.BaseFromCoalmineClassifyItem
+	groups := []*string{}
 	var childs []data_manage.CoalChild
 	var child data_manage.CoalChild
-	suffix = "jsm_index"
-	groups, err := data_manage.GetProvinceFromCoalmineIndex(suffix)
-	if err != nil {
+
+	list, err := data_manage.GetCoalmineClassifyList()
+	if err!= nil {
 		br.Msg = "获取煤炭分类数据失败"
 		br.ErrMsg = "获取煤炭度分类数据失败,Err: " + err.Error()
 		return
 	}
-	coal.ClassifyId = 1
-	coal.ClassifyName = "晋陕蒙三省煤矿产量周度数据"
-	jsmId := 100
-	for _, group := range groups {
-		jsmId++
-		child.ClassifyId = jsmId
-		child.ClassifyName = *group
-		childs = append(childs, child)
-	}
+	for _, v := range list {
+		if v.Suffix == "jsm_index" {
+			groups, err = data_manage.GetProvinceFromCoalmineIndex(suffix)
+			if err != nil {
+				br.Msg = "获取煤炭分类数据失败"
+				br.ErrMsg = "获取煤炭度分类数据失败,Err: " + err.Error()
+				return
+			}
+			coal.ClassifyId = 1
+			coal.ClassifyName = "晋陕蒙三省煤矿产量周度数据"
+			jsmId := 100
+			for _, group := range groups {
+				jsmId++
+				child.ClassifyId = jsmId
+				child.ClassifyName = *group
+				childs = append(childs, child)
+			}
 
-	coal.Child = childs
-	coalList = append(coalList, coal)
+			coal.Child = childs
+			coalList = append(coalList, coal)
+		}
 
-	suffix = "company_index"
-	groups = []*string{}
-	childs = []data_manage.CoalChild{}
-	groups, err = data_manage.GetGroupNameFromCoalmineIndex(suffix)
-	if err != nil {
-		br.Msg = "获取煤炭分类数据失败"
-		br.ErrMsg = "获取煤炭度分类数据失败,Err: " + err.Error()
-		return
-	}
-	coal.ClassifyId = 2
-	coal.ClassifyName = "442家晋陕蒙煤矿周度产量"
-	companyId := 200
-	for _, group := range groups {
-		companyId++
-		child.ClassifyId = companyId
-		child.ClassifyName = *group
-		childs = append(childs, child)
-	}
-	coal.Child = childs
-	coalList = append(coalList, coal)
+		if v.Suffix == "company_index" {
+			groups = []*string{}
+			childs = []data_manage.CoalChild{}
+			groups, err = data_manage.GetGroupNameFromCoalmineIndex(suffix)
+			if err != nil {
+				br.Msg = "获取煤炭分类数据失败"
+				br.ErrMsg = "获取煤炭度分类数据失败,Err: " + err.Error()
+				return
+			}
+			coal.ClassifyId = 2
+			coal.ClassifyName = "442家晋陕蒙煤矿周度产量"
+			companyId := 200
+			for _, group := range groups {
+				companyId++
+				child.ClassifyId = companyId
+				child.ClassifyName = *group
+				childs = append(childs, child)
+			}
+			coal.Child = childs
+			coalList = append(coalList, coal)
+		}
 
-	suffix = "firm_index"
-	groups = []*string{}
-	childs = []data_manage.CoalChild{}
-	groups, err = data_manage.GetGroupNameFromCoalmineIndex(suffix)
-	if err != nil {
-		br.Msg = "获取煤炭分类数据失败"
-		br.ErrMsg = "获取煤炭度分类数据失败,Err: " + err.Error()
-		return
-	}
-	coal.ClassifyId = 3
-	coal.ClassifyName = "全国分企业煤炭产量旬度数据"
-	firmId := 300
-	for _, group := range groups {
-		firmId++
-		child.ClassifyId = firmId
-		child.ClassifyName = *group
-		childs = append(childs, child)
+		if v.Suffix == "firm_index" {
+			groups = []*string{}
+			childs = []data_manage.CoalChild{}
+			groups, err = data_manage.GetGroupNameFromCoalmineIndex(suffix)
+			if err != nil {
+				br.Msg = "获取煤炭分类数据失败"
+				br.ErrMsg = "获取煤炭度分类数据失败,Err: " + err.Error()
+				return
+			}
+			coal.ClassifyId = 3
+			coal.ClassifyName = "全国分企业煤炭产量旬度数据"
+			firmId := 300
+			for _, group := range groups {
+				firmId++
+				child.ClassifyId = firmId
+				child.ClassifyName = *group
+				childs = append(childs, child)
 
-	}
-	coal.Child = childs
-	coalList = append(coalList, coal)
+			}
+			coal.Child = childs
+			coalList = append(coalList, coal)
+		}
 
-	suffix = "coastal_index"
-	groups = []*string{}
-	childs = []data_manage.CoalChild{}
-	groups, err = data_manage.GetGroupNameFromCoalmineIndex(suffix)
-	if err != nil {
-		br.Msg = "获取煤炭分类数据失败"
-		br.ErrMsg = "获取煤炭度分类数据失败,Err: " + err.Error()
-		return
-	}
-	coal.ClassifyId = 4
-	coal.ClassifyName = "沿海八省动力煤终端用户供耗存"
-	coastalId := 400
-	for _, group := range groups {
-		coastalId++
-		child.ClassifyId = coastalId
-		child.ClassifyName = *group
-		childs = append(childs, child)
+		if v.Suffix == "coastal_index" {
+			groups = []*string{}
+			childs = []data_manage.CoalChild{}
+			groups, err = data_manage.GetGroupNameFromCoalmineIndex(suffix)
+			if err != nil {
+				br.Msg = "获取煤炭分类数据失败"
+				br.ErrMsg = "获取煤炭度分类数据失败,Err: " + err.Error()
+				return
+			}
+			coal.ClassifyId = 4
+			coal.ClassifyName = "沿海八省动力煤终端用户供耗存"
+			coastalId := 400
+			for _, group := range groups {
+				coastalId++
+				child.ClassifyId = coastalId
+				child.ClassifyName = *group
+				childs = append(childs, child)
 
-	}
-	coal.Child = childs
-	coalList = append(coalList, coal)
+			}
+			coal.Child = childs
+			coalList = append(coalList, coal)
+		}
 
-	suffix = "inland_index"
-	groups = []*string{}
-	childs = []data_manage.CoalChild{}
-	groups, err = data_manage.GetGroupNameFromCoalmineIndex(suffix)
-	if err != nil {
-		br.Msg = "获取煤炭分类数据失败"
-		br.ErrMsg = "获取煤炭度分类数据失败,Err: " + err.Error()
-		return
-	}
-	coal.ClassifyId = 5
-	coal.ClassifyName = "内陆17省动力煤终端用户供耗存"
-	inlandId := 500
-	for _, group := range groups {
-		inlandId++
-		child.ClassifyId = inlandId
-		child.ClassifyName = *group
-		childs = append(childs, child)
 
+		if v.Suffix == "inland_index" {
+			groups = []*string{}
+			childs = []data_manage.CoalChild{}
+			groups, err = data_manage.GetGroupNameFromCoalmineIndex(suffix)
+			if err != nil {
+				br.Msg = "获取煤炭分类数据失败"
+				br.ErrMsg = "获取煤炭度分类数据失败,Err: " + err.Error()
+				return
+			}
+			coal.ClassifyId = 5
+			coal.ClassifyName = "内陆17省动力煤终端用户供耗存"
+			inlandId := 500
+			for _, group := range groups {
+				inlandId++
+				child.ClassifyId = inlandId
+				child.ClassifyName = *group
+				childs = append(childs, child)
+
+			}
+			coal.Child = childs
+			coalList = append(coalList, coal)
+		}
 	}
-	coal.Child = childs
-	coalList = append(coalList, coal)
 
 	br.Ret = 200
 	br.Success = true

+ 38 - 25
models/data_manage/base_from_trade_index.go

@@ -265,7 +265,7 @@ type BaseFromCoalmineFirmIndex struct {
 	ModifyTime                  string `description:"修改时间"`
 }
 
-//查询指标
+// 查询指标
 func GetBaseFromCoalmineFirmIndex(dataTime string) (items []*BaseFromCoalmineFirmIndex, err error) {
 	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT * FROM base_from_coalmine_firm_index WHERE data_time LIKE  `
@@ -290,7 +290,7 @@ type BaseFromCoalmineCoastalIndex struct {
 	ModifyTime                     string `description:"修改时间"`
 }
 
-//查询指标
+// 查询指标
 func GetBaseFromCoalmineCoastalIndex(startDate, endDate string) (items []*BaseFromCoalmineCoastalIndex, err error) {
 	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT * FROM base_from_coalmine_coastal_index WHERE data_time between ? and ? `
@@ -313,7 +313,7 @@ type BaseFromCoalmineInlandIndex struct {
 	ModifyTime                    string `description:"修改时间"`
 }
 
-//查询指标
+// 查询指标
 func GetBaseFromCoalmineInlandIndex(startDate, endDate string) (items []*BaseFromCoalmineInlandIndex, err error) {
 	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT * FROM base_from_coalmine_inland_index WHERE data_time between ? and ? `
@@ -321,7 +321,7 @@ func GetBaseFromCoalmineInlandIndex(startDate, endDate string) (items []*BaseFro
 	return
 }
 
-type BaseFromCoalmineClassify struct {
+type BaseFromCoalmineClassifyItem struct {
 	ClassifyId   int
 	ClassifyName string
 	Child        []CoalChild
@@ -381,7 +381,7 @@ func GetFrequencyFromCoal(suffix string) (list *string, err error) {
 	return
 }
 
-//查询数据
+// 查询数据
 func GetBaseFromCoalmineIndexByFrequency(frequency, groupName string) (items []*BaseFromCoalmineJsmIndex, err error) {
 	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT * FROM base_from_coalmine_jsm_index WHERE frequency=? AND province=?`
@@ -389,7 +389,7 @@ func GetBaseFromCoalmineIndexByFrequency(frequency, groupName string) (items []*
 	return
 }
 
-//查询数据
+// 查询数据
 func GetGroupNameFromCoalmineIndex(suffix string) (items []*string, err error) {
 	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT DISTINCT group_name FROM base_from_coalmine_%s `
@@ -398,7 +398,7 @@ func GetGroupNameFromCoalmineIndex(suffix string) (items []*string, err error) {
 	return
 }
 
-//查询数据
+// 查询数据
 func GetProvinceFromCoalmineIndex(suffix string) (items []*string, err error) {
 	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT DISTINCT province FROM base_from_coalmine_%s `
@@ -407,7 +407,7 @@ func GetProvinceFromCoalmineIndex(suffix string) (items []*string, err error) {
 	return
 }
 
-//查询数据
+// 查询数据
 func GetClassifyCoalmineIndexByGroupName(groupName string) (items []*string, err error) {
 	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT DISTINCT index_code FROM base_from_coalmine_jsm_index WHERE province=? `
@@ -415,7 +415,7 @@ func GetClassifyCoalmineIndexByGroupName(groupName string) (items []*string, err
 	return
 }
 
-//查询数据
+// 查询数据
 func GetPageFromCoalmineIndexByFrequency(frequency, classify string, startSize, pageSize int) (items []*BaseFromCoalmineJsmIndex, err error) {
 	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT * FROM base_from_coalmine_jsm_index WHERE frequency=? AND index_code=? ORDER BY data_time DESC LIMIT ?,?  `
@@ -423,7 +423,7 @@ func GetPageFromCoalmineIndexByFrequency(frequency, classify string, startSize,
 	return
 }
 
-//查询数据
+// 查询数据
 func GetCountFromJsm(indexCode string) (item int, err error) {
 	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT COUNT(1) FROM base_from_coalmine_jsm_index WHERE index_code=? `
@@ -445,7 +445,7 @@ func GetClassifyJsmByGroupName(groupName string) (items []*string, err error) {
 	return
 }
 
-//查询公司指标
+// 查询公司指标
 func GetPageFromCoalmineCompanyIndexByFrequency(frequency, classify string, startSize, pageSize int) (items []*BaseFromCoalmineCompanyIndex, err error) {
 	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT * FROM base_from_coalmine_company_index WHERE frequency=? AND index_code=? ORDER BY data_time DESC LIMIT ?,? `
@@ -474,7 +474,7 @@ func GetClassifyFirmByGroupName(groupName string) (items []*string, err error) {
 	return
 }
 
-//查询指标
+// 查询指标
 func GetPageFromCoalmineFirmIndexByFrequency(frequency, classify string, startSize, pageSize int) (items []*BaseFromCoalmineFirmIndex, err error) {
 	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT * FROM base_from_coalmine_firm_index WHERE frequency=? AND index_code=? ORDER BY data_time DESC LIMIT ?,?  `
@@ -496,7 +496,7 @@ func GetClassifyCoastalByGroupName(groupName string) (items []*string, err error
 	return
 }
 
-//查询指标
+// 查询指标
 func GetPageFromCoalmineCoastalIndexByFrequency(frequency, classify string, startSize, pageSize int) (items []*BaseFromCoalmineCoastalIndex, err error) {
 	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT * FROM base_from_coalmine_coastal_index WHERE frequency=? AND index_code=? ORDER BY data_time DESC LIMIT ?,? `
@@ -518,7 +518,7 @@ func GetClassifyInlandByGroupName(groupName string) (items []*string, err error)
 	return
 }
 
-//查询指标
+// 查询指标
 func GetPageFromCoalmineInlandIndexByFrequency(frequency, classify string, startSize, pageSize int) (items []*BaseFromCoalmineInlandIndex, err error) {
 	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT * FROM base_from_coalmine_inland_index WHERE frequency=? AND index_code=? ORDER BY data_time DESC LIMIT ?,? `
@@ -526,7 +526,7 @@ func GetPageFromCoalmineInlandIndexByFrequency(frequency, classify string, start
 	return
 }
 
-//查询公司指标
+// 查询公司指标
 func GetBaseFromCoalmineCompanyIndexByFrequency(frequency, groupName string) (items []*BaseFromCoalmineCompanyIndex, err error) {
 	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT * FROM base_from_coalmine_company_index WHERE frequency=? AND group_name=? `
@@ -534,7 +534,7 @@ func GetBaseFromCoalmineCompanyIndexByFrequency(frequency, groupName string) (it
 	return
 }
 
-//查询指标
+// 查询指标
 func GetBaseFromCoalmineFirmIndexByFrequency(frequency, groupName string) (items []*BaseFromCoalmineFirmIndex, err error) {
 	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT * FROM base_from_coalmine_firm_index WHERE frequency=? AND group_name=? `
@@ -542,7 +542,7 @@ func GetBaseFromCoalmineFirmIndexByFrequency(frequency, groupName string) (items
 	return
 }
 
-//查询指标
+// 查询指标
 func GetBaseFromCoalmineCoastalIndexByFrequency(frequency, groupName string) (items []*BaseFromCoalmineCoastalIndex, err error) {
 	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT * FROM base_from_coalmine_coastal_index WHERE frequency=? AND group_name=? `
@@ -550,7 +550,7 @@ func GetBaseFromCoalmineCoastalIndexByFrequency(frequency, groupName string) (it
 	return
 }
 
-//查询指标
+// 查询指标
 func GetBaseFromCoalmineInlandIndexByFrequency(frequency, groupName string) (items []*BaseFromCoalmineInlandIndex, err error) {
 	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT * FROM base_from_coalmine_inland_index WHERE frequency=? AND group_name=? `
@@ -558,7 +558,7 @@ func GetBaseFromCoalmineInlandIndexByFrequency(frequency, groupName string) (ite
 	return
 }
 
-//查询数据
+// 查询数据
 func GetBaseFromCoalmineIndexByCode(indexCode string) (items []*BaseFromCoalmineJsmIndex, err error) {
 	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT * FROM base_from_coalmine_jsm_index WHERE index_code=?`
@@ -566,7 +566,7 @@ func GetBaseFromCoalmineIndexByCode(indexCode string) (items []*BaseFromCoalmine
 	return
 }
 
-//查询公司指标
+// 查询公司指标
 func GetBaseFromCoalmineCompanyIndexByCode(indexCode string) (items []*BaseFromCoalmineCompanyIndex, err error) {
 	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT * FROM base_from_coalmine_company_index WHERE index_code=? `
@@ -574,7 +574,7 @@ func GetBaseFromCoalmineCompanyIndexByCode(indexCode string) (items []*BaseFromC
 	return
 }
 
-//查询指标
+// 查询指标
 func GetBaseFromCoalmineFirmIndexByCode(indexCode string) (items []*BaseFromCoalmineFirmIndex, err error) {
 	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT * FROM base_from_coalmine_firm_index WHERE index_code=? `
@@ -582,7 +582,7 @@ func GetBaseFromCoalmineFirmIndexByCode(indexCode string) (items []*BaseFromCoal
 	return
 }
 
-//查询指标
+// 查询指标
 func GetBaseFromCoalmineCoastalIndexByCode(indexCode string) (items []*BaseFromCoalmineCoastalIndex, err error) {
 	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT * FROM base_from_coalmine_coastal_index WHERE index_code=? `
@@ -590,7 +590,7 @@ func GetBaseFromCoalmineCoastalIndexByCode(indexCode string) (items []*BaseFromC
 	return
 }
 
-//查询指标
+// 查询指标
 func GetBaseFromCoalmineInlandIndexByCode(indexCode string) (items []*BaseFromCoalmineInlandIndex, err error) {
 	o := orm.NewOrmUsingDB("data")
 	sql := `SELECT * FROM base_from_coalmine_inland_index WHERE index_code=? `
@@ -598,7 +598,6 @@ func GetBaseFromCoalmineInlandIndexByCode(indexCode string) (items []*BaseFromCo
 	return
 }
 
-
 type BaseFromTradeEicIndexV2 struct {
 	BaseFromEicIndexId     int `orm:"column(base_from_eic_index_id);pk"`
 	Type                   string
@@ -687,4 +686,18 @@ func GetFirstBaseFromTradeIndexByDate(exchange string) (item *BaseFromTradeShang
 	sql := "SELECT * FROM base_from_trade_" + exchange + "_index where rank < 50 order by data_time asc"
 	err = o.Raw(sql).QueryRow(&item)
 	return
-}
+}
+
+type BaseFromCoalmineClassify struct {
+	BaseFromCoalmineClassifyId int    `orm:"column(base_from_coalmine_classify_id);pk"`
+	ClassifyName               string // 分类名称
+	Suffix                     string // 表名后缀
+	CreateTime                 time.Time
+}
+
+func GetCoalmineClassifyList() (list []*BaseFromCoalmineClassify, err error) {
+	o := orm.NewOrmUsingDB("data")
+	sql := "SELECT * FROM base_from_coalmine_classify"
+	_,err = o.Raw(sql).QueryRows(&list)
+	return
+}