|
@@ -0,0 +1,90 @@
|
|
|
+package controller
|
|
|
+
|
|
|
+import (
|
|
|
+ "fmt"
|
|
|
+ "github.com/gin-gonic/gin"
|
|
|
+ "github.com/go-playground/validator/v10"
|
|
|
+ "hongze/hz_eta_docs_api/controller/resp"
|
|
|
+ "hongze/hz_eta_docs_api/global"
|
|
|
+ "hongze/hz_eta_docs_api/models/crm"
|
|
|
+ "hongze/hz_eta_docs_api/models/request"
|
|
|
+ "hongze/hz_eta_docs_api/services"
|
|
|
+)
|
|
|
+
|
|
|
+// HelpDocController 帮助文档
|
|
|
+type HelpDocController struct{}
|
|
|
+
|
|
|
+// Menu
|
|
|
+// @Description 菜单
|
|
|
+// @Success 200 {string} string "获取成功"
|
|
|
+// @Router /help_doc/classify/list [get]
|
|
|
+func (a *HelpDocController) ClassifyList(c *gin.Context) {
|
|
|
+ var req request.HelpDocClassifyListReq
|
|
|
+ err := c.Bind(&req)
|
|
|
+ if err != nil {
|
|
|
+ errs, ok := err.(validator.ValidationErrors)
|
|
|
+ if !ok {
|
|
|
+ resp.FailData("参数解析失败", "Err:"+err.Error(), c)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ resp.FailData("参数解析失败", errs.Translate(global.Trans), c)
|
|
|
+ return
|
|
|
+ }
|
|
|
+fmt.Println("code:",req.BusCode)
|
|
|
+ // 获取列表数据
|
|
|
+ logOb := new(crm.HelpDocClassify)
|
|
|
+ rootList, e := logOb.GetItemsByCondition("parent_id=0", make([]interface{}, 0), "sort asc,classify_id asc")
|
|
|
+ if e != nil {
|
|
|
+ resp.FailMsg("获取失败", "获取帮助文档列表失败, Err: "+e.Error(), c)
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ classifyAll, e := logOb.GetItemsByCondition("", make([]interface{}, 0), "sort asc,classify_id asc")
|
|
|
+ if e != nil {
|
|
|
+ resp.FailMsg("获取失败", "获取帮助文档列表失败, Err: "+e.Error(), c)
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ classifies := make([]*crm.HelpDocClassifyItems, 0)
|
|
|
+ for _, v := range classifyAll {
|
|
|
+ child := make([]*crm.HelpDocClassifyItems, 0)
|
|
|
+ item := crm.HelpDocClassifyItems{
|
|
|
+ ClassifyId: v.ClassifyId,
|
|
|
+ ClassifyName: v.ClassifyName,
|
|
|
+ ParentId: v.ParentId,
|
|
|
+ Level: v.Level,
|
|
|
+ Sort: v.Sort,
|
|
|
+ SysUserId: v.SysUserId,
|
|
|
+ SysUserRealName: v.SysUserRealName,
|
|
|
+ VisibleBusinessIds: v.VisibleBusinessIds,
|
|
|
+ Children: child,
|
|
|
+ }
|
|
|
+ classifies = append(classifies, &item)
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ roots := make([]*crm.HelpDocClassifyItems, 0)
|
|
|
+ for _, v := range rootList {
|
|
|
+ child := make([]*crm.HelpDocClassifyItems, 0)
|
|
|
+ item := crm.HelpDocClassifyItems{
|
|
|
+ ClassifyId: v.ClassifyId,
|
|
|
+ ClassifyName: v.ClassifyName,
|
|
|
+ ParentId: v.ParentId,
|
|
|
+ Level: v.Level,
|
|
|
+ Sort: v.Sort,
|
|
|
+ SysUserId: v.SysUserId,
|
|
|
+ SysUserRealName: v.SysUserRealName,
|
|
|
+ VisibleBusinessIds: v.VisibleBusinessIds,
|
|
|
+ Children: child,
|
|
|
+ }
|
|
|
+ roots = append(roots, &item)
|
|
|
+ }
|
|
|
+ nodeAll := make([]*crm.HelpDocClassifyItems, 0)
|
|
|
+ for k := range roots {
|
|
|
+ rootNode := roots[k]
|
|
|
+ services.HelpDocClassifyItemsMakeTree(classifies, rootNode)
|
|
|
+ nodeAll = append(nodeAll, rootNode)
|
|
|
+ }
|
|
|
+
|
|
|
+ resp.OkData("获取成功", nodeAll, c)
|
|
|
+}
|