help_doc.go 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. package controller
  2. import (
  3. "fmt"
  4. "github.com/gin-gonic/gin"
  5. "github.com/go-playground/validator/v10"
  6. "hongze/hz_eta_docs_api/controller/resp"
  7. "hongze/hz_eta_docs_api/global"
  8. "hongze/hz_eta_docs_api/models/crm"
  9. "hongze/hz_eta_docs_api/models/request"
  10. "hongze/hz_eta_docs_api/services"
  11. )
  12. // HelpDocController 帮助文档
  13. type HelpDocController struct{}
  14. // Menu
  15. // @Description 菜单
  16. // @Success 200 {string} string "获取成功"
  17. // @Router /help_doc/classify/list [get]
  18. func (a *HelpDocController) ClassifyList(c *gin.Context) {
  19. var req request.HelpDocClassifyListReq
  20. err := c.Bind(&req)
  21. if err != nil {
  22. errs, ok := err.(validator.ValidationErrors)
  23. if !ok {
  24. resp.FailData("参数解析失败", "Err:"+err.Error(), c)
  25. return
  26. }
  27. resp.FailData("参数解析失败", errs.Translate(global.Trans), c)
  28. return
  29. }
  30. fmt.Println("code:",req.BusCode)
  31. // 获取列表数据
  32. logOb := new(crm.HelpDocClassify)
  33. rootList, e := logOb.GetItemsByCondition("parent_id=0", make([]interface{}, 0), "sort asc,classify_id asc")
  34. if e != nil {
  35. resp.FailMsg("获取失败", "获取帮助文档列表失败, Err: "+e.Error(), c)
  36. return
  37. }
  38. classifyAll, e := logOb.GetItemsByCondition("", make([]interface{}, 0), "sort asc,classify_id asc")
  39. if e != nil {
  40. resp.FailMsg("获取失败", "获取帮助文档列表失败, Err: "+e.Error(), c)
  41. return
  42. }
  43. classifies := make([]*crm.HelpDocClassifyItems, 0)
  44. for _, v := range classifyAll {
  45. child := make([]*crm.HelpDocClassifyItems, 0)
  46. item := crm.HelpDocClassifyItems{
  47. ClassifyId: v.ClassifyId,
  48. ClassifyName: v.ClassifyName,
  49. ParentId: v.ParentId,
  50. Level: v.Level,
  51. Sort: v.Sort,
  52. SysUserId: v.SysUserId,
  53. SysUserRealName: v.SysUserRealName,
  54. VisibleBusinessIds: v.VisibleBusinessIds,
  55. Children: child,
  56. }
  57. classifies = append(classifies, &item)
  58. }
  59. roots := make([]*crm.HelpDocClassifyItems, 0)
  60. for _, v := range rootList {
  61. child := make([]*crm.HelpDocClassifyItems, 0)
  62. item := crm.HelpDocClassifyItems{
  63. ClassifyId: v.ClassifyId,
  64. ClassifyName: v.ClassifyName,
  65. ParentId: v.ParentId,
  66. Level: v.Level,
  67. Sort: v.Sort,
  68. SysUserId: v.SysUserId,
  69. SysUserRealName: v.SysUserRealName,
  70. VisibleBusinessIds: v.VisibleBusinessIds,
  71. Children: child,
  72. }
  73. roots = append(roots, &item)
  74. }
  75. nodeAll := make([]*crm.HelpDocClassifyItems, 0)
  76. for k := range roots {
  77. rootNode := roots[k]
  78. services.HelpDocClassifyItemsMakeTree(classifies, rootNode)
  79. nodeAll = append(nodeAll, rootNode)
  80. }
  81. resp.OkData("获取成功", nodeAll, c)
  82. }