jl_bb.go 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  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. ServiceContract services.ContractService
  14. }
  15. // @Summary 获得合同目录和标段
  16. // @Tags 合同管理
  17. // @Description 获得合同目录和标段
  18. // @Accept json
  19. // @Produce json
  20. // @Param code path string true "项目编号"
  21. // @Param token path string true "token"
  22. // @Success 200 {object} viewmodels.FolderContract "{code:0成功,-1参数类错误,data:viewmodels.ProjectAccount,msg:错误信息}"
  23. // @Router /api/contract/folder [get]
  24. func (c *JlBb) GetFolder() {
  25. // 1.获得数据
  26. data := &viewmodels.Jl{}
  27. if err := c.Ctx.ReadForm(data); err != nil {
  28. c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
  29. return
  30. }
  31. // 1-1.校验是否存在code
  32. if err := data.ValidateCodeAToken(); err != nil {
  33. c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
  34. return
  35. }
  36. // 1-2.验证jwt
  37. err := utils.ValidateJwtBB(data.Token)
  38. if err != nil {
  39. c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
  40. return
  41. }
  42. // 获得项目ID
  43. projectDetail := c.ServiceProject.GetNameBs(data.Code)
  44. if projectDetail.Id == 0 {
  45. c.Ctx.JSON(iris.Map{
  46. "code": -1,
  47. "msg": "项目不存在",
  48. })
  49. return
  50. }
  51. // 获得层级文件夹
  52. FolderData := c.ServiceTree.GetAllContractByJL(projectDetail.Id)
  53. c.Ctx.JSON(iris.Map{
  54. "code": 0,
  55. "msg": "",
  56. "data": FolderData,
  57. })
  58. }
  59. // @Summary 获得合同信息
  60. // @Tags 合同管理
  61. // @Description 获得合同信息
  62. // @Accept json
  63. // @Produce json
  64. // @Param code path string true "项目编号"
  65. // @Param token path string true "token"
  66. // @Param key path string true "是一个数组,里面代表的名称"
  67. // @Success 200 {object} viewmodels.FolderContract "{code:0成功,-1参数类错误,data:viewmodels.ProjectAccount,msg:错误信息}"
  68. // @Router /api/contract/folder [get]
  69. func (c *JlBb) GetContract() {
  70. // 1.获得数据
  71. data := &viewmodels.Jl{}
  72. if err := c.Ctx.ReadForm(data); err != nil {
  73. c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
  74. return
  75. }
  76. // 1-2.验证jwt
  77. err := utils.ValidateJwtBB(data.Token)
  78. if err != nil {
  79. c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
  80. return
  81. }
  82. // 获得项目ID
  83. projectDetail := c.ServiceProject.GetNameBs(data.Code)
  84. if projectDetail.Id == 0 {
  85. c.Ctx.JSON(iris.Map{
  86. "code": -1,
  87. "msg": "项目不存在",
  88. })
  89. return
  90. }
  91. // data.BidsectionId = []string{"57", "58"}
  92. // data.Key = []string{"treeContracts", "contracts"}
  93. JlService := services.NewJlService()
  94. result := JlService.GetTableInfo(data, projectDetail.Id)
  95. c.Ctx.JSON(iris.Map{
  96. "code": 0,
  97. "msg": "",
  98. "data": result,
  99. })
  100. }