|
@@ -748,3 +748,109 @@ func (this *ClassifyController) SetEnabled() {
|
|
|
br.Success = true
|
|
|
br.Msg = "操作成功"
|
|
|
}
|
|
|
+
|
|
|
+// ClassifyPermissionV2
|
|
|
+// @Title 获取权限设置基础信息
|
|
|
+// @Description 获取权限设置基础信息接口
|
|
|
+// @Param CompanyType query string true "客户类型:传空字符串或者不传为全部,'ficc','权益'"
|
|
|
+// @Param NoUpgrade query bool false "是否不展示升级权限,默认为 false"
|
|
|
+// @Success 200 {object} company.PermissionSetResp
|
|
|
+// @router /permission/list [get]
|
|
|
+func (this *ClassifyController) ClassifyPermissionV2() {
|
|
|
+ br := new(models.BaseResponse).Init()
|
|
|
+ defer func() {
|
|
|
+ this.Data["json"] = br
|
|
|
+ this.ServeJSON()
|
|
|
+ }()
|
|
|
+ sysUser := this.SysUser
|
|
|
+ if sysUser == nil {
|
|
|
+ br.Msg = "请登录"
|
|
|
+ br.ErrMsg = "请登录,SysUser Is Empty"
|
|
|
+ br.Ret = 408
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ classifyId, _ := this.GetInt("ClassifyId")
|
|
|
+ if classifyId <= 0 {
|
|
|
+ br.Msg = "参数错误"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ resp := make([]*models.ChartPermissionItem, 0)
|
|
|
+
|
|
|
+ // 拥有的品种ID列表
|
|
|
+ permissionIdList := make([]int, 0)
|
|
|
+ {
|
|
|
+ //获取报告分类详情
|
|
|
+ classifyInfo, err := models.GetClassifyById(classifyId)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取分类信息失败"
|
|
|
+ br.ErrMsg = "获取失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ //获取报告分类权限列表
|
|
|
+ list, err := models.GetPermission(classifyInfo.Id)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取分类信息失败"
|
|
|
+ br.ErrMsg = "获取失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ for _, v := range list {
|
|
|
+ permissionIdList = append(permissionIdList, v.ChartPermissionId)
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 没有关联品种时,直接返回
|
|
|
+ num := len(permissionIdList)
|
|
|
+ if num <= 0 {
|
|
|
+ br.Ret = 200
|
|
|
+ br.Success = true
|
|
|
+ br.Msg = "获取成功"
|
|
|
+ br.Data = resp
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ cond := ` and chart_permission_id in (` + utils.GetOrmInReplace(num) + `) `
|
|
|
+ pars := make([]interface{}, 0)
|
|
|
+ pars = append(pars, permissionIdList)
|
|
|
+ list, e := services.GetChartPermissionList(cond, pars)
|
|
|
+ if e != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取品种列表失败, Err: " + e.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ // 品种树
|
|
|
+ childMap := make(map[int][]*models.ChartPermissionItem)
|
|
|
+
|
|
|
+ for _, v := range list {
|
|
|
+ t := new(models.ChartPermissionItem)
|
|
|
+ t.PermissionId = v.ChartPermissionId
|
|
|
+ t.PermissionName = v.PermissionName
|
|
|
+ t.ParentId = v.ParentId
|
|
|
+ t.IsPublic = v.IsPublic
|
|
|
+ t.Enabled = v.Enabled
|
|
|
+ t.Sort = v.Sort
|
|
|
+ t.CreateTime = v.CreatedTime.Format(utils.FormatDateTime)
|
|
|
+ t.Child = make([]*models.ChartPermissionItem, 0)
|
|
|
+ if v.ParentId == 0 {
|
|
|
+ resp = append(resp, t)
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ if v.ParentId > 0 {
|
|
|
+ if childMap[v.ParentId] == nil {
|
|
|
+ childMap[v.ParentId] = make([]*models.ChartPermissionItem, 0)
|
|
|
+ }
|
|
|
+ childMap[v.ParentId] = append(childMap[v.ParentId], t)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ for _, r := range resp {
|
|
|
+ r.Child = childMap[r.PermissionId]
|
|
|
+ }
|
|
|
+
|
|
|
+ br.Ret = 200
|
|
|
+ br.Success = true
|
|
|
+ br.Msg = "获取成功"
|
|
|
+ br.Data = resp
|
|
|
+}
|