jl_ex.go 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  1. /*
  2. * @description: 计量接口
  3. * @Author: CP
  4. * @Date: 2021-12-25 14:33:40
  5. * @FilePath: \construction_management\web\external\jl_ex.go
  6. */
  7. package external
  8. import (
  9. "fmt"
  10. "github.com/kataras/iris/v12"
  11. "go.mod/services"
  12. "go.mod/web/utils"
  13. "go.mod/web/viewmodels"
  14. )
  15. type JlEx struct {
  16. //框架-web应用上下文环境
  17. Ctx iris.Context
  18. // 需要用的service - 必须是鸭子形式,才不会出现问题
  19. // JlService services.JlService
  20. }
  21. // 检验项目 Calibration
  22. func (c *JlEx) PostCalibration() {
  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.校验是否存在TOKEN
  30. if err := data.ValidateToken(); err != nil {
  31. c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
  32. return
  33. }
  34. // 1-2.验证jwt
  35. claims, 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. // 1-3.验证参数的正确性
  41. claimsData := &viewmodels.Jl{
  42. Code: fmt.Sprintf("%s", claims["code"]),
  43. }
  44. if err := claimsData.ValidateParameter(); err != nil {
  45. c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
  46. return
  47. }
  48. JlService := services.NewJlService()
  49. result := JlService.IsCode(claimsData.Code)
  50. c.Ctx.JSON(iris.Map{
  51. "code": 0,
  52. "msg": "",
  53. "data": result,
  54. })
  55. }
  56. // 添加项目和账号
  57. func (c *JlEx) PostProjectAdd() {
  58. // 1.获得数据
  59. data := &viewmodels.Jl{}
  60. if err := c.Ctx.ReadForm(data); err != nil {
  61. c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
  62. return
  63. }
  64. // 1-1.校验是否存在TOKEN
  65. if err := data.ValidateToken(); err != nil {
  66. c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
  67. return
  68. }
  69. // 1-2.验证jwt
  70. claims, err := utils.ValidateJwt(data.Token)
  71. if err != nil {
  72. c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
  73. return
  74. }
  75. // 1-3.验证参数的正确性
  76. claimsData := &viewmodels.Jl{
  77. Code: fmt.Sprintf("%s", claims["code"]),
  78. Account: fmt.Sprintf("%s", claims["account"]),
  79. }
  80. if err := claimsData.ValidateProjectAdd(); err != nil {
  81. c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
  82. return
  83. }
  84. JlService := services.NewJlService()
  85. result, err := JlService.ProjectAdd(claimsData)
  86. if err != nil {
  87. c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
  88. return
  89. }
  90. c.Ctx.JSON(iris.Map{
  91. "code": 0,
  92. "msg": "",
  93. "data": result,
  94. })
  95. }
  96. // 授权登陆
  97. func (c *JlEx) PostAuthLogin() {
  98. // 1.获得数据
  99. data := &viewmodels.Jl{}
  100. if err := c.Ctx.ReadForm(data); err != nil {
  101. c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
  102. return
  103. }
  104. // 1-1.校验是否存在TOKEN
  105. if err := data.ValidateToken(); err != nil {
  106. c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
  107. return
  108. }
  109. // 1-2.验证jwt
  110. claims, err := utils.ValidateJwt(data.Token)
  111. if err != nil {
  112. c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
  113. return
  114. }
  115. // 1-3.验证参数的正确性
  116. claimsData := &viewmodels.Jl{
  117. Code: fmt.Sprintf("%s", claims["code"]),
  118. Account: fmt.Sprintf("%s", claims["account"]),
  119. }
  120. if err := claimsData.ValidateProjectAdd(); err != nil {
  121. c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
  122. return
  123. }
  124. JlService := services.NewJlService()
  125. result, err := JlService.AuthLogin(claimsData, c.Ctx.ResponseWriter())
  126. if err != nil {
  127. c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
  128. return
  129. }
  130. c.Ctx.JSON(iris.Map{
  131. "code": 0,
  132. "msg": "",
  133. "data": result,
  134. })
  135. }
  136. //