This commit is contained in:
anqiansong
2021-08-16 15:07:11 +08:00
committed by GitHub
parent c7f5aad83a
commit 14ec29991c
3 changed files with 27 additions and 2 deletions

View File

@@ -5,6 +5,7 @@ import (
"path/filepath"
"strings"
"github.com/emicklei/proto"
"github.com/tal-tech/go-zero/core/collection"
conf "github.com/tal-tech/go-zero/tools/goctl/config"
"github.com/tal-tech/go-zero/tools/goctl/rpc/parser"
@@ -90,7 +91,8 @@ func (g *DefaultGenerator) GenCall(ctx DirContext, proto parser.Proto, cfg *conf
alias := collection.NewSet()
for _, item := range proto.Message {
alias.AddStr(fmt.Sprintf("%s = %s", parser.CamelCase(item.Name), fmt.Sprintf("%s.%s", proto.PbPackage, parser.CamelCase(item.Name))))
msgName := getMessageName(*item.Message)
alias.AddStr(fmt.Sprintf("%s = %s", parser.CamelCase(msgName), fmt.Sprintf("%s.%s", proto.PbPackage, parser.CamelCase(msgName))))
}
err = util.With("shared").GoFmt(true).Parse(text).SaveTo(map[string]interface{}{
@@ -106,6 +108,26 @@ func (g *DefaultGenerator) GenCall(ctx DirContext, proto parser.Proto, cfg *conf
return err
}
func getMessageName(msg proto.Message) string {
var list = []string{msg.Name}
for {
parent := msg.Parent
if parent == nil {
break
}
parentMsg, ok := parent.(*proto.Message)
if !ok {
break
}
tmp := []string{parentMsg.Name}
list = append(tmp, list...)
msg = *parentMsg
}
return strings.Join(list, "_")
}
func (g *DefaultGenerator) genFunction(goPackage string, service parser.Service) ([]string, error) {
functions := make([]string, 0)
for _, rpc := range service.RPC {