xingzai 3 роки тому
батько
коміт
45ba7ba5b4
5 змінених файлів з 181 додано та 7 видалено
  1. 91 0
      controllers/report.go
  2. 33 0
      models/industrial_management.go
  3. 27 0
      models/report.go
  4. 24 6
      models/report_mapping.go
  5. 6 1
      routers/router.go

+ 91 - 0
controllers/report.go

@@ -0,0 +1,91 @@
+package controllers
+
+import (
+	"hongze/hongze_cygx/models"
+)
+
+//策略
+type ReportController struct {
+	BaseAuthController
+}
+
+type ReportCommonController struct {
+	BaseCommonController
+}
+
+// @Title 行业报告列表接口
+// @Description 获取行业报告列表接口
+// @Param   ChartPermissionId   query   int  true       "分类ID"
+// @Success 200 {object} models.IndustrialManagementList
+// @router /home/tradeList [get]
+func (this *ReportController) TradeList() {
+	br := new(models.BaseResponse).Init()
+	defer func() {
+		this.Data["json"] = br
+		this.ServeJSON()
+	}()
+	ChartPermissionId, _ := this.GetInt("ChartPermissionId")
+	if ChartPermissionId < 1 {
+		br.Msg = "请输入分类ID"
+		return
+	}
+	list, err := models.GetTradeAll(ChartPermissionId)
+	if err != nil {
+		br.Msg = "获取信息失败"
+		br.ErrMsg = "获取品种信息失败,Err:" + err.Error()
+		return
+	}
+	resp := new(models.TradeReportMappingResp)
+	resp.List = list
+	br.Ret = 200
+	br.Success = true
+	br.Msg = "获取成功"
+	br.Data = resp
+}
+
+// @Title 产业报告列表接口
+// @Description 获取产业报告列表接口
+// @Param   ChartPermissionId   query   int  true       "分类ID"
+// @Param   OrderColumn   query   int  true       "排序字段 ,NewTime最近更新 ,Recommend弘则推荐"
+// @Success 200 {object} models.IndustrialManagementList
+// @router /home/industryList [get]
+func (this *ReportController) IndustryList() {
+	br := new(models.BaseResponse).Init()
+	defer func() {
+		this.Data["json"] = br
+		this.ServeJSON()
+	}()
+	ChartPermissionId, _ := this.GetInt("ChartPermissionId")
+	if ChartPermissionId < 1 {
+		br.Msg = "请输入分类ID"
+		return
+	}
+	list, err := models.GetIndustrialManagementAll(ChartPermissionId)
+	if err != nil {
+		br.Msg = "获取信息失败"
+		br.ErrMsg = "获取品种信息失败,Err:" + err.Error()
+		return
+	}
+	for k, v := range list {
+		analystList, err := models.GetIndustrialAnalystAll(v.IndustrialManagementId)
+		if err != nil {
+			br.Msg = "获取信息失败"
+			br.ErrMsg = "获取品种信息失败,Err:" + err.Error()
+			return
+		}
+		list[k].AnalystList = analystList
+		industrialSubjectList, err := models.GetIndustrialSubjectAll(v.IndustrialManagementId)
+		if err != nil {
+			br.Msg = "获取信息失败"
+			br.ErrMsg = "获取品种信息失败,Err:" + err.Error()
+			return
+		}
+		list[k].IndustrialSubjectList = industrialSubjectList
+	}
+	resp := new(models.IndustrialManagementList)
+	resp.List = list
+	br.Ret = 200
+	br.Success = true
+	br.Msg = "获取成功"
+	br.Data = resp
+}

+ 33 - 0
models/industrial_management.go

