chart_classify.go 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. package data
  2. import (
  3. "fmt"
  4. "hongze/hz_eta_api/models/data_manage"
  5. "hongze/hz_eta_api/utils"
  6. "strconv"
  7. "time"
  8. )
  9. func chartClassifyHaveChild(allNode []*data_manage.ChartClassifyItems, node *data_manage.ChartClassifyItems) (childs []*data_manage.ChartClassifyItems, yes bool) {
  10. for _, v := range allNode {
  11. if v.ParentId == node.ChartClassifyId {
  12. childs = append(childs, v)
  13. }
  14. }
  15. if len(childs) > 0 {
  16. yes = true
  17. }
  18. return
  19. }
  20. func ChartClassifyItemsMakeTree(allNode []*data_manage.ChartClassifyItems, node *data_manage.ChartClassifyItems) {
  21. childs, _ := chartClassifyHaveChild(allNode, node) //判断节点是否有子节点并返回
  22. if len(childs) > 0 {
  23. node.Children = append(node.Children, childs[0:]...) //添加子节点
  24. for _, v := range childs { //查询子节点的子节点,并添加到子节点
  25. _, has := chartClassifyHaveChild(allNode, v)
  26. if has {
  27. ChartClassifyItemsMakeTree(allNode, v) //递归添加节点
  28. } else {
  29. childrenArr := make([]*data_manage.ChartClassifyItems, 0)
  30. v.Children = childrenArr
  31. }
  32. }
  33. } else {
  34. childrenArr := make([]*data_manage.ChartClassifyItems, 0)
  35. node.Children = childrenArr
  36. }
  37. }
  38. func FixChartClassify() {
  39. //新增三级分类
  40. list, err := data_manage.GetChartClassifyByLevel(2,1)
  41. if err != nil {
  42. return
  43. }
  44. for _, v := range list {
  45. classify := new(data_manage.ChartClassify)
  46. classify.ParentId = v.ChartClassifyId
  47. classify.ChartClassifyName = v.ChartClassifyName
  48. classify.HasData = 0
  49. classify.CreateTime = time.Now()
  50. classify.ModifyTime = time.Now()
  51. if utils.RunMode == "debug" {
  52. classify.SysUserId = 11
  53. } else {
  54. classify.SysUserId = 163
  55. }
  56. classify.SysUserRealName = "admin"
  57. classify.Level = 3
  58. timestamp := strconv.FormatInt(time.Now().UnixNano(), 10)
  59. classify.UniqueCode = utils.MD5(utils.DATA_PREFIX + "_" + timestamp)
  60. classify.Sort = v.Sort
  61. classify.Source = utils.CHART_SOURCE_DEFAULT
  62. id, err := data_manage.AddChartClassify(classify)
  63. if err != nil {
  64. return
  65. }
  66. err = data_manage.FIXChartClassifyId(int(id),v.ChartClassifyId)
  67. if err != nil {
  68. return
  69. }
  70. }
  71. }
  72. func FixChartClassifySysUserId() {
  73. //获取所有父级分类信息
  74. list, err := data_manage.GetChartClassifyByLevel(2,1)
  75. if err != nil {
  76. return
  77. }
  78. for _, v := range list {
  79. err := data_manage.EditChartClassifySysUser(v.ChartClassifyId, v.SysUserId, v.SysUserRealName)
  80. if err != nil {
  81. return
  82. }
  83. fmt.Println("ChartClassifyId:",v.ChartClassifyId)
  84. }
  85. fmt.Println("FixChartClassifySysUserId end")
  86. }