Explorar el Código

报告分类增加启用,禁用接口,查询品种列表

xyxie hace 1 año
padre
commit
61b319305d

+ 55 - 0
controllers/classify.go

@@ -998,3 +998,58 @@ func (this *ClassifyController) Move() {
 	br.Success = true
 	br.Msg = "操作成功"
 }
+
+// SetEnabled
+// @Title 启用/禁用分类接口
+// @Description 启用/禁用分类
+// @Param	request	body models.ClassifyMoveReq true "type json string"
+// @Success 200 新增成功
+// @router /enabled/set [post]
+func (this *ClassifyController) SetEnabled() {
+	br := new(models.BaseResponse).Init()
+	defer func() {
+		this.Data["json"] = br
+		this.ServeJSON()
+	}()
+	var req models.ClassifySetEnabledReq
+	err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
+	if err != nil {
+		br.Msg = "参数解析异常!"
+		br.ErrMsg = "参数解析失败,Err:" + err.Error()
+		return
+	}
+	if req.ClassifyId <= 0 {
+		br.Msg = "请选择分类"
+		return
+	}
+	if req.Enabled != 0 && req.Enabled != 1 {
+		br.Msg = "请选择正确的启用禁用状态"
+		return
+	}
+	item, err := models.GetClassifyById(req.ClassifyId)
+	if err != nil {
+		if err.Error() == utils.ErrNoRow() {
+			br.Msg = "分类不存在"
+			return
+		}
+		br.Msg = "获取信息失败"
+		br.ErrMsg = "获取信息失败,Err:" + err.Error()
+		return
+	}
+	if item == nil {
+		br.Msg = "分类不存在"
+		return
+	}
+	ob := new(models.Classify)
+	//设置分类启用、禁用状态
+	err = ob.SetEnabled(req.ClassifyId, req.Enabled)
+	if err != nil {
+		br.Msg = "操作失败"
+		br.ErrMsg = "操作失败,Err:" + err.Error()
+		return
+	}
+
+	br.Ret = 200
+	br.Success = true
+	br.Msg = "操作成功"
+}

+ 8 - 1
controllers/company_permission.go

