| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 |
- package manage
- import (
- "demo/configs"
- "demo/data/domain"
- "demo/data/domain/vo"
- )
- {{range .gens}}
- func Get{{.table.name}}ById(id int64) (domain.{{.table.name}}, error) {
- var {{.table.routerName}} domain.{{.table.name}}
- _, err := configs.Engine.Table("{{.table.tableName}}").Where("id = ?", id).Get(&{{.table.routerName}})
- if err != nil {
- return {{.table.routerName}}, err
- }
- return {{.table.routerName}}, nil
- }
- func Get{{.table.name}}ListInId(ids []int64) ([]domain.{{.table.name}}, error) {
- rows, err := configs.Engine.Table("{{.table.tableName}}").In("id", ids).Rows(&domain.{{.table.name}}{})
- if err != nil {
- return make([]domain.{{.table.name}}, 0), err
- }
- defer rows.Close()
- var list []domain.{{.table.name}}
- for rows.Next() {
- var u domain.{{.table.name}}
- rows.Scan(&u)
- list = append(list, u)
- }
- return list, nil
- }
- func Get{{.table.name}}List({{.table.routerName}} domain.{{.table.name}}, pageNum, pageSize int) (vo.BaseListVo, error) {
- var arr []domain.{{.table.name}}
- Count, err := configs.Engine.Table("{{.table.tableName}}").Limit(pageSize, (pageNum-1)*pageSize).FindAndCount(&arr, &{{.table.routerName}})
- var vo vo.BaseListVo
- if err != nil {
- return vo, err
- }
- if err != nil {
- return vo, err
- }
- vo.PageNum = pageNum
- vo.PageSize = pageSize
- vo.List = make([]any, len(arr))
- for i, v := range arr {
- vo.List[i] = v
- }
- vo.Total = int(Count)
- return vo, nil
- }
- func Get2{{.table.name}}List(query domain.{{.table.name}}Query, pageNum, pageSize int) (vo.BaseListVo, error) {
- var arr []domain.{{.table.name}}
- session := configs.Engine.Table("{{.table.tableName}}").Limit(pageSize, (pageNum-1)*pageSize){{$defData := "0"}}{{range .tableColumns}}{{if eq .goType "int"}}{{$defData = "0"}}{{else if eq .goType "int64"}}{{$defData = "0"}}{{else if eq .goType "float64"}}{{$defData = "0"}}{{else if eq .goType "string"}}{{$defData = "\"\""}}{{else if eq .goType "time.Time"}}{{$defData = "\"\""}}{{else}}{{$defData = "\"\""}}{{end}}
- {{if eq .queryType "BETWEEN"}}
- if query.{{.goField}}Start != {{$defData}} || query.{{.goField}}End != {{$defData}}{
- session.Where("{{.columnName}} between ? and ?", query.{{.goField}}Start, query.{{.goField}}End)
- }{{else if or (eq .queryType "LIKE") (eq .queryType "like")}}
- if query.{{.goField}} != {{$defData}}{
- session.Where("{{.columnName}} like ?", "%"+query.{{.goField}}+"%")
- }{{else}}{{$v := ""}}{{if eq .queryType ""}} {{$v = "= ?"}}{{else if eq .queryType "EQ"}} {{$v = "= ?"}}{{else if eq .queryType "NEQ"}}{{$v = "!= ?"}}{{else if eq .queryType "GT"}}{{$v = "> ?"}}{{else if eq .queryType "LT"}}{{$v = "< ?"}}{{else if eq .queryType "GTEQ"}}{{$v = ">= ?"}}{{else if eq .queryType "LTEQ"}}{{$v = "<= ?"}}{{else}}{{$v = "= ?"}}{{end}}
- if query.{{.goField}} != {{$defData}}{
- session.Where("{{.columnName}} {{$v}}", query.{{.goField}})
- }{{end}}{{end}}
- Count, err := session.FindAndCount(&arr, &query)
- var vo vo.BaseListVo
- if err != nil {
- return vo, err
- }
- if err != nil {
- return vo, err
- }
- vo.PageNum = pageNum
- vo.PageSize = pageSize
- vo.List = make([]any, len(arr))
- for i, v := range arr {
- vo.List[i] = v
- }
- vo.Total = int(Count)
- return vo, nil
- }
- func Save{{.table.name}}({{.table.routerName}} *domain.{{.table.name}}) (domain.{{.table.name}}, error) {
- _, err := configs.Engine.Table("{{.table.tableName}}").Insert(&{{.table.routerName}})
- if err != nil {
- return *{{.table.routerName}}, err
- }
- return *{{.table.routerName}}, nil
- }
- func Set{{.table.name}}({{.table.routerName}}Map map[string]interface{}, id int64) (domain.{{.table.name}}, bool, error) {
- var {{.table.routerName}} domain.{{.table.name}}
- _, err := configs.Engine.Table("{{.table.tableName}}").Where("id = ?", id).Update({{.table.routerName}}Map)
- if err != nil {
- return {{.table.routerName}}, false, err
- }
- return {{.table.routerName}}, true, nil
- }
- func Delete{{.table.name}}(id int64) bool {
- var {{.table.routerName}} domain.{{.table.name}}
- i, err := configs.Engine.Table("{{.table.tableName}}").Where("id = ?", id).Delete(&{{.table.routerName}})
- if err != nil {
- return false
- }
- return i > 0
- }
- {{end}}
|