controller.template 5.0 KB

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