@@ -0,0 +1,33 @@
+package models
+
+import (
+	"rdluck_tools/orm"
+)
+
+//产业列表
+func GetIndustrialManagementAll(ChartPermissionId int) (items []*IndustrialManagement, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT *
+		FROM
+		cygx_industrial_management AS man 
+		WHERE
+		man.chart_permission_id = ?`
+	_, err = o.Raw(sql, ChartPermissionId).QueryRows(&items)
+	return
+}
+
+//标的列表
+func GetIndustrialSubjectAll(IndustrialManagementId int) (items []*IndustrialSubject, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT * FROM cygx_industrial_subject WHERE industrial_management_id = ? `
+	_, err = o.Raw(sql, IndustrialManagementId).QueryRows(&items)
+	return
+}
+
+//分析师列表
+func GetIndustrialAnalystAll(IndustrialManagementId int) (items []*IndustrialAnalyst, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT * FROM cygx_industrial_analyst where industrial_management_id = ? `
+	_, err = o.Raw(sql, IndustrialManagementId).QueryRows(&items)
+	return
+}

+ 27 - 0
models/report.go

@@ -0,0 +1,27 @@
+package models
+
+type IndustrialManagementList struct {
+	List []*IndustrialManagement
+}
+
+type IndustrialManagement struct {
+	IndustrialManagementId int                  `orm:"column(industrial_management_id);pk" description:"产业id"`
+	IndustryName           string               `description:"产业名称"`
+	RecommendedIndex       int                  `description:"推荐指数"`
+	LayoutTime             string               `description:"布局时间"`
+	UpdateTime             string               `description:"更新时间"`
+	IsRed                  bool                 `description:"是否标记红点"`
+	AnalystList            []*IndustrialAnalyst `description:"分析师列表"`
+	IndustrialSubjectList  []*IndustrialSubject `description:"标的列表"`
+}
+
+type IndustrialAnalyst struct {
+	AnalystName            string `description:"分析师名称"`
+	IndustrialManagementId int    `description:"产业id"`
+}
+
+type IndustrialSubject struct {
+	IndustrialSubjectId    int    `orm:"column(industrial_subject_id);pk" description:"标的id"`
+	IndustrialManagementId int    `description:"产业id"`
+	SubjectName            string `description:"标的名称"`
+}

+ 24 - 6
models/report_mapping.go

@@ -3,20 +3,38 @@ package models
 import "rdluck_tools/orm"
 
 type ReportMapping struct {
-	CategoryId   int       `description:"分类ID"`
-	SubCategoryName      string    `description:"权限名称"`
-	IsRead bool  `description:"是否标红"`
+	CategoryId      int    `description:"分类ID"`
+	SubCategoryName string `description:"权限名称"`
+	IsRead          bool   `description:"是否标红"`
+}
+
+type TradeReportMapping struct {
+	CategoryId      int    `description:"分类ID"`
+	SubCategoryName string `description:"权限名称"`
+	IsRead          bool   `description:"是否标红"`
+	UpdateTime      string `description:"更新时间"`
 }
 
 type ReportMappingResp struct {
 	List []*ReportMapping
 }
 
+type TradeReportMappingResp struct {
+	List []*TradeReportMapping
+}
+
 //获取策略下面的所有分类
 func GetReportMappingStrategyAll() (items []*ReportMapping, err error) {
-	o:=orm.NewOrm()
-	sql:=`SELECT * FROM cygx_report_mapping WHERE report_type=1 AND chart_permission_id=23 ORDER BY sort ASC `
-	_,err=o.Raw(sql).QueryRows(&items)
+	o := orm.NewOrm()
+	sql := `SELECT * FROM cygx_report_mapping WHERE report_type=1 AND chart_permission_id=23 ORDER BY sort ASC `
+	_, err = o.Raw(sql).QueryRows(&items)
 	return
 }
 
+//行业列表
+func GetTradeAll(ChartPermissionId int) (items []*TradeReportMapping, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT * FROM cygx_report_mapping WHERE chart_permission_id = ? AND report_type = 1;`
+	_, err = o.Raw(sql, ChartPermissionId).QueryRows(&items)
+	return
+}

+ 6 - 1
routers/router.go

@@ -75,6 +75,11 @@ func init() {
 				&controllers.TacticsController{},
 			),
 		),
+		beego.NSNamespace("/report",
+			beego.NSInclude(
+				&controllers.ReportController{},
+			),
+		),
 	)
 	beego.AddNamespace(ns)
-}
+}