|
@@ -4,8 +4,8 @@ import (
|
|
|
"encoding/json"
|
|
|
"eta/eta_mini_bridge/models"
|
|
|
"eta/eta_mini_bridge/models/request"
|
|
|
+ "eta/eta_mini_bridge/models/response"
|
|
|
"eta/eta_mini_bridge/utils"
|
|
|
- "strconv"
|
|
|
)
|
|
|
|
|
|
type ClassifyController struct {
|
|
@@ -14,9 +14,9 @@ type ClassifyController struct {
|
|
|
|
|
|
// @Title 根据分类id获取一级品种
|
|
|
// @Description 根据分类id获取一级品种
|
|
|
-// @Param ClassifyId query int true "二级分类ID"
|
|
|
+// @Param request body request.ClassifyReq true "type json string"
|
|
|
// @Success 200 {object} response.ReportDetailResp
|
|
|
-// @router /chart_permission/first [get]
|
|
|
+// @router /chart_permission/first [post]
|
|
|
func (this *ClassifyController) FirstChartPermission() {
|
|
|
br := new(models.BaseResponse).Init()
|
|
|
defer func() {
|
|
@@ -33,36 +33,59 @@ func (this *ClassifyController) FirstChartPermission() {
|
|
|
br.Msg = "分类id错误,获取失败"
|
|
|
return
|
|
|
}
|
|
|
- classifyId, _ := this.GetInt("ClassifyId", 0)
|
|
|
- if classifyId <= 0 {
|
|
|
- br.Msg = "分类id错误,获取失败"
|
|
|
- return
|
|
|
- }
|
|
|
- chartPermissionIds, err := models.GetChartPermissionIdsListByClassifyIds(req.ClassifyIds)
|
|
|
+ permissionClassifyMap, err := models.GetChartPermissionListByClassifyIds(req.ClassifyIds)
|
|
|
if err != nil {
|
|
|
- br.Msg = "二级品种获取失败"
|
|
|
- br.ErrMsg = "二级品种id获取失败,系统错误,Err:" + err.Error()
|
|
|
+ br.Msg = "品种获取失败"
|
|
|
+ br.ErrMsg = "获取品种和分类的映射失败,系统错误,Err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
- chartPermissionList, err := models.GetChartPermissionListByIds(chartPermissionIds)
|
|
|
+
|
|
|
+ classifyToPermissionMap2 := make(map[int][]int)
|
|
|
+ chartPermissionIds := make([]int, 0)
|
|
|
+ for _, v := range permissionClassifyMap {
|
|
|
+ classifyToPermissionMap2[v.ClassifyId] = append(classifyToPermissionMap2[v.ClassifyId], v.ChartPermissionId)
|
|
|
+ chartPermissionIds = append(chartPermissionIds, v.ChartPermissionId)
|
|
|
+ }
|
|
|
+
|
|
|
+ // 获取二级品种的权限,并建立映射
|
|
|
+ chartPermissionList2, err := models.GetChartPermissionListByIds(chartPermissionIds)
|
|
|
if err != nil {
|
|
|
br.Msg = "二级品种获取失败"
|
|
|
br.ErrMsg = "二级品种获取失败,系统错误,Err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
- fisrtPermissionIds := make([]string, 0)
|
|
|
- for _, chartPermission := range chartPermissionList {
|
|
|
- fisrtPermissionIds = append(fisrtPermissionIds, strconv.Itoa(chartPermission.ParentId))
|
|
|
+ chartPermissionViewMap2 := make(map[int]*models.ChartPermission)
|
|
|
+ for _, v := range chartPermissionList2 {
|
|
|
+ chartPermissionViewMap2[v.ChartPermissionId] = v
|
|
|
}
|
|
|
- fisrtPermissionIds = utils.Unique(fisrtPermissionIds)
|
|
|
- firstPermissionList, err := models.GetChartPermissionListByStrIds(fisrtPermissionIds)
|
|
|
+
|
|
|
+ // 获取一级品种的权限,并建立映射
|
|
|
+ chartPermissionList1, err := models.GetChildChartPermissionListById(0)
|
|
|
if err != nil {
|
|
|
- br.Msg = "一级品种获取失败"
|
|
|
- br.ErrMsg = "一级品种获取失败,系统错误,Err:" + err.Error()
|
|
|
+ br.Msg = "获取研报一级品种权限失败"
|
|
|
+ br.ErrMsg = "获取研报一级品种权限失败,Err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
+ chartPermissionMap1 := make(map[int]*models.ChartPermission)
|
|
|
+ for _, v := range chartPermissionList1 {
|
|
|
+ chartPermissionMap1[v.ChartPermissionId] = v
|
|
|
+ }
|
|
|
+
|
|
|
+ var resp []*response.ClassifyPermissionItemResp
|
|
|
+ for _, v := range req.ClassifyIds {
|
|
|
+ t := new(response.ClassifyPermissionItemResp)
|
|
|
+ t.ClassifyId = v
|
|
|
+ for _, vv := range classifyToPermissionMap2[v] {
|
|
|
+ if item, ok := chartPermissionViewMap2[vv]; ok {
|
|
|
+ parent2 := item.ParentId
|
|
|
+ t.PermissionNames = append(t.PermissionNames, chartPermissionMap1[parent2].PermissionName)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ t.PermissionNames = utils.Unique(t.PermissionNames)
|
|
|
+ resp = append(resp, t)
|
|
|
+ }
|
|
|
|
|
|
- br.Data = firstPermissionList
|
|
|
+ br.Data = resp
|
|
|
br.Success = true
|
|
|
br.Ret = 200
|
|
|
br.Msg = "获取成功"
|