tmpl.go 8.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233
  1. package temp
  2. var Dao = `
  3. {{$modelName:=.GetModelPathName}}
  4. {{$daoName:=.GetStructName}}
  5. package {{.DaoPackage}}
  6. import (
  7. "cjjy-cases-server/business/dto"
  8. "cjjy-cases-server/business/exception"
  9. "cjjy-cases-server/business/model"
  10. "cjjy-cases-server/business/util/pagination"
  11. "context"
  12. "gitea.ckfah.com/cjjy/gocommon/pkg/cerror"
  13. "gitea.ckfah.com/cjjy/gocommon/pkg/database/db"
  14. "gitea.ckfah.com/cjjy/gocommon/pkg/logger"
  15. "xorm.io/xorm"
  16. )
  17. type {{$daoName}} struct {
  18. }
  19. func {{.GetNewStructFunc}}() *{{$daoName}} {
  20. return &{{$daoName}}{}
  21. }
  22. var (
  23. _{{.GetModelName}} = new({{$modelName}})
  24. )
  25. func (*{{$daoName}}) TableName() string {
  26. return _{{.GetModelName}}.TableName()
  27. }
  28. func (thisDao *{{$daoName}}) GetById(ctx context.Context, id uint64) (*{{$modelName}}, cerror.Cerror) {
  29. methodName := "{{$daoName}}.GetById"
  30. logger.Infoc(ctx, "[%s] start,id:%d", methodName, id)
  31. result := &{{$modelName}}{}
  32. session := db.StdSlaveDB().Where("id=?", id)
  33. isExist, err := SoftDeleteFilterDao(ctx, session).Cols("*").Get(result)
  34. if err != nil {
  35. logger.Errorc(ctx, "[%s] call db.Get() err,err:%+v,id:%d", methodName, err, id)
  36. return nil, exception.DbExecError(err)
  37. }
  38. logger.Infoc(ctx, "[%s] end,id:%d,result:%+v", methodName, id, result)
  39. if !isExist {
  40. return nil, nil
  41. }
  42. return result, nil
  43. }
  44. func (thisDao *{{$daoName}}) GetByIds(ctx context.Context, ids []uint64) ([]{{$modelName}}, cerror.Cerror) {
  45. methodName := "{{$daoName}}.GetByIds"
  46. logger.Infoc(ctx, "[%s] start,ids:%+v", methodName, ids)
  47. result := make([]{{$modelName}}, 0)
  48. session := db.StdSlaveDB().In("id", ids)
  49. err := SoftDeleteFilterDao(ctx, session).Cols("*").Find(&result)
  50. if err != nil {
  51. logger.Errorc(ctx, "[%s] call db.Find() err,err:%+v,ids:%+v", methodName, err, ids)
  52. return nil, exception.DbExecError(err)
  53. }
  54. logger.Infoc(ctx, "[%s] end,ids:%+v,result:%+v", methodName, ids, result)
  55. return result, nil
  56. }
  57. func (thisDao *{{$daoName}}) GetMapsByIds(ctx context.Context, ids []uint64) (map[uint64]{{$modelName}}, cerror.Cerror) {
  58. methodName := "{{$daoName}}.GetMapsByIds"
  59. logger.Infoc(ctx, "[%s] start,ids:%+v", methodName, ids)
  60. resultMaps := make(map[uint64]{{$modelName}})
  61. result, err := thisDao.GetByIds(ctx, ids)
  62. if err != nil {
  63. logger.Errorc(ctx, "[%s] call thisDao.GetByIds() err,err:%+v,ids:%+v", methodName, err, ids)
  64. return nil, exception.DbExecError(err)
  65. }
  66. if len(result) > 0 {
  67. for _, item := range result {
  68. resultMaps[item.ID] = item
  69. }
  70. }
  71. logger.Infoc(ctx, "[%s] end,ids:%+v,result:%+v,resultMaps:%+v", methodName, ids, result, resultMaps)
  72. return resultMaps, nil
  73. }
  74. func (thisDao *{{$daoName}}) DeleteById(ctx context.Context, session *xorm.Session, id uint64) (int64, cerror.Cerror) {
  75. methodName := "{{$daoName}}.DeleteById"
  76. logger.Infoc(ctx, "[%s] start,id:%d", methodName, id)
  77. effectRow, err := SoftDeleteFilterDao(ctx, session).Where("id=?", id).Delete(thisDao)
  78. if err != nil {
  79. logger.Errorc(ctx, "[%s] call db.Delete() err,err:%+v,id:%d", methodName, err, id)
  80. return 0, exception.DbDeleteError(err)
  81. }
  82. logger.Infoc(ctx, "[%s] end,id:%d,effectRow:%+v", methodName, id, effectRow)
  83. return effectRow, nil
  84. }
  85. func (thisDao *{{$daoName}}) UpdateById(ctx context.Context, session *xorm.Session, params *model.CjjyCase) (int64, cerror.Cerror) {
  86. methodName := "{{$daoName}}.UpdateById"
  87. logger.Infoc(ctx, "[%s] start,params:%+v", methodName, params)
  88. effectRow, err := session.Table(thisDao).Where("id=?", params.ID).Update(params)
  89. if err != nil {
  90. logger.Errorc(ctx, "[%s] call db.Update() err,err:%+v,params:%+v", methodName, err, params)
  91. return 0, exception.DbUpdateError(err)
  92. }
  93. logger.Infoc(ctx, "[%s] end,params:%+v,effectRow:%d", methodName, params, effectRow)
  94. return effectRow, nil
  95. }
  96. func (thisDao *{{$daoName}}) UpdateMapById(ctx context.Context, session *xorm.Session, id uint64, params map[string]interface{}) (int64, cerror.Cerror) {
  97. methodName := "{{$daoName}}.UpdateMapById"
  98. logger.Infoc(ctx, "[%s] start,id:%d,params:%+v", methodName, id, params)
  99. effectRow, err := SoftDeleteFilterDao(ctx, session).Table(thisDao).Where("id=?", id).Update(params)
  100. if err != nil {
  101. logger.Errorc(ctx, "[%s] call db.Update() err,err:%+v,id:%d,params:%+v", methodName, err, id, params)
  102. return 0, exception.DbUpdateError(err)
  103. }
  104. logger.Infoc(ctx, "[%s] end,id:%d,params:%+v,effectRow:%+v", methodName, id, params, effectRow)
  105. return effectRow, nil
  106. }
  107. func (thisDao *{{$daoName}}) UpdateMapByIds(ctx context.Context, session *xorm.Session, ids []uint64, params map[string]interface{}) (int64, cerror.Cerror) {
  108. methodName := "{{$daoName}}.UpdateMapByIds"
  109. logger.Infoc(ctx, "[%s] start,ids:%+v,params:%+v", methodName, ids, params)
  110. effectRow, err := SoftDeleteFilterDao(ctx, session).Table(thisDao).In("id", ids).Update(params)
  111. if err != nil {
  112. logger.Errorc(ctx, "[%s] call db.Update() err,err:%+v,ids:%+v,params:%+v", methodName, err, ids, params)
  113. return 0, exception.DbUpdateError(err)
  114. }
  115. logger.Infoc(ctx, "[%s] end,ids:%+v,params:%+v,effectRow:%+v", methodName, ids, params, effectRow)
  116. return effectRow, nil
  117. }
  118. func (thisDao *{{$daoName}}) InsertOne(ctx context.Context, session *xorm.Session, params *{{$modelName}}) (int64, cerror.Cerror) {
  119. methodName := "{{$daoName}}.InsertOne"
  120. logger.Infoc(ctx, "[%s] start,params:%+v", methodName, params)
  121. effectRow, err := session.InsertOne(params)
  122. if err != nil {
  123. logger.Errorc(ctx, "[%s] call db.InsertOne() err,err:%+v,params:%+v", methodName, err, params)
  124. return 0, exception.DbInsertError(err)
  125. }
  126. logger.Infoc(ctx, "[%s] end,params:%+v,effectRow:%+v", methodName, params, effectRow)
  127. return effectRow, nil
  128. }
  129. func (thisDao *{{$daoName}}) InsertMany(ctx context.Context, session *xorm.Session, params *[]{{$modelName}}) (int64, cerror.Cerror) {
  130. methodName := "{{$daoName}}.InsertMany"
  131. logger.Infoc(ctx, "[%s] start,params:%+v", methodName, params)
  132. effectRow, err := session.Insert(params)
  133. if err != nil {
  134. logger.Errorc(ctx, "[%s] call db.Insert() err,err:%+v,params:%+v", methodName, err, params)
  135. return 0, exception.DbInsertError(err)
  136. }
  137. logger.Infoc(ctx, "[%s] end,params:%+v,effectRow:%+v", methodName, params, effectRow)
  138. return effectRow, nil
  139. }
  140. func (thisDao *{{$daoName}}) GetAll(ctx context.Context) ([]{{$modelName}}, cerror.Cerror) {
  141. methodName := "{{$daoName}}.GetAll"
  142. logger.Infoc(ctx, "[%s] start", methodName)
  143. result := make([]{{$modelName}}, 0)
  144. session := db.StdSlaveDB().Cols("*")
  145. err := SoftDeleteFilterDao(ctx, session).Find(&result)
  146. if err != nil {
  147. logger.Errorc(ctx, "[%s] call db.Find() err,err:%+v", methodName, err)
  148. return nil, exception.DbExecError(err)
  149. }
  150. logger.Infoc(ctx, "[%s] end,result:%+v", methodName, result)
  151. return result, nil
  152. }
  153. func (thisDao *{{$daoName}}) GetAllMaps(ctx context.Context) (map[uint64]{{$modelName}}, cerror.Cerror) {
  154. methodName := "{{$daoName}}.GetAllMaps"
  155. logger.Infoc(ctx, "[%s] start", methodName)
  156. resultMaps := make(map[uint64]{{$modelName}})
  157. result, err := thisDao.GetAll(ctx)
  158. if err != nil {
  159. logger.Errorc(ctx, "[%s] call thisDao.GetAll() err,err:%+v", methodName, err)
  160. return nil, exception.DbExecError(err)
  161. }
  162. if len(result) > 0 {
  163. for _, item := range result {
  164. resultMaps[item.ID] = item
  165. }
  166. }
  167. logger.Infoc(ctx, "[%s] end,result:%+v,resultMaps:%+v", methodName, result, resultMaps)
  168. return resultMaps, nil
  169. }
  170. func (thisDao *{{$daoName}}) GetPageList(ctx context.Context, params *dto.GetPageListParams) ([]{{$modelName}}, int64, cerror.Cerror) {
  171. methodName := "{{$daoName}}.GetPageList"
  172. logger.Infoc(ctx, "[%s] start,params:%+v", methodName, params)
  173. result := make([]{{$modelName}}, 0)
  174. session := db.StdSlaveDB().Table(new({{$modelName}}))
  175. start, limit := pagination.GetLimitAndCount(params.NewPageRequest)
  176. count, err := SoftDeleteFilterDao(ctx, session).Limit(limit, start).Desc("id").FindAndCount(&result)
  177. if err != nil {
  178. logger.Errorc(ctx, "[%s] call db.FindAndCount() err,err:%+v,params:%+v", methodName, err, params)
  179. return nil, 0, exception.DbExecError(err)
  180. }
  181. logger.Infoc(ctx, "[%s] end,result:%+v,count:%d,params:%+v", methodName, result, count, params)
  182. return result, count, nil
  183. }
  184. `
  185. var Model = `
  186. package {{.PackageName}}
  187. {{if .HasTimeFiled}}
  188. import (
  189. "time"
  190. )
  191. {{end}}
  192. /**
  193. {{.GetCreateSql}}
  194. */
  195. type {{.ModelName}} struct {
  196. {{range .Fields}}
  197. {{.GetGoField}} {{.GetGoType}} {{if .GetTag}}{{.GetTag}}{{end}}{{end}}
  198. }
  199. func (*{{.ModelName}}) TableName() string {
  200. return "{{.TableName}}"
  201. }
  202. `
  203. var Dto = `
  204. type {{Upper .TableName}}Dto struct {
  205. {{range .TableField}}
  206. {{.GetGoField}} {{.GetGoDaoType}} {{.GetDtoTag}} {{if .ColumnComment}}//{{.ColumnComment}}{{end}}{{end}}
  207. }
  208. `