project_account_api.go 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
  1. /*
  2. * @description: 项目账号相关
  3. * @Author: CP
  4. * @Date: 2020-09-25 14:42:31
  5. * @FilePath: \construction_management\web\api\project_account_api.go
  6. */
  7. package api
  8. import (
  9. "fmt"
  10. "github.com/iris-contrib/middleware/csrf"
  11. "github.com/kataras/iris/v12"
  12. "go.mod/services"
  13. "go.mod/web/utils"
  14. "go.mod/web/viewmodels"
  15. )
  16. type ProjectAccountApi struct {
  17. //框架-web应用上下文环境
  18. Ctx iris.Context
  19. // 需要用的service
  20. ServiceProjectAccount services.ProjectAccountService
  21. }
  22. // @Summary 获得登陆账号信息相关
  23. // @Tags 项目账号相关
  24. // @Description 获得登陆账号相关信息
  25. // @Security ApiKeyAuth
  26. // @Success 200 {string} string "{code:0成功,-1参数类错误,-2服务端内部错误,msg:错误信息}"
  27. // @Router /api/projectAccount [get]
  28. func (c *ProjectAccountApi) Get() {
  29. // 获得项目账号ID
  30. projectAccountIdInt, err := utils.GetProjectAccountId(c.Ctx)
  31. if err != nil {
  32. c.Ctx.JSON(iris.Map{"code": -1, "msg": err})
  33. return
  34. }
  35. // 获得项目ID
  36. projectIdInt, err := utils.GetProjectId(c.Ctx)
  37. if err != nil {
  38. c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
  39. return
  40. }
  41. // 获得登陆用户
  42. AccountData := c.ServiceProjectAccount.Get(projectAccountIdInt, projectIdInt)
  43. c.Ctx.JSON(iris.Map{
  44. "code": 0,
  45. "msg": "",
  46. "data": AccountData,
  47. })
  48. }
  49. // @Summary 获得项目账号列表
  50. // @Tags 项目账号相关
  51. // @Description 获得项目账号列表
  52. // @Security ApiKeyAuth
  53. // @Success 200 {string} string "{code:0成功,-1参数类错误,-2服务端内部错误,msg:错误信息}"
  54. // @Router /api/projectAccount/list [get]
  55. func (c *ProjectAccountApi) GetList() {
  56. // 获得项目ID
  57. projectIdInt, err := utils.GetProjectId(c.Ctx)
  58. if err != nil {
  59. c.Ctx.JSON(iris.Map{"code": -1, "msg": err})
  60. return
  61. }
  62. AccountData := c.ServiceProjectAccount.GetAll(projectIdInt)
  63. c.Ctx.JSON(iris.Map{
  64. "code": 0,
  65. "msg": "",
  66. "data": AccountData,
  67. })
  68. }
  69. // @Summary 获得项目账号角色列表
  70. // @Tags 项目账号相关
  71. // @Description 获得项目账号角色列表
  72. // @Security ApiKeyAuth
  73. // @Success 200 {string} string "{code:0成功,-1参数类错误,-2服务端内部错误,msg:错误信息}"
  74. // @Router /api/projectAccount/group [get]
  75. func (c *ProjectAccountApi) GetGroup() {
  76. // 获得检索关键字
  77. // AccountData := viewmodels.ProjectAccount{}
  78. // err := c.Ctx.ReadForm(&AccountData)
  79. // if err != nil {
  80. // c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("JSON转换异常, error=%s", err)})
  81. // return
  82. // }
  83. // 获得项目ID
  84. // projectId, err := utils.GetProjectId(c.Ctx)
  85. // if err != nil {
  86. // c.Ctx.JSON(iris.Map{"code": -1, "msg": err})
  87. // return
  88. // }
  89. // accountData := c.ServiceProjectAccount.GetAll(projectId)
  90. // 检索
  91. // accountData := c.ServiceProjectAccount.Search(AccountData.Name, projectId)
  92. groupDate := map[int]string{
  93. 1: "建设单位",
  94. 2: "监理单位",
  95. 3: "施工单位",
  96. 4: "设计单位",
  97. }
  98. c.Ctx.JSON(iris.Map{
  99. "code": 0,
  100. "msg": "",
  101. "date": groupDate,
  102. // "accountData": accountData,
  103. })
  104. }
  105. // @Summary 检索账号信息
  106. // @Tags 项目账号相关
  107. // @Description 检索字段:账号 姓名 单位 手机 前匹配
  108. // @Accept json
  109. // @Produce json
  110. // @Security ApiKeyAuth
  111. // @Param name body string true "检索内容"
  112. // @Success 200 {object} viewmodels.ProjectAccount "{code:0成功,-1参数类错误,data:viewmodels.ProjectAccount,msg:错误信息}"
  113. // @Router /api/projectAccount/search [get]
  114. func (c *ProjectAccountApi) GetSearch() {
  115. // 获得项目ID
  116. projectIdInt, err := utils.GetProjectId(c.Ctx)
  117. if err != nil {
  118. c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
  119. return
  120. }
  121. c.Ctx.Header("X-CSRF-Token", csrf.Token(c.Ctx))
  122. // 获得检索关键字
  123. AccountData := viewmodels.ProjectAccount{}
  124. err = c.Ctx.ReadForm(&AccountData)
  125. if err != nil {
  126. c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("JSON转换异常, error=%s", err)})
  127. return
  128. }
  129. // 检索
  130. dataList := c.ServiceProjectAccount.Search(AccountData.Name, projectIdInt)
  131. c.Ctx.JSON(iris.Map{
  132. "code": 0, "msg": "",
  133. "data": dataList,
  134. })
  135. }