Преглед изворни кода

Merge branch 'eta/1.8.3' into debug

Roc пре 8 месеци
родитељ
комит
f066cf88af
6 измењених фајлова са 140 додато и 5 уклоњено
  1. 110 1
      controllers/classify.go
  2. 1 1
      controllers/report_v2.go
  3. 7 2
      models/classify.go
  4. 9 0
      routers/commentsRouter.go
  5. 12 0
      services/classify.go
  6. 1 1
      services/report.go

+ 110 - 1
controllers/classify.go

@@ -281,6 +281,7 @@ func (this *ClassifyController) Edit() {
 	br.Msg = "修改成功"
 }
 
+// ParentClassify
 // @Title 获取父级分类接口
 // @Description 获取父级分类
 // @Success 200 {object} models.Classify
@@ -291,7 +292,7 @@ func (this *ClassifyController) ParentClassify() {
 		this.Data["json"] = br
 		this.ServeJSON()
 	}()
-	items, err := models.ParentClassify()
+	items, err := models.GetAllClassify()
 	if err != nil {
 		br.Msg = "获取失败"
 		br.ErrMsg = "获取失败,Err:" + err.Error()
@@ -337,6 +338,8 @@ func (this *ClassifyController) ParentClassify() {
 		})
 	}
 
+	resp = services.GetClassifyTreeRecursive(resp, 0)
+
 	br.Data = resp
 	br.Ret = 200
 	br.Success = true
@@ -745,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
+}

+ 1 - 1
controllers/report_v2.go

@@ -413,7 +413,7 @@ func (this *ReportController) Add() {
 	item.LastModifyAdminId = sysUser.AdminId
 	item.LastModifyAdminName = sysUser.RealName
 	item.ContentModifyTime = time.Now()
-	item.NeedSplice = 0
+	item.NeedSplice = 1
 	item.ContentStruct = html.EscapeString(req.ContentStruct)
 	item.HeadImg = req.HeadImg
 	item.EndImg = req.EndImg

+ 7 - 2
models/classify.go

@@ -153,8 +153,12 @@ func EditClassify(req *EditClassifyReq) (err error) {
 	return
 }
 
-//获取父级分类
-
+// ParentClassify
+// @Description: 获取父级分类
+// @author: Roc
+// @datetime 2024-06-18 15:03:49
+// @return items []*Classify
+// @return err error
 func ParentClassify() (items []*Classify, err error) {
 	sql := `SELECT * FROM classify WHERE parent_id=0 order by id desc `
 	o := orm.NewOrmUsingDB("rddp")
@@ -203,6 +207,7 @@ type ClassifyItem struct {
 	ClassifyMenuId        int `description:"二级分类-子目录ID"`
 	ClassifyMenuList      []*ClassifyMenu
 	ChartPermissionIdList []int `description:"绑定的权限ID"`
+	Children              []*ClassifyItem
 }
 
 type ClassifyListResp struct {

+ 9 - 0
routers/commentsRouter.go

@@ -7171,6 +7171,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: "ClassifyPermissionV2",
+            Router: `/permission/list`,
+            AllowHTTPMethods: []string{"get"},
+            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: "ClassifyPermission",

+ 12 - 0
services/classify.go

@@ -556,3 +556,15 @@ func EditReportClassify(classifyId int, classifyName string, chartPermissionIdLi
 
 	return
 }
+
+// GetClassifyTreeRecursive 递归获取分类树形结构
+func GetClassifyTreeRecursive(list []*models.ClassifyItem, parentId int) []*models.ClassifyItem {
+	res := make([]*models.ClassifyItem, 0)
+	for _, v := range list {
+		if v.ParentId == parentId {
+			v.Children = GetClassifyTreeRecursive(list, v.Id)
+			res = append(res, v)
+		}
+	}
+	return res
+}

+ 1 - 1
services/report.go

@@ -850,7 +850,7 @@ func CreateNewReport(req models.AddReq, adminInfo *system.Admin) (newReportId in
 	item.LastModifyAdminId = adminInfo.AdminId
 	item.LastModifyAdminName = adminInfo.RealName
 	item.ContentModifyTime = time.Now()
-	item.NeedSplice = 0
+	item.NeedSplice = 1
 	item.ContentStruct = html.EscapeString(req.ContentStruct)
 	item.HeadImg = req.HeadImg
 	item.EndImg = req.EndImg