dao.go.tmpl 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. {{$model_mame:=.GetModelPathName}}
  2. {{$dao_mame:=.GetStructName}}
  3. package {{.DaoPackage}}
  4. import (
  5. "context"
  6. )
  7. type {{$dao_mame}} struct {
  8. }
  9. func {{.GetNewStructFunc}}() *{{$dao_mame}} {
  10. return &{{$dao_mame}}{}
  11. }
  12. var (
  13. _{{.GetModelName}} = new({{$model_mame}})
  14. )
  15. func (*{{$dao_mame}}) TableName() string {
  16. return _{{.GetModelName}}.TableName()
  17. }
  18. func (this *{{$dao_mame}}) GetById(ctx context.Context, id uint64) (*{{$model_mame}}, cerror.Cerror) {
  19. result := &{{$model_mame}}{}
  20. isExist, err := db.SlaveDb().Where("id=?", id).Cols("*").Get(result)
  21. if err != nil {
  22. logger.Errorc(ctx, "[GetById] err,id=%d", id)
  23. return nil, exception.DbExecError(err)
  24. }
  25. if !isExist {
  26. return nil, nil
  27. }
  28. return result, nil
  29. }
  30. func (this *{{$dao_mame}}) GetByIds(ctx context.Context, ids []uint64) ([]{{$model_mame}}, cerror.Cerror) {
  31. list := make([]{{$model_mame}}, 0)
  32. err := db.SlaveDb().In("id", ids).Cols("*").Find(&list)
  33. if err != nil {
  34. logger.Errorc(ctx, "[GetByIds] err,ids=%v", ids)
  35. return nil, exception.DbExecError(err)
  36. }
  37. return list, nil
  38. }
  39. func (this *{{$dao_mame}}) DeleteById(ctx context.Context, session *xorm.Session, id uint64) (int64, cerror.Cerror) {
  40. effectRow, err := session.Where("id=?", id).Delete(this)
  41. if err != nil {
  42. logger.Errorc(ctx, "[DeleteById] err,id=%d", id)
  43. return 0, exception.DbDeleteError(err)
  44. }
  45. return effectRow, nil
  46. }
  47. func (this *{{$dao_mame}}) UpdateById(ctx context.Context, session *xorm.Session, id uint64, params map[string]interface{}) (int64, cerror.Cerror) {
  48. effectRow, err := session.Table(this).Where("id=?", id).Update(params)
  49. if err != nil {
  50. logger.Errorc(ctx, "[UpdateById] err,id=%d,params=%+v", id, params)
  51. return 0, exception.DbUpdateError(err)
  52. }
  53. return effectRow, nil
  54. }
  55. func (this *{{$dao_mame}}) UpdateByIds(ctx context.Context, session *xorm.Session, ids []uint64, params map[string]interface{}) (int64, cerror.Cerror) {
  56. effectRow, err := session.Table(this).In("id", ids).Update(params)
  57. if err != nil {
  58. logger.Errorc(ctx, "[UpdateByIds] err,ids=%d,params=%+v", ids, params)
  59. return 0, exception.DbUpdateError(err)
  60. }
  61. return effectRow, nil
  62. }
  63. func (this *{{$dao_mame}}) SaveOne(ctx context.Context, session *xorm.Session, param *{{$model_mame}}) (int64, cerror.Cerror) {
  64. effectRow, err := session.InsertOne(param)
  65. if err != nil {
  66. logger.Errorc(ctx, "[SaveOne] err,param=%+v", param)
  67. return 0, exception.DbInsertError(err)
  68. }
  69. return effectRow, nil
  70. }
  71. func (this *{{$dao_mame}}) SaveMany(ctx context.Context, session *xorm.Session, params *[]{{$model_mame}}) (int64, cerror.Cerror) {
  72. effectRow, err := session.Insert(params)
  73. if err != nil {
  74. logger.Errorc(ctx, "[SaveMany] err,params=%+v", params)
  75. return 0, exception.DbInsertError(err)
  76. }
  77. return effectRow, nil
  78. }
  79. func (this *{{$dao_mame}}) GetAll(ctx context.Context) ([]{{$model_mame}}, cerror.Cerror) {
  80. list := make([]{{$model_mame}}, 0)
  81. err := db.SlaveDb().Cols("*").Find(&list)
  82. if err != nil {
  83. logger.Errorc(ctx, "[GetAll] err")
  84. return nil, exception.DbExecError(err)
  85. }
  86. return list, nil
  87. }