router.go.tmpl 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. package router
  2. import (
  3. "demo/data/dao/manage"
  4. "demo/data/domain"
  5. "demo/share"
  6. "fmt"
  7. "github.com/gin-gonic/gin"
  8. "github.com/mitchellh/mapstructure"
  9. "github.com/spf13/cast"
  10. "strings"
  11. "time"
  12. "unicode"
  13. )
  14. func UtilStructToMap(m map[string]interface{}) map[string]interface{} {
  15. res := make(map[string]interface{})
  16. for s := range m {
  17. result := ""
  18. for i, r := range s {
  19. if unicode.IsUpper(r) && i > 0 {
  20. result += "_"
  21. }
  22. result += strings.ToLower(string(r))
  23. }
  24. res[result] = m[s]
  25. }
  26. return res
  27. }
  28. func DateToString(date time.Time) string {
  29. return date.Format("2006-01-02 15:04:05")
  30. }
  31. {{range .gens}}
  32. func Base{{.table.name}}Router(group *gin.RouterGroup) {
  33. BaseArticleGroup := group.Group("/back/base")
  34. PushRouter(BaseArticleGroup, "GET", "/{{.table.routerName}}", GetBase{{.table.name}}ById)
  35. PushRouter(BaseArticleGroup, "POST", "/{{.table.routerName}}/list", GetBase{{.table.name}}List)
  36. PushRouter(BaseArticleGroup, "POST", "/{{.table.routerName}}/in", GetBase{{.table.name}}ListInId)
  37. PushRouter(BaseArticleGroup, "POST", "/{{.table.routerName}}", SaveBase{{.table.name}})
  38. PushRouter(BaseArticleGroup, "PUT", "/{{.table.routerName}}", UpdateBase{{.table.name}})
  39. PushRouter(BaseArticleGroup, "DELETE", "/{{.table.routerName}}", DeleteBase{{.table.name}})
  40. }
  41. {{end}}
  42. {{range .gens}} {{$createBy := false}}{{$createTime := false}}{{$updateBy := false}}{{$updateTime := false}}{{range .tableColumns}}{{if and (eq $createBy false) (eq .columnName "create_by")}}{{$createBy = true}}{{end}}{{if and (eq $createTime false) (eq .columnName "create_time")}}{{$createTime = true}}{{end}}{{if and (eq $updateBy false) (eq .columnName "update_by")}}{{$updateBy = true}}{{end}}{{if and (eq $updateTime false) (eq .columnName "update_time")}}{{$updateTime = true}}{{end}}{{end}}
  43. //================{{.table.name}} {{.table.tableComment}}==============================
  44. func GetBase{{.table.name}}ById(c *gin.Context) {
  45. id := c.Query("id")
  46. {{.table.routerName}}, err := manage.Get{{.table.name}}ById(cast.ToInt64(id))
  47. if err != nil {
  48. c.JSON(200, CreateResultError(500, "用户查询不存在"))
  49. return
  50. }
  51. c.JSON(200, CreateResultData({{.table.routerName}}))
  52. return
  53. }
  54. func GetBase{{.table.name}}List(c *gin.Context) {
  55. data := share.GetJsonAnyParam(c)
  56. param, _ := data("param")
  57. pageNum, _ := data("pageNum")
  58. pageSize, _ := data("pageSize")
  59. {{.table.routerName}} := domain.{{.table.name}}Query{}
  60. err := mapstructure.Decode(param, &{{.table.routerName}})
  61. if err != nil {
  62. c.JSON(200, CreateResultError(500, "json转换错误"))
  63. return
  64. }
  65. list, err := manage.Get2{{.table.name}}List({{.table.routerName}}, cast.ToInt(pageNum), cast.ToInt(pageSize))
  66. if err != nil {
  67. c.JSON(200, CreateResultError(500, "查询错误"))
  68. return
  69. }
  70. c.JSON(200, CreateResultData(list))
  71. }
  72. func GetBase{{.table.name}}ListInId(c *gin.Context) {
  73. data := share.GetJsonAnyParam(c)
  74. idsString, _ := data("ids")
  75. var ids []int64
  76. err := mapstructure.Decode([]byte(cast.ToString(idsString)), &ids)
  77. list, err := manage.Get{{.table.name}}ListInId(ids)
  78. if err != nil {
  79. c.JSON(200, CreateResultError(500, "查询错误"))
  80. return
  81. }
  82. c.JSON(200, CreateResultData(list))
  83. }
  84. func SaveBase{{.table.name}}(c *gin.Context) {
  85. data := share.GetJsonAnyParam(c)
  86. {{.table.routerName}}Param, _ := data("{{.table.routerName}}")
  87. {{.table.routerName}} := domain.{{.table.name}}{}
  88. err := mapstructure.Decode({{.table.routerName}}Param, &{{.table.routerName}})
  89. {{if $createBy}}{{.table.routerName}}.CreateBy = fmt.Sprint(GetUserIdByToken(c)){{end}}
  90. {{if $createTime}}{{.table.routerName}}.CreateTime = time.Now(){{end}}
  91. save{{.table.name}}, err := manage.Save{{.table.name}}(&{{.table.routerName}})
  92. if err != nil {
  93. c.JSON(200, CreateResultError(500, "保存错误"))
  94. return
  95. }
  96. c.JSON(200, CreateResultData(save{{.table.name}}))
  97. }
  98. func UpdateBase{{.table.name}}(c *gin.Context) {
  99. data := share.GetJsonAnyParam(c)
  100. {{.table.routerName}}, _ := data("{{.table.routerName}}")
  101. id, _ := data("id")
  102. toMap := UtilStructToMap(cast.ToStringMap({{.table.routerName}}))
  103. {{if $createBy}}toMap["create_by"] = nil{{end}}
  104. {{if $createTime}}toMap["create_time"] = nil{{end}}
  105. {{if $updateBy}}toMap["update_by"] = fmt.Sprint(GetUserIdByToken(c)){{end}}
  106. {{if $updateTime}}toMap["update_time"] = DateToString(time.Now()){{end}}
  107. set{{.table.name}}, b, err := manage.Set{{.table.name}}(toMap, cast.ToInt64(id))
  108. if err != nil || !b {
  109. c.JSON(200, CreateResultError(500, "修改错误"))
  110. return
  111. }
  112. c.JSON(200, CreateResultData(set{{.table.name}}))
  113. }
  114. func DeleteBase{{.table.name}}(c *gin.Context) {
  115. id := c.Query("id")
  116. res := manage.Delete{{.table.name}}(cast.ToInt64(id))
  117. if !res {
  118. c.JSON(200, CreateResultError(500, "删除错误"))
  119. return
  120. }
  121. c.JSON(200, CreateResult())
  122. }
  123. {{end}}