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  }