controller.template 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
  1. // ==========================================================================
  2. // GFast自动生成控制器相关代码,只生成一次,按需修改,再次生成不会覆盖.
  3. // 生成日期:{{.table.CreateTime}}
  4. // 生成路径: {{.table.PackageName}}/api/{{.table.BusinessName}}.go
  5. // 生成人:{{.table.FunctionAuthor}}
  6. // ==========================================================================
  7. {{$structName := .table.BusinessName | CaseCamelLower}}
  8. package api
  9. {{$hasGStr:=false}}
  10. {{range $index,$column:=.table.Columns}}
  11. {{if eq $column.HtmlType "checkbox"}}
  12. {{$hasGStr = true}}
  13. {{end}}
  14. {{end}}
  15. import (
  16. {{if ne $.table.ModuleName "system"}}
  17. sysApi "gfast/app/system/api"
  18. {{end}}
  19. "{{.table.PackageName}}/dao"
  20. "{{.table.PackageName}}/service"
  21. "github.com/gogf/gf/frame/g"
  22. "github.com/gogf/gf/net/ghttp"
  23. "github.com/gogf/gf/util/gvalid"
  24. {{if $hasGStr}}
  25. "github.com/gogf/gf/text/gstr"
  26. {{end}}
  27. )
  28. type {{$structName}} struct {
  29. {{if ne $.table.ModuleName "system"}}
  30. sysApi.SystemBase
  31. {{else}}
  32. SystemBase
  33. {{end}}
  34. }
  35. var {{.table.ClassName}} = new({{$structName}})
  36. // List 列表
  37. func (c *{{$structName}}) List(r *ghttp.Request) {
  38. var req *dao.{{.table.ClassName}}SearchReq
  39. //获取参数
  40. if err := r.Parse(&req); err != nil {
  41. c.FailJsonExit(r, err.(gvalid.Error).FirstString())
  42. }
  43. total, page, list, err := service.{{.table.ClassName}}.GetList(req)
  44. if err != nil {
  45. c.FailJsonExit(r, err.Error())
  46. }
  47. result := g.Map{
  48. "currentPage": page,
  49. "total": total,
  50. "list": list,
  51. }
  52. c.SusJsonExit(r, result)
  53. }
  54. // Add 添加
  55. func (c *{{$structName}}) Add(r *ghttp.Request) {
  56. var req *dao.{{.table.ClassName}}AddReq
  57. //获取参数
  58. if err := r.Parse(&req); err != nil {
  59. c.FailJsonExit(r, err.(gvalid.Error).FirstString())
  60. }
  61. {{range $index,$column:= .table.Columns}}
  62. {{if eq $column.ColumnName "created_by"}}
  63. req.CreatedBy = c.GetCurrentUser(r.GetCtx()).GetUserId()
  64. {{end}}
  65. {{if eq $column.HtmlType "checkbox"}}
  66. {{$column.HtmlField}} := r.GetStrings("{{$column.HtmlField}}")
  67. if len({{$column.HtmlField}})>0{
  68. req.{{$column.GoField}} = gstr.Join({{$column.HtmlField}},",")
  69. }else{
  70. req.{{$column.GoField}} = ""
  71. }
  72. {{end}}
  73. {{end}}
  74. err := service.{{.table.ClassName}}.Add(req)
  75. if err != nil {
  76. c.FailJsonExit(r, err.Error())
  77. }
  78. c.SusJsonExit(r, "添加成功")
  79. }
  80. // Get 获取
  81. func (c *{{$structName}}) Get(r *ghttp.Request) {
  82. id := r.GetInt64("id")
  83. info, err := service.{{.table.ClassName}}.GetInfoById(id)
  84. if err != nil {
  85. c.FailJsonExit(r, err.Error())
  86. }
  87. c.SusJsonExit(r, info)
  88. }
  89. // Edit 修改
  90. func (c *{{$structName}}) Edit(r *ghttp.Request) {
  91. var req *dao.{{.table.ClassName}}EditReq
  92. //获取参数
  93. if err := r.Parse(&req); err != nil {
  94. c.FailJsonExit(r, err.(gvalid.Error).FirstString())
  95. }
  96. {{range $index,$column:= .table.Columns}}
  97. {{if eq $column.ColumnName "updated_by"}}
  98. req.UpdatedBy = c.GetCurrentUser(r.GetCtx()).GetUserId() //获取登陆用户id
  99. {{end}}
  100. {{if eq $column.HtmlType "checkbox"}}
  101. {{$column.HtmlField}} := r.GetStrings("{{$column.HtmlField}}")
  102. if len({{$column.HtmlField}})>0{
  103. req.{{$column.GoField}} = gstr.Join({{$column.HtmlField}},",")
  104. }else{
  105. req.{{$column.GoField}} = ""
  106. }
  107. {{end}}
  108. {{end}}
  109. err := service.{{.table.ClassName}}.Edit(req)
  110. if err != nil {
  111. c.FailJsonExit(r, err.Error())
  112. }
  113. c.SusJsonExit(r, "修改成功")
  114. }
  115. // Delete 删除
  116. func (c *{{$structName}}) Delete(r *ghttp.Request) {
  117. ids := r.GetInts("ids")
  118. err := service.{{.table.ClassName}}.DeleteByIds(ids)
  119. if err != nil {
  120. c.FailJsonExit(r, err.Error())
  121. }
  122. c.SusJsonExit(r, "删除成功")
  123. }
  124. {{range $index,$column:= .table.Columns}}
  125. {{if and (HasSuffix $column.ColumnName "status") (eq $column.IsList "1") }}
  126. // Change{{$column.GoField}} 修改状态
  127. func (c *{{$structName}})Change{{$column.GoField}}(r *ghttp.Request){
  128. var req *dao.{{$.table.ClassName}}{{$column.GoField}}Req
  129. //获取参数
  130. if err := r.Parse(&req); err != nil {
  131. c.FailJsonExit(r, err.(gvalid.Error).FirstString())
  132. }
  133. if err := service.{{$.table.ClassName}}.Change{{$column.GoField}}(req); err != nil {
  134. c.FailJsonExit(r, err.Error())
  135. } else {
  136. c.SusJsonExit(r, "状态设置成功")
  137. }
  138. }
  139. {{end}}
  140. {{end}}