浏览代码

新增获取计算指标关联关系

tuoling805 1 年之前
父节点
当前提交
67f9237621
共有 5 个文件被更改,包括 112 次插入3 次删除
  1. 48 0
      controllers/edb_info_calculate.go
  2. 3 3
      models/edb_info.go
  3. 38 0
      models/edb_info_calculate.go
  4. 18 0
      routers/commentsRouter.go
  5. 5 0
      routers/router.go

+ 48 - 0
controllers/edb_info_calculate.go

@@ -0,0 +1,48 @@
+package controllers
+
+import (
+	"encoding/json"
+	"hongze/hz_data_api/models"
+)
+
+// 计算指标
+type EdbInfoCalculateController struct {
+	BaseAuthController
+}
+
+// @Title 获取计算指标信息映射信息
+// @Description 获取计算指标信息映射信息
+// @Param	request	body models.EdbInfoCalculateItemReq true "type json string"
+// @Success 200 {object} models.EdbInfoCalculateMapping
+// @router /item [post]
+func (this *EdbInfoCalculateController) EdbInfoCalculateItem() {
+	br := new(models.BaseResponse).Init()
+	defer func() {
+		this.Data["json"] = br
+		this.ServeJSON()
+	}()
+	var req models.EdbInfoCalculateItemReq
+	err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
+	if err != nil {
+		br.Msg = "参数解析异常!"
+		br.ErrMsg = "参数解析失败,Err:" + err.Error()
+		return
+	}
+
+	if req.EdbCode == "" {
+		br.Msg = "请输入指标编码!"
+		return
+	}
+
+	items, err := models.GetEdbInfoCalculateMappingByEdbCode(req.EdbCode)
+	if err != nil {
+		br.Msg = "获取数据失败!"
+		br.ErrMsg = "获取数据失败,Err:" + err.Error()
+		return
+	}
+
+	br.Ret = 200
+	br.Success = true
+	br.Msg = "获取成功"
+	br.Data = items
+}

+ 3 - 3
models/edb_info.go

@@ -76,7 +76,7 @@ type EdbInfoView struct {
 	ChartImage       string  `description:"图表图片"`
 	Calendar         string  `description:"公历/农历" orm:"default(公历);"`
 	DataDateType     string  `orm:"column(data_date_type);size(255);null;default(交易日)"`
-	CalculateList    []*EdbInfoCalculateMapping
+	CalculateList    []*EdbInfoCalculateMappingDetail
 }
 
 func GetEdbInfoByEdbCode(edbCode string) (item *EdbInfoView, err error) {
@@ -90,12 +90,12 @@ type EdbInfoDetailReq struct {
 	EdbCode string `description:"指标编码"`
 }
 
-type EdbInfoCalculateMapping struct {
+type EdbInfoCalculateMappingDetail struct {
 	EdbCode         string                         `description:"指标编码"`
 	BaseEdbInfoCode []*EdbInfoCalculateBaseEdbInfo `description:"依赖的基础指标编码"`
 }
 
-func GetEdbInfoCalculateMapping(edbCode string) (items []*EdbInfoCalculateMapping, err error) {
+func GetEdbInfoCalculateMapping(edbCode string) (items []*EdbInfoCalculateMappingDetail, err error) {
 	o := orm.NewOrm()
 	sql := ` SELECT edb_code FROM edb_info_calculate_mapping AS a
 			WHERE a.from_edb_code=?

+ 38 - 0
models/edb_info_calculate.go

@@ -0,0 +1,38 @@
+package models
+
+import (
+	"github.com/beego/beego/v2/client/orm"
+	"time"
+)
+
+type EdbInfoCalculateItemReq struct {
+	EdbCode string `description:"指标编码"`
+	Source  int    `description:"来源id"`
+}
+
+type EdbInfoCalculateMapping struct {
+	EdbInfoCalculateMappingId int       `orm:"column(edb_info_calculate_mapping_id);pk"`
+	EdbInfoId                 int       `description:"计算指标id"`
+	Source                    int       `description:"计算指标来源"`
+	SourceName                string    `description:"计算指标来源名称"`
+	EdbCode                   string    `description:"计算指标编码"`
+	FromEdbInfoId             int       `description:"基础指标id"`
+	FromEdbCode               string    `description:"基础指标编码"`
+	FromEdbName               string    `description:"基础指标名称"`
+	FromSource                int       `description:"基础指标来源"`
+	FromSourceName            string    `description:"基础指标来源名称"`
+	FromTag                   string    `description:"来源指标标签"`
+	MoveValue                 int       `description:"移动的值,小于0是提前,0是不变,大于0是滞后"`
+	Sort                      int       `description:"计算指标名称排序"`
+	CreateTime                time.Time `description:"创建时间"`
+	ModifyTime                time.Time `description:"修改时间"`
+}
+
+func GetEdbInfoCalculateMappingByEdbCode(edbCode string) (list []*EdbInfoCalculateMapping, err error) {
+	o := orm.NewOrm()
+	sql := ` SELECT edb_code FROM edb_info_calculate_mapping AS a
+			WHERE a.edb_code=?
+			ORDER BY a.edb_info_calculate_mapping_id ASC `
+	_, err = o.Raw(sql, edbCode).QueryRows(&list)
+	return
+}

+ 18 - 0
routers/commentsRouter.go

@@ -7,6 +7,15 @@ import (
 
 func init() {
 
+    beego.GlobalControllerRouter["hongze/hz_data_api/controllers:EdbInfoCalculateController"] = append(beego.GlobalControllerRouter["hongze/hz_data_api/controllers:EdbInfoCalculateController"],
+        beego.ControllerComments{
+            Method: "EdbInfoCalculateItem",
+            Router: `/item`,
+            AllowHTTPMethods: []string{"post"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
     beego.GlobalControllerRouter["hongze/hz_data_api/controllers:EdbInfoController"] = append(beego.GlobalControllerRouter["hongze/hz_data_api/controllers:EdbInfoController"],
         beego.ControllerComments{
             Method: "EdbIndexDetail",
@@ -16,6 +25,15 @@ func init() {
             Filters: nil,
             Params: nil})
 
+    beego.GlobalControllerRouter["hongze/hz_data_api/controllers:EdbInfoController"] = append(beego.GlobalControllerRouter["hongze/hz_data_api/controllers:EdbInfoController"],
+        beego.ControllerComments{
+            Method: "EdbIndexItem",
+            Router: `/item`,
+            AllowHTTPMethods: []string{"post"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
     beego.GlobalControllerRouter["hongze/hz_data_api/controllers:IndexController"] = append(beego.GlobalControllerRouter["hongze/hz_data_api/controllers:IndexController"],
         beego.ControllerComments{
             Method: "IndexDataList",

+ 5 - 0
routers/router.go

@@ -25,6 +25,11 @@ func init() {
 				&controllers.EdbInfoController{},
 			),
 		),
+		beego.NSNamespace("/edb_info_calculate",
+			beego.NSInclude(
+				&controllers.EdbInfoCalculateController{},
+			),
+		),
 	)
 	beego.AddNamespace(ns)
 }