github.com/yoogoc/kratos-scaffold@v0.0.0-20240402032722-a538b3c18955/generator/tmpl/data_proto_transfer.tmpl (about) 1 {{- /*gotype: github.com/yoogoc/kratos-scaffold/generator.Data*/ -}} 2 {{$modelName := .Name |ToLowerCamel}} 3 package data 4 5 import ( 6 "{{.CurrentPkgPath}}/biz" 7 {{$modelName}}V1 "{{ .ProtoPkgPath }}" 8 ) 9 10 func {{.Name | ToLowerCamel}}Biz2Proto(source *biz.{{.Name | ToCamel}}) *{{$modelName}}V1.{{.Name | ToCamel}} { 11 return &{{$modelName}}V1.{{.Name | ToCamel}}{ 12 {{- range $i, $f := .Fields }} 13 {{- if eq $f.FieldType.IsTime }} 14 {{ $f.Name | ToCamel }}: timestamppb.New(source.{{ $f.Name | ToCamel }}), 15 {{- else }} 16 {{ $f.Name | ToCamel }}: source.{{ $f.Name | ToCamel }}, 17 {{- end }} 18 {{- end }} 19 } 20 } 21 22 func bulk{{.Name | ToCamel}}Biz2Proto(source []*biz.{{.Name | ToCamel}}) []*{{$modelName}}V1.{{.Name | ToCamel}} { 23 var list []*{{$modelName}}V1.{{.Name | ToCamel}} 24 for _, item := range source { 25 list = append(list, {{.Name | ToLowerCamel}}Biz2Proto(item)) 26 } 27 return list 28 } 29 30 func {{.Name | ToLowerCamel}}Proto2Biz(source *{{$modelName}}V1.{{.Name | ToCamel}}) *biz.{{.Name | ToCamel}} { 31 return &biz.{{.Name | ToCamel}}{ 32 {{- range $i, $f := .Fields }} 33 {{- if eq $f.FieldType.IsTime }} 34 {{ $f.Name | ToCamel }}: source.{{ $f.Name | ToCamel }}.AsTime(), 35 {{- else }} 36 {{ $f.Name | ToCamel }}: source.{{ $f.Name | ToCamel }}, 37 {{- end }} 38 {{- end }} 39 } 40 } 41 42 func bulk{{.Name | ToCamel}}Proto2Biz(source []*{{$modelName}}V1.{{.Name | ToCamel}}) []*biz.{{.Name | ToCamel}} { 43 var list []*biz.{{.Name | ToCamel}} 44 for _, item := range source { 45 list = append(list, {{.Name | ToLowerCamel}}Proto2Biz(item)) 46 } 47 return list 48 } 49 50 func {{.Name | ToLowerCamel}}ParamBiz2Proto(param *biz.{{.Name | ToCamel}}Param) *{{$modelName}}V1.{{.Name | ToCamel}}Param { 51 {{- range $i, $f := .ParamFields }} 52 {{- if eq $f.FieldType.IsTime }} 53 {{- if eq $f.Type.IsIn }} 54 var {{ $f.Name }} []string 55 for _, item := range param.{{ $f.Name | ToCamel }} { 56 {{ $f.Name }} = append({{ $f.Name }}, item.Format(time.DateTime)) 57 } 58 {{- end }} 59 {{- end }} 60 {{- end }} 61 return &{{$modelName}}V1.{{.Name | ToCamel}}Param{ 62 {{- range $i, $f := .ParamFields }} 63 {{- if eq $f.FieldType.IsTime }} 64 {{- if eq $f.Type.IsIn }} 65 {{ $f.Name | ToCamel }}: {{ $f.Name }}, 66 {{- else }} 67 {{ $f.Name | ToCamel }}: param.{{ $f.Name | ToCamel }}.Format(time.DateTime), 68 {{- end }} 69 {{- else }} 70 {{ $f.Name | ToCamel }}: param.{{ $f.Name | ToCamel }}, 71 {{- end }} 72 {{- end }} 73 } 74 }