package dao import ( "github.com/druidcaesa/gotool" "ulink-admin/frame" "ulink-admin/modules/{{.ModuleName}}/models/req" "ulink-admin/modules/{{.ModuleName}}/models/model" "ulink-admin/pkg/page" "ulink-admin/pkg/base" ) type {{.ClassNameUpper}}Dao struct { base.BaseDao } // Page 查询{{.FunctionName}}分页数据 func (this {{.ClassNameUpper}}Dao) Page(query *req.{{.ClassNameUpper}}Query, list interface{}) int64 { session := this.GetSession().Table(model.{{.ClassNameUpper}}{}.TableName()) {{range $index, $item := .Columns}} {{if eq $item.GoType "string" }} if !gotool.StrUtils.HasEmpty(query.{{$item.ColumnNameUpper}}) { session.And("{{$item.ColumnName}} = ?", query.{{$item.ColumnNameUpper}}) }{{else if or (eq $item.GoType "int") (eq $item.GoType "int64") }} if query.{{$item.ColumnNameUpper}}>0 { session.And("{{$item.ColumnName}} = ?", query.{{$item.ColumnNameUpper}}) }{{end}}{{end}} if !gotool.StrUtils.HasEmpty(query.BeginTime) { session.And("date_format(u.create_time,'%y%m%d') >= date_format(?,'%y%m%d')", query.BeginTime) } if !gotool.StrUtils.HasEmpty(query.EndTime) { session.And("date_format(u.create_time,'%y%m%d') <= date_format(?,'%y%m%d')", query.EndTime) } session.Desc("id") total,err := session.Limit(query.PageSize, page.StartSize(query.PageNum, query.PageSize)).FindAndCount(list) if err != nil { frame.Throw(frame.SQL_CODE, "数据查询错误"+err.Error()) } return total } // List 查询{{.FunctionName}}分页数据 func (this {{.ClassNameUpper}}Dao) List(query *req.{{.ClassNameUpper}}Query, list interface{}) { session := this.GetSession().Table(model.{{.ClassNameUpper}}{}.TableName()) {{range $index, $item := .Columns}} {{if eq $item.GoType "string" }} if !gotool.StrUtils.HasEmpty(query.{{$item.ColumnNameUpper}}) { session.And("{{$item.ColumnName}} = ?", query.{{$item.ColumnNameUpper}}) }{{else if or (eq $item.GoType "int") (eq $item.GoType "int64") }} if query.{{$item.ColumnNameUpper}}>0 { session.And("{{$item.ColumnName}} = ?", query.{{$item.ColumnNameUpper}}) }{{end}}{{end}} if !gotool.StrUtils.HasEmpty(query.BeginTime) { session.And("date_format(u.create_time,'%y%m%d') >= date_format(?,'%y%m%d')", query.BeginTime) } if !gotool.StrUtils.HasEmpty(query.EndTime) { session.And("date_format(u.create_time,'%y%m%d') <= date_format(?,'%y%m%d')", query.EndTime) } session.Desc("id") err := session.Find(list) if err != nil { frame.Throw(frame.SQL_CODE, "数据查询错误"+err.Error()) } }