|
@@ -4,7 +4,6 @@ import (
|
|
|
"eta/eta_mini_bridge/models"
|
|
|
"eta/eta_mini_bridge/utils"
|
|
|
"fmt"
|
|
|
- "html"
|
|
|
"sort"
|
|
|
"strconv"
|
|
|
)
|
|
@@ -187,7 +186,44 @@ func (this *ChartPermissionController) Private() {
|
|
|
|
|
|
}
|
|
|
|
|
|
-// Private
|
|
|
+// DetailByClassify
|
|
|
+// @Title 获取品种权限根据分类id
|
|
|
+// @Description 获取品种权限根据分类id
|
|
|
+// @Param ClassifyId query int true "二级分类的id"
|
|
|
+// @Success 200 {object} []models.ChartPermission
|
|
|
+// @router /classify/detail [get]
|
|
|
+func (this *ChartPermissionController) DetailByClassify() {
|
|
|
+ br := new(models.BaseResponse).Init()
|
|
|
+ defer func() {
|
|
|
+ this.Data["json"] = br
|
|
|
+ this.ServeJSON()
|
|
|
+ }()
|
|
|
+ classifyId, _ := this.GetInt("ClassifyId")
|
|
|
+ if classifyId <= 0 {
|
|
|
+ br.Msg = "参数错误"
|
|
|
+ br.ErrMsg = "参数错误,分类id小于等于0"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ reportChartPermissionIds, err := models.GetChartPermissionIdsListByClassifyId(classifyId)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取研报权限失败"
|
|
|
+ br.ErrMsg = "获取研报权限失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ chartPermissionList, err := models.GetChartPermissionListByIds(reportChartPermissionIds)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取研报权限失败"
|
|
|
+ br.ErrMsg = "获取研报权限失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ br.Data = chartPermissionList
|
|
|
+ br.Msg = "权限列表获取成功"
|
|
|
+ br.Success = true
|
|
|
+ br.Ret = 200
|
|
|
+}
|
|
|
+
|
|
|
+// Detail
|
|
|
// @Title 获取研报的品种权限列表
|
|
|
// @Description 获取研报的品种权限列表
|
|
|
// @Param ReportId query int true "研报id"
|
|
@@ -196,10 +232,6 @@ func (this *ChartPermissionController) Private() {
|
|
|
func (this *ChartPermissionController) Detail() {
|
|
|
br := new(models.BaseResponse).Init()
|
|
|
defer func() {
|
|
|
- if err := recover(); err != nil {
|
|
|
- utils.ApiLog.Error("获取报告列表获取失败,系统错误,Err:%s", err)
|
|
|
- return
|
|
|
- }
|
|
|
this.Data["json"] = br
|
|
|
this.ServeJSON()
|
|
|
}()
|
|
@@ -210,13 +242,11 @@ func (this *ChartPermissionController) Detail() {
|
|
|
return
|
|
|
}
|
|
|
report, err := models.GetReportById(reportId)
|
|
|
- if err != nil {
|
|
|
+ if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
br.Msg = "该报告已删除"
|
|
|
br.ErrMsg = "获取报告详情失败,Err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
- report.ContentSub = html.UnescapeString(report.ContentSub)
|
|
|
- report.Content = html.UnescapeString(report.Content)
|
|
|
if report == nil {
|
|
|
br.Msg = "报告不存在"
|
|
|
return
|
|
@@ -227,7 +257,7 @@ func (this *ChartPermissionController) Detail() {
|
|
|
br.ErrMsg = "获取研报权限失败,Err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
- chartPermissionList, err := models.GetChartPermissionIdsByIds(reportChartPermissionIds)
|
|
|
+ chartPermissionList, err := models.GetChartPermissionListByIds(reportChartPermissionIds)
|
|
|
if err != nil {
|
|
|
br.Msg = "获取研报权限失败"
|
|
|
br.ErrMsg = "获取研报权限失败,Err:" + err.Error()
|
|
@@ -240,6 +270,148 @@ func (this *ChartPermissionController) Detail() {
|
|
|
br.Ret = 200
|
|
|
}
|
|
|
|
|
|
+// ClassifyTree
|
|
|
+// @Title 获取品种下的分类权限树形列表
|
|
|
+// @Description 获取研报的品种权限树形列表
|
|
|
+// @Param ChartPermissionId query int true "品种权限id"
|
|
|
+// @Success 200 {object} []models.ChartPermission
|
|
|
+// @router /classify/tree [get]
|
|
|
+func (this *ChartPermissionController) ClassifyTree() {
|
|
|
+ br := new(models.BaseResponse).Init()
|
|
|
+ defer func() {
|
|
|
+ this.Data["json"] = br
|
|
|
+ this.ServeJSON()
|
|
|
+ }()
|
|
|
+ chartPermissionId, _ := this.GetInt("ChartPermissionId")
|
|
|
+ if chartPermissionId <= 0 {
|
|
|
+ br.Msg = "品种权限错误"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ chartPermission, err := models.GetChartPermissionById(chartPermissionId)
|
|
|
+ if err != nil {
|
|
|
+ if err.Error() == utils.ErrNoRow() {
|
|
|
+ br.Msg = "品种权限不存在"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ br.Msg = "品种权限错误"
|
|
|
+ br.ErrMsg = "品种权限错误,系统错误,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ var classifyIds []int
|
|
|
+ if chartPermission.ParentId == 0 {
|
|
|
+ // 传过来的是一级品种权限的id,那就获取子品种权限的id,通过子品种权限寻找分类id
|
|
|
+ childChartPermissionIdsList, err := models.GetChildChartPermissionIdsById(chartPermission.ChartPermissionId)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取品种权限失败"
|
|
|
+ br.ErrMsg = "获取子品种权限失败,系统错误,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ classifyIds, err = models.GetClassifyIdsListByIds(childChartPermissionIdsList)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取分类失败"
|
|
|
+ br.ErrMsg = "获取类别失败,系统错误,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ classifyIds, err = models.GetClassifyIdsListById(chartPermission.ChartPermissionId)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取分类失败"
|
|
|
+ br.ErrMsg = "获取类别失败,系统错误,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+ classifyIds = utils.Unique(classifyIds)
|
|
|
+ classifyList, err := models.GetClassifyListByIds(classifyIds)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取分类失败"
|
|
|
+ br.ErrMsg = "获取类别信息失败,系统错误,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ var parentClassifyIds []int
|
|
|
+ for _, v := range classifyList {
|
|
|
+ if v.ParentId != 0 {
|
|
|
+ parentClassifyIds = append(parentClassifyIds, v.ParentId)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ parentClassifyIds = utils.Unique(parentClassifyIds)
|
|
|
+ parentClassifyList, err := models.GetClassifyListByIds(parentClassifyIds)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取分类失败"
|
|
|
+ br.ErrMsg = "获取类别信息失败,系统错误,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ classifyList = getClassifyTree(classifyList, parentClassifyList)
|
|
|
+
|
|
|
+ br.Msg = "分类列表获取成功"
|
|
|
+ br.Data = classifyList
|
|
|
+ br.Success = true
|
|
|
+ br.Ret = 200
|
|
|
+}
|
|
|
+
|
|
|
+// ClassifyList
|
|
|
+// @Title 获取品种下的分类权限列表
|
|
|
+// @Description 获取研报的品种权限列表
|
|
|
+// @Param ChartPermissionId query int true "品种权限id"
|
|
|
+// @Success 200 {object} []models.ChartPermission
|
|
|
+// @router /classify/list [get]
|
|
|
+func (this *ChartPermissionController) ClassifyList() {
|
|
|
+ br := new(models.BaseResponse).Init()
|
|
|
+ defer func() {
|
|
|
+ this.Data["json"] = br
|
|
|
+ this.ServeJSON()
|
|
|
+ }()
|
|
|
+ chartPermissionId, _ := this.GetInt("ChartPermissionId")
|
|
|
+ if chartPermissionId <= 0 {
|
|
|
+ br.Msg = "品种权限错误"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ chartPermission, err := models.GetChartPermissionById(chartPermissionId)
|
|
|
+ if err != nil {
|
|
|
+ if err.Error() == utils.ErrNoRow() {
|
|
|
+ br.Msg = "品种权限不存在"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ br.Msg = "品种权限错误"
|
|
|
+ br.ErrMsg = "品种权限错误,系统错误,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ var classifyIds []int
|
|
|
+ if chartPermission.ParentId == 0 {
|
|
|
+ // 传过来的是一级品种权限的id,那就获取子品种权限的id,通过子品种权限寻找分类id
|
|
|
+ childChartPermissionIdsList, err := models.GetChildChartPermissionIdsById(chartPermission.ChartPermissionId)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取品种权限失败"
|
|
|
+ br.ErrMsg = "获取子品种权限失败,系统错误,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ classifyIds, err = models.GetClassifyIdsListByIds(childChartPermissionIdsList)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取分类失败"
|
|
|
+ br.ErrMsg = "获取类别失败,系统错误,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ classifyIds, err = models.GetClassifyIdsListById(chartPermission.ChartPermissionId)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取分类失败"
|
|
|
+ br.ErrMsg = "获取类别失败,系统错误,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+ classifyIds = utils.Unique(classifyIds)
|
|
|
+ classifyList, err := models.GetClassifyListByIds(classifyIds)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取分类失败"
|
|
|
+ br.ErrMsg = "获取类别信息失败,系统错误,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ br.Msg = "分类列表获取成功"
|
|
|
+ br.Data = classifyList
|
|
|
+ br.Success = true
|
|
|
+ br.Ret = 200
|
|
|
+}
|
|
|
+
|
|
|
// getChartPermissionTree获得品种权限的树形结构
|
|
|
func getChartPermissionTree(rootMap map[int]*models.ChartPermission, childChartPermissionList []*models.ChartPermission) map[int]*models.ChartPermissionView {
|
|
|
resultMap := make(map[int]*models.ChartPermissionView)
|
|
@@ -276,3 +448,14 @@ func getChartPermissionTree(rootMap map[int]*models.ChartPermission, childChartP
|
|
|
}
|
|
|
return resultMap
|
|
|
}
|
|
|
+
|
|
|
+func getClassifyTree(classifyList []*models.ClassifyView, parentClassifyList []*models.ClassifyView) []*models.ClassifyView {
|
|
|
+ for _, v := range parentClassifyList {
|
|
|
+ for _, v1 := range classifyList {
|
|
|
+ if v.Id == v1.ParentId {
|
|
|
+ v.Child = append(v.Child, v1)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return parentClassifyList
|
|
|
+}
|