package utility import ( "context" "encoding/json" "github.com/gogf/gf/v2/frame/g" "net/rpc" ) type RpcParams struct { UserId string //用户id Answer string //答案原型 BiddingId string //招标信息id IsEnt bool //当前是否是企业身份 PageNum int //当前页码 PageSize int //每页数据 BaseUserId int64 //base_user_id } type Result struct { ErrCode int ErrMsg string ReplyMsg string } type RpcResult []byte // DoBusiness 调用业务意图处理 func DoBusiness(ctx context.Context, joggle string, param *RpcParams) (*Result, error) { client, err := rpc.DialHTTP("tcp", g.Cfg().MustGet(ctx, "chat.businessRpc", "").String()) defer client.Close() if err != nil { return nil, err } var repl RpcResult err = client.Call(joggle, param, &repl) if err != nil { return nil, err } rData := &Result{} err = json.Unmarshal(repl, rData) if err != nil { return nil, err } return rData, nil }