| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134 |
- package router
- import (
- "demo/data/dao/manage"
- "demo/data/domain"
- "demo/share"
- "fmt"
- "github.com/gin-gonic/gin"
- "github.com/mitchellh/mapstructure"
- "github.com/spf13/cast"
- "strings"
- "time"
- "unicode"
- )
- func UtilStructToMap(m map[string]interface{}) map[string]interface{} {
- res := make(map[string]interface{})
- for s := range m {
- result := ""
- for i, r := range s {
- if unicode.IsUpper(r) && i > 0 {
- result += "_"
- }
- result += strings.ToLower(string(r))
- }
- res[result] = m[s]
- }
- return res
- }
- func DateToString(date time.Time) string {
- return date.Format("2006-01-02 15:04:05")
- }
- {{range .gens}}
- func Base{{.table.name}}Router(group *gin.RouterGroup) {
- BaseArticleGroup := group.Group("/back/base")
- PushRouter(BaseArticleGroup, "GET", "/{{.table.routerName}}", GetBase{{.table.name}}ById)
- PushRouter(BaseArticleGroup, "POST", "/{{.table.routerName}}/list", GetBase{{.table.name}}List)
- PushRouter(BaseArticleGroup, "POST", "/{{.table.routerName}}/in", GetBase{{.table.name}}ListInId)
- PushRouter(BaseArticleGroup, "POST", "/{{.table.routerName}}", SaveBase{{.table.name}})
- PushRouter(BaseArticleGroup, "PUT", "/{{.table.routerName}}", UpdateBase{{.table.name}})
- PushRouter(BaseArticleGroup, "DELETE", "/{{.table.routerName}}", DeleteBase{{.table.name}})
- }
- {{end}}
- {{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}}
- //================{{.table.name}} {{.table.tableComment}}==============================
- func GetBase{{.table.name}}ById(c *gin.Context) {
- id := c.Query("id")
- {{.table.routerName}}, err := manage.Get{{.table.name}}ById(cast.ToInt64(id))
- if err != nil {
- c.JSON(200, CreateResultError(500, "用户查询不存在"))
- return
- }
- c.JSON(200, CreateResultData({{.table.routerName}}))
- return
- }
- func GetBase{{.table.name}}List(c *gin.Context) {
- data := share.GetJsonAnyParam(c)
- param, _ := data("param")
- pageNum, _ := data("pageNum")
- pageSize, _ := data("pageSize")
- {{.table.routerName}} := domain.{{.table.name}}Query{}
- err := mapstructure.Decode(param, &{{.table.routerName}})
- if err != nil {
- c.JSON(200, CreateResultError(500, "json转换错误"))
- return
- }
- list, err := manage.Get2{{.table.name}}List({{.table.routerName}}, cast.ToInt(pageNum), cast.ToInt(pageSize))
- if err != nil {
- c.JSON(200, CreateResultError(500, "查询错误"))
- return
- }
- c.JSON(200, CreateResultData(list))
- }
- func GetBase{{.table.name}}ListInId(c *gin.Context) {
- data := share.GetJsonAnyParam(c)
- idsString, _ := data("ids")
- var ids []int64
- err := mapstructure.Decode([]byte(cast.ToString(idsString)), &ids)
- list, err := manage.Get{{.table.name}}ListInId(ids)
- if err != nil {
- c.JSON(200, CreateResultError(500, "查询错误"))
- return
- }
- c.JSON(200, CreateResultData(list))
- }
- func SaveBase{{.table.name}}(c *gin.Context) {
- data := share.GetJsonAnyParam(c)
- {{.table.routerName}}Param, _ := data("{{.table.routerName}}")
- {{.table.routerName}} := domain.{{.table.name}}{}
- err := mapstructure.Decode({{.table.routerName}}Param, &{{.table.routerName}})
- {{if $createBy}}{{.table.routerName}}.CreateBy = fmt.Sprint(GetUserIdByToken(c)){{end}}
- {{if $createTime}}{{.table.routerName}}.CreateTime = time.Now(){{end}}
- save{{.table.name}}, err := manage.Save{{.table.name}}(&{{.table.routerName}})
- if err != nil {
- c.JSON(200, CreateResultError(500, "保存错误"))
- return
- }
- c.JSON(200, CreateResultData(save{{.table.name}}))
- }
- func UpdateBase{{.table.name}}(c *gin.Context) {
- data := share.GetJsonAnyParam(c)
- {{.table.routerName}}, _ := data("{{.table.routerName}}")
- id, _ := data("id")
- toMap := UtilStructToMap(cast.ToStringMap({{.table.routerName}}))
- {{if $createBy}}toMap["create_by"] = nil{{end}}
- {{if $createTime}}toMap["create_time"] = nil{{end}}
- {{if $updateBy}}toMap["update_by"] = fmt.Sprint(GetUserIdByToken(c)){{end}}
- {{if $updateTime}}toMap["update_time"] = DateToString(time.Now()){{end}}
- set{{.table.name}}, b, err := manage.Set{{.table.name}}(toMap, cast.ToInt64(id))
- if err != nil || !b {
- c.JSON(200, CreateResultError(500, "修改错误"))
- return
- }
- c.JSON(200, CreateResultData(set{{.table.name}}))
- }
- func DeleteBase{{.table.name}}(c *gin.Context) {
- id := c.Query("id")
- res := manage.Delete{{.table.name}}(cast.ToInt64(id))
- if !res {
- c.JSON(200, CreateResultError(500, "删除错误"))
- return
- }
- c.JSON(200, CreateResult())
- }
- {{end}}
|