@@ -52,7 +52,7 @@ func (this *CompanyPermissionController) List() {
 
 	// FICC
 	if productId == utils.COMPANY_PRODUCT_FICC_ID || companyType == utils.COMPANY_PRODUCT_FICC_NAME {
-		for _, v := range utils.PermissionFiccClassifyArr {
+		/*for _, v := range utils.PermissionFiccClassifyArr {
 			checkList := make([]int, 0)
 			p := new(company.PermissionSetList)
 			p.ClassifyName = v
@@ -68,7 +68,14 @@ func (this *CompanyPermissionController) List() {
 			}
 			p.CheckList = checkList
 			resp.List = append(resp.List, p)
+		}*/
+		list, err := services.GetChartPermissionEnabledList()
+		if err != nil {
+			br.Msg = "获取失败"
+			br.ErrMsg = "获取权限信息失败,Err:" + err.Error()
+			return
 		}
+		resp.List = list
 		br.Ret = 200
 		br.Success = true
 		br.Msg = "获取成功"

+ 55 - 0
controllers/english_report/english_classify.go

@@ -679,3 +679,58 @@ func (this *EnglishReportController) MoveClassify() {
 	br.Success = true
 	br.Msg = "操作成功"
 }
+
+// SetEnabled
+// @Title 启用/禁用分类接口
+// @Description 启用/禁用分类
+// @Param	request	body models.ClassifyMoveReq true "type json string"
+// @Success 200 新增成功
+// @router /classify/enabled/set [post]
+func (this *EnglishReportController) SetEnabled() {
+	br := new(models.BaseResponse).Init()
+	defer func() {
+		this.Data["json"] = br
+		this.ServeJSON()
+	}()
+	var req models.EnglishClassifySetEnabledReq
+	err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
+	if err != nil {
+		br.Msg = "参数解析异常!"
+		br.ErrMsg = "参数解析失败,Err:" + err.Error()
+		return
+	}
+	if req.ClassifyId <= 0 {
+		br.Msg = "请选择分类"
+		return
+	}
+	if req.Enabled != 0 && req.Enabled != 1 {
+		br.Msg = "请选择正确的启用禁用状态"
+		return
+	}
+	item, err := models.GetEnglishReportClassifyById(req.ClassifyId)
+	if err != nil {
+		if err.Error() == utils.ErrNoRow() {
+			br.Msg = "分类不存在"
+			return
+		}
+		br.Msg = "获取信息失败"
+		br.ErrMsg = "获取信息失败,Err:" + err.Error()
+		return
+	}
+	if item == nil {
+		br.Msg = "分类不存在"
+		return
+	}
+	ob := new(models.EnglishClassify)
+	//设置分类启用、禁用状态
+	err = ob.SetEnabled(req.ClassifyId, req.Enabled)
+	if err != nil {
+		br.Msg = "操作失败"
+		br.ErrMsg = "操作失败,Err:" + err.Error()
+		return
+	}
+
+	br.Ret = 200
+	br.Success = true
+	br.Msg = "操作成功"
+}

+ 1 - 0
models/chart_permission.go

@@ -28,6 +28,7 @@ type ChartPermission struct {
 	PriceDrivenState    int       `description:"品种价格驱动开启状态 0-关闭 1-开启" json:"price_driven_state"`
 	ParentId            int       `description:"父级权限id" json:"parent_id"`
 	IsPublic            int       `description:"是否是公有权限1:公有权限,0私有权限" json:"is_public"`
+	PermissionType      int       `description:"1主观,2客观" json:"permission_type"`
 }
 
 type ChartPermissionItem struct {

+ 5 - 3
models/classify.go

@@ -187,6 +187,7 @@ type ClassifyList struct {
 	YbRightBanner     string    `description:"Pc端详情页,右侧,报告合集背景图"`
 	RelateTel         int       `description:"是否在电话会中可选: 0-否; 1-是"`
 	RelateVideo       int       `description:"是否在路演视频中可选: 0-否; 1-是"`
+	Enabled           int       `description:"是否可用,1可用,0禁用"`
 	Child             []*ClassifyItem
 	ClassifyMenuList  []*ClassifyMenu
 }
@@ -445,11 +446,12 @@ type ClassifyMoveReq struct {
 	NextClassifyId int `description:"下一个兄弟节点分类id"`
 }
 
-type ClassifyEnabledEditReq struct {
-	Enabled int `description:"是否可用,1可用,0禁用"`
+type ClassifySetEnabledReq struct {
+	ClassifyId int `description:"分类ID"`
+	Enabled    int `description:"是否可用,1可用,0禁用"`
 }
 
-func (classifyInfo *Classify) SetEnabled(id, enabled int) {
+func (classifyInfo *Classify) SetEnabled(id, enabled int) (err error) {
 	o := orm.NewOrmUsingDB("rddp")
 	to, err := o.Begin()
 	if err != nil {

+ 32 - 0
models/english_report.go

@@ -422,6 +422,7 @@ type EnglishClassifyList struct {
 	IsShow        int       `description:"是否在小程序显示:1-显示 0-隐藏"`
 	//ClassifyType  int       `description:"分类类型:0英文报告,1英文线上路演"`
 	EnPermissions []int `description:"英文权限IDs"`
+	Enabled       int   `description:"是否可用,1可用,0禁用"`
 	Child         []*EnglishClassifyList
 }
 
@@ -896,3 +897,34 @@ func UpdateEnglishReportsStateBySecondIds(oldState, newState int, secondIds []in
 	_, err = o.Raw(sql, oldState, newState, secondIds).Exec()
 	return
 }
+
+type EnglishClassifySetEnabledReq struct {
+	ClassifyId int `description:"分类ID"`
+	Enabled    int `description:"是否可用,1可用,0禁用"`
+}
+
+func (classifyInfo *EnglishClassify) SetEnabled(id, enabled int) (err error) {
+	o := orm.NewOrmUsingDB("rddp")
+	to, err := o.Begin()
+	if err != nil {
+		return
+	}
+	defer func() {
+		if err != nil {
+			_ = to.Rollback()
+		} else {
+			_ = to.Commit()
+		}
+	}()
+	sql := ` UPDATE english_classify SET enabled =?  WHERE id = ?`
+	_, err = to.Raw(sql, enabled, id).Exec()
+	if err != nil {
+		return
+	}
+	sql = ` UPDATE english_classify SET enabled =?  WHERE parent_id = ? or root_id = ?`
+	_, err = to.Raw(sql, enabled, id, id).Exec()
+	if err != nil {
+		return
+	}
+	return
+}

+ 18 - 0
routers/commentsRouter.go

@@ -4939,6 +4939,15 @@ func init() {
             Filters: nil,
             Params: nil})
 
+    beego.GlobalControllerRouter["eta/eta_api/controllers/english_report:EnglishReportController"] = append(beego.GlobalControllerRouter["eta/eta_api/controllers/english_report:EnglishReportController"],
+        beego.ControllerComments{
+            Method: "SetEnabled",
+            Router: `/classify/enabled/set`,
+            AllowHTTPMethods: []string{"post"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
     beego.GlobalControllerRouter["eta/eta_api/controllers/english_report:EnglishReportController"] = append(beego.GlobalControllerRouter["eta/eta_api/controllers/english_report:EnglishReportController"],
         beego.ControllerComments{
             Method: "FistListClassify",
@@ -6172,6 +6181,15 @@ func init() {
             Filters: nil,
             Params: nil})
 
+    beego.GlobalControllerRouter["eta/eta_api/controllers:ClassifyController"] = append(beego.GlobalControllerRouter["eta/eta_api/controllers:ClassifyController"],
+        beego.ControllerComments{
+            Method: "SetEnabled",
+            Router: `/enabled/set`,
+            AllowHTTPMethods: []string{"post"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
     beego.GlobalControllerRouter["eta/eta_api/controllers:ClassifyController"] = append(beego.GlobalControllerRouter["eta/eta_api/controllers:ClassifyController"],
         beego.ControllerComments{
             Method: "FindByIdClassify",

+ 46 - 0
services/chart_permission.go

@@ -3,6 +3,7 @@ package services
 import (
 	"encoding/json"
 	"eta/eta_api/models"
+	"eta/eta_api/models/company"
 	"eta/eta_api/utils"
 	"fmt"
 	"io/ioutil"
@@ -208,3 +209,48 @@ func MoveChartPermission(pars *ChartPermissionMoveReq) (err error, errMsg string
 	}
 	return
 }
+
+func GetChartPermissionEnabledList() (list []*company.PermissionSetList, err error) {
+	var req GetChartPermissionReq
+	data, err := getChartPermission(req)
+	if err != nil {
+		return
+	}
+	dataList := data.List
+	//enabledList := make([]*models.ChartPermission, 0)
+	parentList := make([]*models.ChartPermission, 0)
+	enabledMap := make(map[int][]*company.PermissionSetItem)
+	listMap := make(map[int]*models.ChartPermission)
+	for _, v := range dataList {
+		listMap[v.ChartPermissionId] = v
+		if v.ParentId == 0 {
+			parentList = append(parentList, v)
+		}
+		if v.Enabled == 1 && v.ParentId > 0 && v.PermissionType == 0 {
+			//enabledList = append(enabledList, v)
+			item := &company.PermissionSetItem{
+				ChartPermissionId: v.ChartPermissionId,
+				PermissionName:    v.PermissionName,
+				PermissionType:    v.PermissionType,
+			}
+
+			enabledMap[v.ParentId] = append(enabledMap[v.ParentId], item)
+		}
+	}
+	for _, v := range parentList {
+		items, ok := enabledMap[v.ChartPermissionId]
+		if !ok {
+			continue
+		}
+		checkList := make([]int, 0)
+		p := new(company.PermissionSetList)
+		p.ClassifyName = v.PermissionName
+		p.Items = items
+		if v.PermissionName == "宏观经济" {
+			checkList = append(checkList, 1)
+		}
+		p.CheckList = checkList
+		list = append(list, p)
+	}
+	return
+}

+ 10 - 0
services/classify.go

@@ -53,6 +53,11 @@ func MoveReportClassify(req models.ClassifyMoveReq) (err error, errMsg string) {
 			err = fmt.Errorf("获取上一个兄弟节点分类信息失败,Err:" + err.Error())
 			return
 		}
+		if prevClassify.ParentId != parentClassifyId {
+			errMsg = "禁止拖动到其他节点"
+			err = fmt.Errorf(errMsg)
+			return
+		}
 		prevSort = prevClassify.Sort
 	}
 
@@ -69,6 +74,11 @@ func MoveReportClassify(req models.ClassifyMoveReq) (err error, errMsg string) {
 			err = fmt.Errorf("获取下一个兄弟节点分类信息失败,Err:" + err.Error())
 			return
 		}
+		if nextClassify.ParentId != parentClassifyId {
+			errMsg = "禁止拖动到其他节点"
+			err = fmt.Errorf(errMsg)
+			return
+		}
 		nextSort = nextClassify.Sort
 	}