dao.tpl 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. package dao
  2. import (
  3. "github.com/druidcaesa/gotool"
  4. "ulink-admin/frame"
  5. "ulink-admin/modules/{{.ModuleName}}/models/req"
  6. "ulink-admin/modules/{{.ModuleName}}/models/model"
  7. "ulink-admin/pkg/page"
  8. "ulink-admin/pkg/base"
  9. )
  10. type {{.ClassNameUpper}}Dao struct {
  11. base.BaseDao
  12. }
  13. // Page 查询{{.FunctionName}}分页数据
  14. func (this {{.ClassNameUpper}}Dao) Page(query *req.{{.ClassNameUpper}}Query, list interface{}) int64 {
  15. session := this.GetSession().Table(model.{{.ClassNameUpper}}{}.TableName())
  16. {{range $index, $item := .Columns}} {{if eq $item.GoType "string" }}
  17. if !gotool.StrUtils.HasEmpty(query.{{$item.ColumnNameUpper}}) {
  18. session.And("{{$item.ColumnName}} = ?", query.{{$item.ColumnNameUpper}})
  19. }{{else if or (eq $item.GoType "int") (eq $item.GoType "int64") }}
  20. if query.{{$item.ColumnNameUpper}}>0 {
  21. session.And("{{$item.ColumnName}} = ?", query.{{$item.ColumnNameUpper}})
  22. }{{end}}{{end}}
  23. if !gotool.StrUtils.HasEmpty(query.BeginTime) {
  24. session.And("date_format(u.create_time,'%y%m%d') >= date_format(?,'%y%m%d')", query.BeginTime)
  25. }
  26. if !gotool.StrUtils.HasEmpty(query.EndTime) {
  27. session.And("date_format(u.create_time,'%y%m%d') <= date_format(?,'%y%m%d')", query.EndTime)
  28. }
  29. session.Desc("id")
  30. total,err := session.Limit(query.PageSize, page.StartSize(query.PageNum, query.PageSize)).FindAndCount(list)
  31. if err != nil {
  32. frame.Throw(frame.SQL_CODE, "数据查询错误"+err.Error())
  33. }
  34. return total
  35. }
  36. // List 查询{{.FunctionName}}分页数据
  37. func (this {{.ClassNameUpper}}Dao) List(query *req.{{.ClassNameUpper}}Query, list interface{}) {
  38. session := this.GetSession().Table(model.{{.ClassNameUpper}}{}.TableName())
  39. {{range $index, $item := .Columns}} {{if eq $item.GoType "string" }}
  40. if !gotool.StrUtils.HasEmpty(query.{{$item.ColumnNameUpper}}) {
  41. session.And("{{$item.ColumnName}} = ?", query.{{$item.ColumnNameUpper}})
  42. }{{else if or (eq $item.GoType "int") (eq $item.GoType "int64") }}
  43. if query.{{$item.ColumnNameUpper}}>0 {
  44. session.And("{{$item.ColumnName}} = ?", query.{{$item.ColumnNameUpper}})
  45. }{{end}}{{end}}
  46. if !gotool.StrUtils.HasEmpty(query.BeginTime) {
  47. session.And("date_format(u.create_time,'%y%m%d') >= date_format(?,'%y%m%d')", query.BeginTime)
  48. }
  49. if !gotool.StrUtils.HasEmpty(query.EndTime) {
  50. session.And("date_format(u.create_time,'%y%m%d') <= date_format(?,'%y%m%d')", query.EndTime)
  51. }
  52. session.Desc("id")
  53. err := session.Find(list)
  54. if err != nil {
  55. frame.Throw(frame.SQL_CODE, "数据查询错误"+err.Error())
  56. }
  57. }