github.com/yoogoc/kratos-scaffold@v0.0.0-20240402032722-a538b3c18955/generator/tmpl/data_ent_transfer.tmpl (about) 1 {{- /*gotype: github.com/yoogoc/kratos-scaffold/generator.Data*/ -}} 2 package data 3 4 import ( 5 "{{.CurrentPkgPath}}/biz" 6 "{{.CurrentPkgPath}}/data/ent" 7 "{{.CurrentPkgPath}}/data/ent/{{.Name | ToLower}}" 8 "{{.CurrentPkgPath}}/data/ent/predicate" 9 ) 10 11 func {{.Name | ToLowerCamel}}Biz2Ent(source *biz.{{.Name | ToCamel}}) *ent.{{.Name | ToCamel}} { 12 return &ent.{{.Name | ToCamel}}{ 13 {{- range $i, $f := .Fields }} 14 {{ $f.Name | ToEntName }}: source.{{ $f.Name | ToCamel }}, 15 {{- end }} 16 } 17 } 18 19 func bulk{{.Name | ToCamel}}Biz2Ent(source []*biz.{{.Name | ToCamel}}) []*ent.{{.Name | ToCamel}} { 20 var list []*ent.{{.Name | ToCamel}} 21 for _, item := range source { 22 list = append(list, {{.Name | ToLowerCamel}}Biz2Ent(item)) 23 } 24 return list 25 } 26 27 func {{.Name | ToLowerCamel}}Ent2Biz(source *ent.{{.Name | ToCamel}}) *biz.{{.Name | ToCamel}} { 28 return &biz.{{.Name | ToCamel}}{ 29 {{- range $i, $f := .Fields }} 30 {{ $f.Name | ToCamel }}: source.{{ $f.Name | ToEntName }}, 31 {{- end }} 32 } 33 } 34 35 func bulk{{.Name | ToCamel}}Ent2Biz(source []*ent.{{.Name | ToCamel}}) []*biz.{{.Name | ToCamel}} { 36 var list []*biz.{{.Name | ToCamel}} 37 for _, item := range source { 38 list = append(list, {{.Name | ToLowerCamel}}Ent2Biz(item)) 39 } 40 return list 41 } 42 43 func {{.Name | ToLowerCamel}}Param2Predicates(param *biz.{{.Name | ToCamel}}Param) []predicate.{{.Name | ToCamel}} { 44 {{- $modelName := .Name |ToLower}} 45 {{- $strToPreMap := .StrToPreMap}} 46 var ps []predicate.{{.Name | ToCamel}} 47 {{- range $i, $f := .Fields.ParamFields }} 48 {{- $isIn := eq $f.Type $strToPreMap.in }} 49 {{ if $isIn }} 50 if len(param.{{ $f.Name | ToCamel }}) > 0 { 51 ps = append(ps, {{$modelName}}.{{ $f.EntName }}(param.{{ $f.Name | ToCamel }}...)) 52 } 53 {{- else }} 54 if param.{{ $f.Name | ToCamel }} != nil { 55 ps = append(ps, {{$modelName}}.{{ $f.EntName }}(*param.{{ $f.Name | ToCamel }})) 56 } 57 {{- end }} 58 {{- end }} 59 return ps 60 }