controller.template 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147
  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. "gfast/app/system/dao"
  17. "gfast/app/system/service"
  18. "github.com/gogf/gf/frame/g"
  19. "github.com/gogf/gf/net/ghttp"
  20. "github.com/gogf/gf/util/gvalid"
  21. {{if $hasGStr}}
  22. "github.com/gogf/gf/text/gstr"
  23. {{end}}
  24. )
  25. type {{$structName}} struct {
  26. {{.table.ModuleName}}Base
  27. }
  28. var {{.table.ClassName}} = new({{$structName}})
  29. // List 列表
  30. func (c *{{$structName}}) List(r *ghttp.Request) {
  31. var req *dao.{{.table.ClassName}}SearchReq
  32. //获取参数
  33. if err := r.Parse(&req); err != nil {
  34. c.FailJsonExit(r, err.(gvalid.Error).FirstString())
  35. }
  36. total, page, list, err := service.{{.table.ClassName}}.GetList(req)
  37. if err != nil {
  38. c.FailJsonExit(r, err.Error())
  39. }
  40. result := g.Map{
  41. "currentPage": page,
  42. "total": total,
  43. "list": list,
  44. }
  45. c.SusJsonExit(r, result)
  46. }
  47. // Add 添加
  48. func (c *{{$structName}}) Add(r *ghttp.Request) {
  49. var req *dao.{{.table.ClassName}}AddReq
  50. //获取参数
  51. if err := r.Parse(&req); err != nil {
  52. c.FailJsonExit(r, err.(gvalid.Error).FirstString())
  53. }
  54. {{range $index,$column:= .table.Columns}}
  55. {{if eq $column.ColumnName "created_by"}}
  56. req.CreatedBy = c.GetCurrentUser(r.GetCtx()).GetUserId()
  57. {{end}}
  58. {{if eq $column.HtmlType "checkbox"}}
  59. {{$column.HtmlField}} := r.GetStrings("{{$column.HtmlField}}")
  60. if len({{$column.HtmlField}})>0{
  61. req.{{$column.GoField}} = gstr.Join({{$column.HtmlField}},",")
  62. }else{
  63. req.{{$column.GoField}} = ""
  64. }
  65. {{end}}
  66. {{end}}
  67. err := service.{{.table.ClassName}}.Add(req)
  68. if err != nil {
  69. c.FailJsonExit(r, err.Error())
  70. }
  71. c.SusJsonExit(r, "添加成功")
  72. }
  73. // Get 获取
  74. func (c *{{$structName}}) Get(r *ghttp.Request) {
  75. id := r.GetInt64("id")
  76. info, err := service.{{.table.ClassName}}.GetInfoById(id)
  77. if err != nil {
  78. c.FailJsonExit(r, err.Error())
  79. }
  80. c.SusJsonExit(r, info)
  81. }
  82. // Edit 修改
  83. func (c *{{$structName}}) Edit(r *ghttp.Request) {
  84. var req *dao.{{.table.ClassName}}EditReq
  85. //获取参数
  86. if err := r.Parse(&req); err != nil {
  87. c.FailJsonExit(r, err.(gvalid.Error).FirstString())
  88. }
  89. {{range $index,$column:= .table.Columns}}
  90. {{if eq $column.ColumnName "updated_by"}}
  91. req.UpdatedBy = c.GetCurrentUser(r.GetCtx()).GetUserId() //获取登陆用户id
  92. {{end}}
  93. {{if eq $column.HtmlType "checkbox"}}
  94. {{$column.HtmlField}} := r.GetStrings("{{$column.HtmlField}}")
  95. if len({{$column.HtmlField}})>0{
  96. req.{{$column.GoField}} = gstr.Join({{$column.HtmlField}},",")
  97. }else{
  98. req.{{$column.GoField}} = ""
  99. }
  100. {{end}}
  101. {{end}}
  102. err := service.{{.table.ClassName}}.Edit(req)
  103. if err != nil {
  104. c.FailJsonExit(r, err.Error())
  105. }
  106. c.SusJsonExit(r, "修改成功")
  107. }
  108. // Delete 删除
  109. func (c *{{$structName}}) Delete(r *ghttp.Request) {
  110. ids := r.GetInts("ids")
  111. err := service.{{.table.ClassName}}.DeleteByIds(ids)
  112. if err != nil {
  113. c.FailJsonExit(r, err.Error())
  114. }
  115. c.SusJsonExit(r, "删除成功")
  116. }
  117. {{range $index,$column:= .table.Columns}}
  118. {{if and (HasSuffix $column.ColumnName "status") (eq $column.IsList "1") }}
  119. // Change{{$column.GoField}} 修改状态
  120. func (c *{{$structName}})Change{{$column.GoField}}(r *ghttp.Request){
  121. var req *dao.{{$.table.ClassName}}{{$column.GoField}}Req
  122. //获取参数
  123. if err := r.Parse(&req); err != nil {
  124. c.FailJsonExit(r, err.(gvalid.Error).FirstString())
  125. }
  126. if err := service.{{$.table.ClassName}}.Change{{$column.GoField}}(req); err != nil {
  127. c.FailJsonExit(r, err.Error())
  128. } else {
  129. c.SusJsonExit(r, "状态设置成功")
  130. }
  131. }
  132. {{end}}
  133. {{end}}