apis.go.template 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199
  1. package apis
  2. import (
  3. "fmt"
  4. "github.com/gin-gonic/gin"
  5. "IotAdmin/core/sdk/api"
  6. "IotAdmin/core/sdk/pkg/jwt-auth/user"
  7. _ "IotAdmin/core/sdk/pkg/response"
  8. "IotAdmin/app/{{.PackageName}}/models"
  9. "IotAdmin/app/{{.PackageName}}/service"
  10. "IotAdmin/app/{{.PackageName}}/service/dto"
  11. "IotAdmin/common/permission"
  12. )
  13. // {{.ClassName}}Api {{.FunctionName}}接口
  14. type {{.ClassName}}Api struct {
  15. api.Api
  16. }
  17. // GetPage 获取{{.FunctionName}}列表
  18. // @Summary 获取{{.FunctionName}}列表
  19. // @Description 获取{{.FunctionName}}列表
  20. // @Tags {{.TableComment}}
  21. {{- $tablename := .TBName -}}
  22. {{- range .Columns -}}
  23. {{$z := .IsQuery}}
  24. {{- if ($z) }}
  25. // @Param {{.JsonField}} query {{.GoType}} false "{{.ColumnComment}}"
  26. {{- end -}}
  27. {{- end }}
  28. // @Param pageSize query int false "页条数"
  29. // @Param pageIndex query int false "页码"
  30. // @Success 200 {object} response.Response{data=response.Page{list=[]models.{{.ClassName}}}} "{"code": 200, "data": [...]}"
  31. // @Router /api/{{.ModuleName}} [get]
  32. // @Security Bearer
  33. func (e {{.ClassName}}Api) GetPage(c *gin.Context) {
  34. req := dto.{{.ClassName}}GetPageReq{}
  35. s := service.{{.ClassName}}Service{}
  36. err := e.MakeContext(c).
  37. MakeOrm().
  38. Bind(&req).
  39. MakeService(&s.Service).
  40. Errors
  41. if err != nil {
  42. e.Logger.Error(err)
  43. e.Error(500, err, err.Error())
  44. return
  45. }
  46. p := permission.GetPermissionFromContext(c)
  47. list := make([]models.{{.ClassName}}, 0)
  48. var count int64
  49. err = s.GetPage(&req, p, &list, &count)
  50. if err != nil {
  51. e.Error(500, err, fmt.Sprintf("获取{{.FunctionName}}失败,\r\n失败信息 %s", err.Error()))
  52. return
  53. }
  54. e.PageOK(list, int(count), req.GetPageIndex(), req.GetPageSize(), "查询成功")
  55. }
  56. // Get 获取{{.FunctionName}}
  57. // @Summary 获取{{.FunctionName}}
  58. // @Description 获取{{.FunctionName}}
  59. // @Tags {{.TableComment}}
  60. // @Param id path int false "id"
  61. // @Success 200 {object} response.Response{data=models.{{.ClassName}}} "{"code": 200, "data": [...]}"
  62. // @Router /api/{{.ModuleName}}/{id} [get]
  63. // @Security Bearer
  64. func (e {{.ClassName}}Api) Get(c *gin.Context) {
  65. req := dto.{{.ClassName}}GetReq{}
  66. s := service.{{.ClassName}}Service{}
  67. err := e.MakeContext(c).
  68. MakeOrm().
  69. Bind(&req).
  70. MakeService(&s.Service).
  71. Errors
  72. if err != nil {
  73. e.Logger.Error(err)
  74. e.Error(500, err, err.Error())
  75. return
  76. }
  77. var object models.{{.ClassName}}
  78. p := permission.GetPermissionFromContext(c)
  79. err = s.Get(&req, p, &object)
  80. if err != nil {
  81. e.Error(500, err, fmt.Sprintf("获取{{.FunctionName}}失败,\r\n失败信息 %s", err.Error()))
  82. return
  83. }
  84. e.OK( object, "查询成功")
  85. }
  86. // Insert 添加{{.FunctionName}}
  87. // @Summary 添加{{.FunctionName}}
  88. // @Description 添加{{.FunctionName}}
  89. // @Tags {{.TableComment}}
  90. // @Accept application/json
  91. // @Product application/json
  92. // @Param data body dto.{{.ClassName}}InsertReq true "data"
  93. // @Success 200 {object} response.Response "{"code": 200, "message": "添加成功"}"
  94. // @Router /api/{{.ModuleName}} [post]
  95. // @Security Bearer
  96. func (e {{.ClassName}}Api) Insert(c *gin.Context) {
  97. req := dto.{{.ClassName}}InsertReq{}
  98. s := service.{{.ClassName}}Service{}
  99. err := e.MakeContext(c).
  100. MakeOrm().
  101. Bind(&req).
  102. MakeService(&s.Service).
  103. Errors
  104. if err != nil {
  105. e.Logger.Error(err)
  106. e.Error(500, err, err.Error())
  107. return
  108. }
  109. // 设置创建人
  110. req.SetCreateBy(user.GetUserId(c))
  111. err = s.Insert(&req)
  112. if err != nil {
  113. e.Error(500, err, fmt.Sprintf("添加{{.FunctionName}}失败,\r\n失败信息 %s", err.Error()))
  114. return
  115. }
  116. e.OK(req.GetId(), "添加成功")
  117. }
  118. // Update 修改{{.FunctionName}}
  119. // @Summary 修改{{.FunctionName}}
  120. // @Description 修改{{.FunctionName}}
  121. // @Tags {{.TableComment}}
  122. // @Accept application/json
  123. // @Product application/json
  124. // @Param id path int true "id"
  125. // @Param data body dto.{{.ClassName}}UpdateReq true "body"
  126. // @Success 200 {object} response.Response "{"code": 200, "message": "修改成功"}"
  127. // @Router /api/{{.ModuleName}}/{id} [put]
  128. // @Security Bearer
  129. func (e {{.ClassName}}Api) Update(c *gin.Context) {
  130. req := dto.{{.ClassName}}UpdateReq{}
  131. s := service.{{.ClassName}}Service{}
  132. err := e.MakeContext(c).
  133. MakeOrm().
  134. Bind(&req).
  135. MakeService(&s.Service).
  136. Errors
  137. if err != nil {
  138. e.Logger.Error(err)
  139. e.Error(500, err, err.Error())
  140. return
  141. }
  142. req.SetUpdateBy(user.GetUserId(c))
  143. p := permission.GetPermissionFromContext(c)
  144. err = s.Update(&req, p)
  145. if err != nil {
  146. e.Error(500, err, fmt.Sprintf("修改{{.FunctionName}}失败,\r\n失败信息 %s", err.Error()))
  147. return
  148. }
  149. e.OK( req.GetId(), "修改成功")
  150. }
  151. // Delete 删除{{.FunctionName}}
  152. // @Summary 删除{{.FunctionName}}
  153. // @Description 删除{{.FunctionName}}
  154. // @Tags {{.TableComment}}
  155. // @Param data body dto.{{.ClassName}}DeleteReq true "body"
  156. // @Success 200 {object} response.Response "{"code": 200, "message": "删除成功"}"
  157. // @Router /api/{{.ModuleName}} [delete]
  158. // @Security Bearer
  159. func (e {{.ClassName}}Api) Delete(c *gin.Context) {
  160. s := service.{{.ClassName}}Service{}
  161. req := dto.{{.ClassName}}DeleteReq{}
  162. err := e.MakeContext(c).
  163. MakeOrm().
  164. Bind(&req).
  165. MakeService(&s.Service).
  166. Errors
  167. if err != nil {
  168. e.Logger.Error(err)
  169. e.Error(500, err, err.Error())
  170. return
  171. }
  172. // req.SetUpdateBy(user.GetUserId(c))
  173. p := permission.GetPermissionFromContext(c)
  174. err = s.Remove(&req, p)
  175. if err != nil {
  176. e.Error(500, err, fmt.Sprintf("删除{{.FunctionName}}失败,\r\n失败信息 %s", err.Error()))
  177. return
  178. }
  179. e.OK( req.GetId(), "删除成功")
  180. }