Browse Source

美国农业部数据源

xyxie 5 months ago
parent
commit
ba6c1b49e7

+ 53 - 23
controllers/data_manage/usda_fas_data.go

@@ -2,6 +2,7 @@ package data_manage
 
 import (
 	"encoding/json"
+	"eta/eta_api/controllers"
 	"eta/eta_api/models"
 	"eta/eta_api/models/data_manage"
 	"eta/eta_api/models/system"
@@ -19,12 +20,16 @@ import (
 	"github.com/tealeg/xlsx"
 )
 
+type BaseFromUsdaFasController struct {
+	controllers.BaseAuthController
+}
+
 // UsdaFasClassify
 // @Title 美国农业部数据分类
 // @Description 美国农业部数据分类接口
 // @Success 200 {object} data_manage.BaseFromUsdaFasClassify
 // @router /usda_fas/classify [get]
-func (this *EdbInfoController) UsdaFasClassify() {
+func (this *BaseFromUsdaFasController) UsdaFasClassify() {
 	br := new(models.BaseResponse).Init()
 	defer func() {
 		this.Data["json"] = br
@@ -87,7 +92,7 @@ func (this *EdbInfoController) UsdaFasClassify() {
 // @Param   ClassifyId   query   string  true       "分类id"
 // @Success 200 {object} data_manage.LzFrequency
 // @router /usda_fas/index/data [get]
-func (this *EdbInfoController) UsdaFasIndexData() {
+func (this *BaseFromUsdaFasController) UsdaFasIndexData() {
 	br := new(models.BaseResponse).Init()
 	defer func() {
 		this.Data["json"] = br
@@ -119,6 +124,8 @@ func (this *EdbInfoController) UsdaFasIndexData() {
 		br.ErrMsg = "请选择分类"
 		return
 	}
+	// 增加频度请求入参
+	frequency := this.GetString("Frequency")
 
 	//获取指标
 	var condition string
@@ -153,6 +160,10 @@ func (this *EdbInfoController) UsdaFasIndexData() {
 			pars = append(pars, classifyList)
 		}
 	}
+	if frequency != "" {
+		condition += ` AND frequency=? `
+		pars = append(pars, frequency)
+	}
 
 	UsdaFasList, err := data_manage.GetUsdaFasIndex(condition, pars)
 	if err != nil {
@@ -193,6 +204,7 @@ func (this *EdbInfoController) UsdaFasIndexData() {
 		if err != nil {
 			br.Msg = "获取数据失败"
 			br.ErrMsg = "获取指标数据失败,Err:" + err.Error()
+			return
 		}
 		page := paging.GetPaging(currentIndex, pageSize, total)
 		dataList, err := data_manage.GetUsdaFasIndexData(v.IndexCode, startSize, pageSize)
@@ -220,7 +232,7 @@ func (this *EdbInfoController) UsdaFasIndexData() {
 // @Param   Keyword   query   string  ture       "关键字搜索"
 // @Success 200 {object} models.BaseResponse
 // @router /usda_fas/search_list [get]
-func (this *EdbInfoController) UsdaFasSearchList() {
+func (this *BaseFromUsdaFasController) UsdaFasSearchList() {
 	br := new(models.BaseResponse).Init()
 	defer func() {
 		this.Data["json"] = br
@@ -292,7 +304,7 @@ func (this *EdbInfoController) UsdaFasSearchList() {
 // @Param   IndexCode   query   string  true       "指标唯一编码"
 // @Success 200 {object} models.BaseResponse
 // @router /usda_fas/single_data [get]
-func (this *EdbInfoController) UsdaFasSingleData() {
+func (this *BaseFromUsdaFasController) UsdaFasSingleData() {
 	br := new(models.BaseResponse).Init()
 	defer func() {
 		this.Data["json"] = br
@@ -361,7 +373,7 @@ func (this *EdbInfoController) UsdaFasSingleData() {
 // @Param   ClassifyId   query   int  true       "分类id"
 // @Success 200 {object} data_manage.BaseFromMysteelChemicalIndexResp
 // @router /usda_fas/classify/index/list [get]
-func (this *EdbInfoController) UsdaFasIndexList() {
+func (this *BaseFromUsdaFasController) UsdaFasIndexList() {
 	br := new(models.BaseResponse).Init()
 	defer func() {
 		this.Data["json"] = br
@@ -401,7 +413,7 @@ func (this *EdbInfoController) UsdaFasIndexList() {
 // @Param   Keyword   query   string  true       "关键词, 指标ID/指标名称"
 // @Success 200 {object} data_manage.LzFrequency
 // @router /usda_fas/batch_search [get]
-func (this *EdbInfoController) UsdaFasBatchSearch() {
+func (this *BaseFromUsdaFasController) UsdaFasBatchSearch() {
 	br := new(models.BaseResponse).Init()
 	defer func() {
 		this.Data["json"] = br
@@ -415,7 +427,21 @@ func (this *EdbInfoController) UsdaFasBatchSearch() {
 		return
 	}
 	classifyIdStr := this.GetString("ClassifyIds")
+	pageSize, _ := this.GetInt("PageSize")
+	currentIndex, _ := this.GetInt("CurrentIndex")
+	var startSize int
 
+	if pageSize <= 0 {
+		pageSize = utils.PageSize20
+	}
+	if currentIndex <= 0 {
+		currentIndex = 1
+	}
+	startSize = utils.StartIndex(currentIndex, pageSize)
+	resp := data_manage.BaseFromUsdaFasIndexSearchList{}
+	total := 0
+	page := paging.GetPaging(currentIndex, pageSize, total)
+	var list = make([]*data_manage.BaseFromUsdaFasIndexList, 0)
 	var condition string
 	var pars []interface{}
 	classifyIds := strings.Split(classifyIdStr, ",")
@@ -435,25 +461,34 @@ func (this *EdbInfoController) UsdaFasBatchSearch() {
 		pars = append(pars, frequencyList)
 	}
 	if classifyIdStr == `` && keyword == `` && frequencies == `` {
-		var list = make([]*data_manage.BaseFromUsdaFasIndexList, 0)
+		resp.Paging = page
+		resp.List = list
 		br.Ret = 200
 		br.Success = true
 		br.Msg = "获取成功"
-		br.Data = list
+		br.Data = resp
 		return
 	}
 
-	list, err := data_manage.GetUsdaFasIndex(condition, pars)
+	list, err := data_manage.GetUsdaFasIndexPage(condition, pars, startSize, pageSize)
 	if err != nil {
 		br.Msg = "获取失败"
 		br.ErrMsg = "获取失败,Err:" + err.Error()
 		return
 	}
-
+	total, err = data_manage.GetUsdaFasIndexPageCount(condition, pars)
+	if err != nil {
+		br.Msg = "获取数据失败"
+		br.ErrMsg = "获取指标数据失败,Err:" + err.Error()
+		return
+	}
+	page = paging.GetPaging(currentIndex, pageSize, total)
+	resp.Paging = page
+	resp.List = list
 	br.Ret = 200
 	br.Success = true
 	br.Msg = "获取成功"
-	br.Data = list
+	br.Data = resp
 }
 
 // UsdaFasBatchAdd
@@ -462,7 +497,7 @@ func (this *EdbInfoController) UsdaFasBatchSearch() {
 // @Param	request	body data_manage.AddEdbInfoReq true "type json string"
 // @Success 200 string "操作成功"
 // @router /usda_fas/batch_add [post]
-func (this *EdbInfoController) UsdaFasBatchAdd() {
+func (this *BaseFromUsdaFasController) UsdaFasBatchAdd() {
 	br := new(models.BaseResponse).Init()
 	defer func() {
 		if br.ErrMsg == "" {
@@ -607,7 +642,7 @@ func (this *EdbInfoController) UsdaFasBatchAdd() {
 // @Param   Keyword   query   string  true       "关键词, 指标ID/指标名称"
 // @Success 200 {object} NameCheckResult
 // @router /usda_fas/edb_info/name_check [post]
-func (this *EdbInfoController) UsdaFasNameCheck() {
+func (this *BaseFromUsdaFasController) UsdaFasNameCheck() {
 	br := new(models.BaseResponse).Init()
 	defer func() {
 		if br.ErrMsg == "" {
@@ -640,13 +675,8 @@ func (this *EdbInfoController) UsdaFasNameCheck() {
 		return
 	}
 
-	type NameCheckResult struct {
-		EdbCode string
-		EdbName string
-		Exist   bool
-	}
 	indexNames := make([]string, 0)
-	resp := make([]*NameCheckResult, 0)
+	resp := make([]*data_manage.EdbNameCheckResult, 0)
 	for _, v := range req {
 		v.EdbCode = strings.TrimSpace(v.EdbCode)
 		if v.EdbCode == "" {
@@ -659,7 +689,7 @@ func (this *EdbInfoController) UsdaFasNameCheck() {
 			return
 		}
 		indexNames = append(indexNames, v.EdbName)
-		resp = append(resp, &NameCheckResult{
+		resp = append(resp, &data_manage.EdbNameCheckResult{
 			EdbCode: v.EdbCode,
 			EdbName: v.EdbName,
 		})
@@ -713,7 +743,7 @@ func (this *EdbInfoController) UsdaFasNameCheck() {
 // @Param	request	body request.BatchAddCheckReq true "type json string"
 // @Success 200 string "操作成功"
 // @router /usda_fas/edb_info/add_check [post]
-func (c *EdbInfoController) UsdaFasAddCheck() {
+func (c *BaseFromUsdaFasController) UsdaFasAddCheck() {
 	br := new(models.BaseResponse).Init()
 	defer func() {
 		if br.ErrMsg == "" {
@@ -798,7 +828,7 @@ func (c *EdbInfoController) UsdaFasAddCheck() {
 // @Param	request	body data_manage.AddEdbInfoReq true "type json string"
 // @Success Ret=200 保存成功
 // @router /usda_fas/edb_info/add [post]
-func (this *EdbInfoController) UsdaFasEdbInfoAdd() {
+func (this *BaseFromUsdaFasController) UsdaFasEdbInfoAdd() {
 	br := new(models.BaseResponse).Init()
 	defer func() {
 		this.Data["json"] = br
@@ -936,7 +966,7 @@ func (this *EdbInfoController) UsdaFasEdbInfoAdd() {
 // @Param   IndexCode   query   string  true       "指标编码"
 // @Success 200  导出成功
 // @router /usda_fas/export [get]
-func (this *EdbInfoController) ExportUsdaFasList() {
+func (this *BaseFromUsdaFasController) ExportUsdaFasList() {
 	br := new(models.BaseResponse).Init()
 	defer func() {
 		this.Data["json"] = br

+ 25 - 1
models/data_manage/base_from_usda_fas.go

@@ -38,7 +38,10 @@ type BaseFromUsdaFasIndexList struct {
 	DataList               []*BaseFromUsdaFasData
 	Paging                 *paging.PagingItem `description:"分页数据"`
 }
-
+type BaseFromUsdaFasIndexSearchList struct {
+	List   []*BaseFromUsdaFasIndexList
+	Paging *paging.PagingItem `description:"分页数据"`
+}
 type UsdaFasSingleDataResp struct {
 	BaseFromUsdaFasIndexId int
 	ClassifyId             int
@@ -77,6 +80,27 @@ func GetUsdaFasIndex(condition string, pars interface{}) (items []*BaseFromUsdaF
 	return
 }
 
+func GetUsdaFasIndexPage(condition string, pars interface{}, startSize, pageSize int) (items []*BaseFromUsdaFasIndexList, err error) {
+	o := orm.NewOrmUsingDB("data")
+	sql := ` SELECT * FROM base_from_usda_fas_index WHERE 1=1  `
+	if condition != "" {
+		sql += condition
+	}
+	sql += ` ORDER BY sort ASC, base_from_usda_fas_index_id asc LIMIT ?,?`
+	_, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&items)
+	return
+}
+
+func GetUsdaFasIndexPageCount(condition string, pars interface{}) (count int, err error) {
+	o := orm.NewOrmUsingDB("data")
+	sql := ` SELECT COUNT(1) AS count  FROM base_from_usda_fas_index WHERE 1=1  `
+	if condition != "" {
+		sql += condition
+	}
+	err = o.Raw(sql, pars).QueryRow(&count)
+	return
+}
+
 func GetUsdaFasIndexDataCount(indexCode string) (count int, err error) {
 	o := orm.NewOrmUsingDB("data")
 	sql := ` SELECT COUNT(1) AS count  FROM base_from_usda_fas_data WHERE index_code=? `

+ 6 - 0
models/data_manage/edb_info.go

@@ -2106,3 +2106,9 @@ func getThsHfAllDataByMongo(edbInfoId, source, subSource int, startDataTime stri
 
 	return
 }
+
+type EdbNameCheckResult struct {
+	EdbCode string
+	EdbName string
+	Exist   bool
+}

+ 99 - 99
routers/commentsRouter.go

@@ -2752,6 +2752,105 @@ func init() {
             Filters: nil,
             Params: nil})
 
+    beego.GlobalControllerRouter["eta/eta_api/controllers/data_manage:BaseFromUsdaFasController"] = append(beego.GlobalControllerRouter["eta/eta_api/controllers/data_manage:BaseFromUsdaFasController"],
+        beego.ControllerComments{
+            Method: "UsdaFasBatchAdd",
+            Router: `/usda_fas/batch_add`,
+            AllowHTTPMethods: []string{"post"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
+    beego.GlobalControllerRouter["eta/eta_api/controllers/data_manage:BaseFromUsdaFasController"] = append(beego.GlobalControllerRouter["eta/eta_api/controllers/data_manage:BaseFromUsdaFasController"],
+        beego.ControllerComments{
+            Method: "UsdaFasBatchSearch",
+            Router: `/usda_fas/batch_search`,
+            AllowHTTPMethods: []string{"get"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
+    beego.GlobalControllerRouter["eta/eta_api/controllers/data_manage:BaseFromUsdaFasController"] = append(beego.GlobalControllerRouter["eta/eta_api/controllers/data_manage:BaseFromUsdaFasController"],
+        beego.ControllerComments{
+            Method: "UsdaFasClassify",
+            Router: `/usda_fas/classify`,
+            AllowHTTPMethods: []string{"get"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
+    beego.GlobalControllerRouter["eta/eta_api/controllers/data_manage:BaseFromUsdaFasController"] = append(beego.GlobalControllerRouter["eta/eta_api/controllers/data_manage:BaseFromUsdaFasController"],
+        beego.ControllerComments{
+            Method: "UsdaFasIndexList",
+            Router: `/usda_fas/classify/index/list`,
+            AllowHTTPMethods: []string{"get"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
+    beego.GlobalControllerRouter["eta/eta_api/controllers/data_manage:BaseFromUsdaFasController"] = append(beego.GlobalControllerRouter["eta/eta_api/controllers/data_manage:BaseFromUsdaFasController"],
+        beego.ControllerComments{
+            Method: "UsdaFasEdbInfoAdd",
+            Router: `/usda_fas/edb_info/add`,
+            AllowHTTPMethods: []string{"post"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
+    beego.GlobalControllerRouter["eta/eta_api/controllers/data_manage:BaseFromUsdaFasController"] = append(beego.GlobalControllerRouter["eta/eta_api/controllers/data_manage:BaseFromUsdaFasController"],
+        beego.ControllerComments{
+            Method: "UsdaFasAddCheck",
+            Router: `/usda_fas/edb_info/add_check`,
+            AllowHTTPMethods: []string{"post"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
+    beego.GlobalControllerRouter["eta/eta_api/controllers/data_manage:BaseFromUsdaFasController"] = append(beego.GlobalControllerRouter["eta/eta_api/controllers/data_manage:BaseFromUsdaFasController"],
+        beego.ControllerComments{
+            Method: "UsdaFasNameCheck",
+            Router: `/usda_fas/edb_info/name_check`,
+            AllowHTTPMethods: []string{"post"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
+    beego.GlobalControllerRouter["eta/eta_api/controllers/data_manage:BaseFromUsdaFasController"] = append(beego.GlobalControllerRouter["eta/eta_api/controllers/data_manage:BaseFromUsdaFasController"],
+        beego.ControllerComments{
+            Method: "ExportUsdaFasList",
+            Router: `/usda_fas/export`,
+            AllowHTTPMethods: []string{"get"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
+    beego.GlobalControllerRouter["eta/eta_api/controllers/data_manage:BaseFromUsdaFasController"] = append(beego.GlobalControllerRouter["eta/eta_api/controllers/data_manage:BaseFromUsdaFasController"],
+        beego.ControllerComments{
+            Method: "UsdaFasIndexData",
+            Router: `/usda_fas/index/data`,
+            AllowHTTPMethods: []string{"get"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
+    beego.GlobalControllerRouter["eta/eta_api/controllers/data_manage:BaseFromUsdaFasController"] = append(beego.GlobalControllerRouter["eta/eta_api/controllers/data_manage:BaseFromUsdaFasController"],
+        beego.ControllerComments{
+            Method: "UsdaFasSearchList",
+            Router: `/usda_fas/search_list`,
+            AllowHTTPMethods: []string{"get"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
+    beego.GlobalControllerRouter["eta/eta_api/controllers/data_manage:BaseFromUsdaFasController"] = append(beego.GlobalControllerRouter["eta/eta_api/controllers/data_manage:BaseFromUsdaFasController"],
+        beego.ControllerComments{
+            Method: "UsdaFasSingleData",
+            Router: `/usda_fas/single_data`,
+            AllowHTTPMethods: []string{"get"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
     beego.GlobalControllerRouter["eta/eta_api/controllers/data_manage:BloombergDataController"] = append(beego.GlobalControllerRouter["eta/eta_api/controllers/data_manage:BloombergDataController"],
         beego.ControllerComments{
             Method: "AddCheck",
@@ -5200,105 +5299,6 @@ func init() {
             Filters: nil,
             Params: nil})
 
-    beego.GlobalControllerRouter["eta/eta_api/controllers/data_manage:EdbInfoController"] = append(beego.GlobalControllerRouter["eta/eta_api/controllers/data_manage:EdbInfoController"],
-        beego.ControllerComments{
-            Method: "UsdaFasBatchAdd",
-            Router: `/usda_fas/batch_add`,
-            AllowHTTPMethods: []string{"post"},
-            MethodParams: param.Make(),
-            Filters: nil,
-            Params: nil})
-
-    beego.GlobalControllerRouter["eta/eta_api/controllers/data_manage:EdbInfoController"] = append(beego.GlobalControllerRouter["eta/eta_api/controllers/data_manage:EdbInfoController"],
-        beego.ControllerComments{
-            Method: "UsdaFasBatchSearch",
-            Router: `/usda_fas/batch_search`,
-            AllowHTTPMethods: []string{"get"},
-            MethodParams: param.Make(),
-            Filters: nil,
-            Params: nil})
-
-    beego.GlobalControllerRouter["eta/eta_api/controllers/data_manage:EdbInfoController"] = append(beego.GlobalControllerRouter["eta/eta_api/controllers/data_manage:EdbInfoController"],
-        beego.ControllerComments{
-            Method: "UsdaFasClassify",
-            Router: `/usda_fas/classify`,
-            AllowHTTPMethods: []string{"get"},
-            MethodParams: param.Make(),
-            Filters: nil,
-            Params: nil})
-
-    beego.GlobalControllerRouter["eta/eta_api/controllers/data_manage:EdbInfoController"] = append(beego.GlobalControllerRouter["eta/eta_api/controllers/data_manage:EdbInfoController"],
-        beego.ControllerComments{
-            Method: "UsdaFasIndexList",
-            Router: `/usda_fas/classify/index/list`,
-            AllowHTTPMethods: []string{"get"},
-            MethodParams: param.Make(),
-            Filters: nil,
-            Params: nil})
-
-    beego.GlobalControllerRouter["eta/eta_api/controllers/data_manage:EdbInfoController"] = append(beego.GlobalControllerRouter["eta/eta_api/controllers/data_manage:EdbInfoController"],
-        beego.ControllerComments{
-            Method: "UsdaFasEdbInfoAdd",
-            Router: `/usda_fas/edb_info/add`,
-            AllowHTTPMethods: []string{"post"},
-            MethodParams: param.Make(),
-            Filters: nil,
-            Params: nil})
-
-    beego.GlobalControllerRouter["eta/eta_api/controllers/data_manage:EdbInfoController"] = append(beego.GlobalControllerRouter["eta/eta_api/controllers/data_manage:EdbInfoController"],
-        beego.ControllerComments{
-            Method: "UsdaFasAddCheck",
-            Router: `/usda_fas/edb_info/add_check`,
-            AllowHTTPMethods: []string{"post"},
-            MethodParams: param.Make(),
-            Filters: nil,
-            Params: nil})
-
-    beego.GlobalControllerRouter["eta/eta_api/controllers/data_manage:EdbInfoController"] = append(beego.GlobalControllerRouter["eta/eta_api/controllers/data_manage:EdbInfoController"],
-        beego.ControllerComments{
-            Method: "UsdaFasNameCheck",
-            Router: `/usda_fas/edb_info/name_check`,
-            AllowHTTPMethods: []string{"post"},
-            MethodParams: param.Make(),
-            Filters: nil,
-            Params: nil})
-
-    beego.GlobalControllerRouter["eta/eta_api/controllers/data_manage:EdbInfoController"] = append(beego.GlobalControllerRouter["eta/eta_api/controllers/data_manage:EdbInfoController"],
-        beego.ControllerComments{
-            Method: "ExportUsdaFasList",
-            Router: `/usda_fas/export`,
-            AllowHTTPMethods: []string{"get"},
-            MethodParams: param.Make(),
-            Filters: nil,
-            Params: nil})
-
-    beego.GlobalControllerRouter["eta/eta_api/controllers/data_manage:EdbInfoController"] = append(beego.GlobalControllerRouter["eta/eta_api/controllers/data_manage:EdbInfoController"],
-        beego.ControllerComments{
-            Method: "UsdaFasIndexData",
-            Router: `/usda_fas/index/data`,
-            AllowHTTPMethods: []string{"get"},
-            MethodParams: param.Make(),
-            Filters: nil,
-            Params: nil})
-
-    beego.GlobalControllerRouter["eta/eta_api/controllers/data_manage:EdbInfoController"] = append(beego.GlobalControllerRouter["eta/eta_api/controllers/data_manage:EdbInfoController"],
-        beego.ControllerComments{
-            Method: "UsdaFasSearchList",
-            Router: `/usda_fas/search_list`,
-            AllowHTTPMethods: []string{"get"},
-            MethodParams: param.Make(),
-            Filters: nil,
-            Params: nil})
-
-    beego.GlobalControllerRouter["eta/eta_api/controllers/data_manage:EdbInfoController"] = append(beego.GlobalControllerRouter["eta/eta_api/controllers/data_manage:EdbInfoController"],
-        beego.ControllerComments{
-            Method: "UsdaFasSingleData",
-            Router: `/usda_fas/single_data`,
-            AllowHTTPMethods: []string{"get"},
-            MethodParams: param.Make(),
-            Filters: nil,
-            Params: nil})
-
     beego.GlobalControllerRouter["eta/eta_api/controllers/data_manage:EdbInfoController"] = append(beego.GlobalControllerRouter["eta/eta_api/controllers/data_manage:EdbInfoController"],
         beego.ControllerComments{
             Method: "WindClassify",

+ 1 - 0
routers/router.go

@@ -179,6 +179,7 @@ func init() {
 				&data_manage.SciHqDataController{},
 				&data_manage.BaseFromLyClassifyController{},
 				&data_manage.BaseFromLyIndexController{},
+				&data_manage.BaseFromUsdaFasController{},
 			),
 		),
 		web.NSNamespace("/my_chart",