jl_bb.go 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. package external
  2. import (
  3. "fmt"
  4. "github.com/kataras/iris/v12"
  5. "go.mod/services"
  6. "go.mod/web/utils"
  7. "go.mod/web/viewmodels"
  8. )
  9. type JlBb struct {
  10. Ctx iris.Context
  11. ServiceTree services.TreeService
  12. ServiceProject services.ProjectService
  13. }
  14. // @Summary 获得合同目录和标段
  15. // @Tags 合同管理
  16. // @Description 获得合同目录和标段
  17. // @Accept json
  18. // @Produce json
  19. // @Param code path string true "项目编号"
  20. // @Success 200 {object} viewmodels.FolderContract "{code:0成功,-1参数类错误,data:viewmodels.ProjectAccount,msg:错误信息}"
  21. // @Router /api/contract/folder [get]
  22. func (c *JlBb) GetFolder() {
  23. // 1.获得数据
  24. data := &viewmodels.Jl{}
  25. if err := c.Ctx.ReadForm(data); err != nil {
  26. c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
  27. return
  28. }
  29. // 1-1.校验是否存在code
  30. if err := data.ValidateCodeAToken(); err != nil {
  31. c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
  32. return
  33. }
  34. // 1-2.验证jwt
  35. _, err := utils.ValidateJwt(data.Token)
  36. if err != nil {
  37. c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
  38. return
  39. }
  40. // 获得项目ID
  41. projectDetail := c.ServiceProject.GetNameBs(data.Code)
  42. if projectDetail.Id == 0 {
  43. c.Ctx.JSON(iris.Map{
  44. "code": -1,
  45. "msg": "项目不存在",
  46. })
  47. return
  48. }
  49. // 获得层级文件夹
  50. FolderData := c.ServiceTree.GetAllContractByJL(projectDetail.Id)
  51. c.Ctx.JSON(iris.Map{
  52. "code": 0,
  53. "msg": "",
  54. "data": FolderData,
  55. })
  56. }