tree_api.go 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. /*
  2. * @description:
  3. * @Author: CP
  4. * @Date: 2020-09-17 17:50:50
  5. * @FilePath: \construction_management\web\api\tree_api.go
  6. */
  7. package api
  8. import (
  9. "fmt"
  10. "strconv"
  11. "github.com/kataras/iris/v12"
  12. "go.mod/services"
  13. "go.mod/web/utils"
  14. )
  15. type TreeApi struct {
  16. //框架-web应用上下文环境
  17. Ctx iris.Context
  18. // 需要用的service
  19. ServiceProject services.ProjectService
  20. ServiceTree services.TreeService
  21. }
  22. // 获得项目目录结构
  23. func (c *TreeApi) Get() {
  24. // 获得项目ID
  25. projectIdInt, err := utils.GetProjectId(c.Ctx)
  26. if err != nil {
  27. c.Ctx.JSON(iris.Map{
  28. "code": -1,
  29. "msg": err,
  30. })
  31. return
  32. }
  33. // 获得层级文件夹
  34. FolderData := c.ServiceTree.GetAllProject(projectIdInt)
  35. c.Ctx.JSON(iris.Map{
  36. "code": 0,
  37. "msg": "",
  38. "data": FolderData,
  39. })
  40. }
  41. // 添加树结构
  42. func (c *TreeApi) PostCreate() {
  43. ErrMsg := ""
  44. // 验证内容
  45. FolderData, err := c.ServiceTree.ValidRule(c.Ctx)
  46. if err != nil {
  47. ErrMsg = utils.FormValidError(err)
  48. c.Ctx.JSON(iris.Map{
  49. "code": -1,
  50. "msg": ErrMsg,
  51. })
  52. return
  53. } else {
  54. // 获得项目ID
  55. projectIdInt, err := utils.GetProjectId(c.Ctx)
  56. if err != nil {
  57. c.Ctx.JSON(iris.Map{
  58. "code": -1,
  59. "msg": fmt.Sprintf("%s", err),
  60. })
  61. return
  62. }
  63. FolderData.ProjectId = strconv.Itoa(projectIdInt)
  64. // 新增文件夹
  65. err = c.ServiceTree.Create(FolderData)
  66. if err != nil {
  67. c.Ctx.JSON(iris.Map{
  68. "code": 3,
  69. "msg": fmt.Sprintf("%s", err),
  70. })
  71. return
  72. }
  73. c.Ctx.JSON(iris.Map{
  74. "code": 0,
  75. "msg": "新增成功",
  76. })
  77. }
  78. }
  79. // 文件夹重命名
  80. func (c *TreeApi) PostRename() {
  81. ErrMsg := ""
  82. // 验证内容
  83. FolderData, err := c.ServiceTree.ValidRule(c.Ctx)
  84. if err != nil {
  85. ErrMsg = utils.FormValidError(err)
  86. c.Ctx.JSON(iris.Map{
  87. "code": -1,
  88. "msg": ErrMsg,
  89. })
  90. return
  91. } else {
  92. // 新增文件夹
  93. err = c.ServiceTree.Rename(FolderData)
  94. if err != nil {
  95. c.Ctx.JSON(iris.Map{
  96. "code": 3,
  97. "msg": fmt.Sprintf("%s", err),
  98. })
  99. return
  100. }
  101. c.Ctx.JSON(iris.Map{
  102. "code": 0,
  103. "msg": "重命名成功",
  104. })
  105. }
  106. }
  107. // 删除目录,需要删除树结构下的目录以及叶子
  108. func (c *TreeApi) DeleteDelete() {
  109. // 获得需要删除数据
  110. // 逻辑删除
  111. // 加入删除任务堆栈,定时任务删除
  112. }