1 Star 0 Fork 0

xlizy/common-go

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
rpc.go 1.40 KB
一键复制 编辑 原始数据 按行查看 历史
xlizy 提交于 2024-12-19 17:55 . save
package common_rpc
import (
"context"
"gitee.com/xlizy/common-go/base/enums/common_error"
"gitee.com/xlizy/common-go/base/response"
"gitee.com/xlizy/common-go/utils/zlog"
"gitee.com/xlizy/rpc-interface/rpc_pbs"
"time"
)
var (
CtxOptionsTimeOut = "timeout"
CtxOptionsShowLog = "showLog"
)
func R(rpcResult *rpc_pbs.RpcResult, err error) *response.Response {
if err != nil {
zlog.Error("Rpc接口异常信息:{}", err.Error())
return response.Error(common_error.RPC_CALL_ERROR, nil)
}
res := &response.Response{}
res.Success = rpcResult.Success
res.Code = rpcResult.Code
res.Msg = rpcResult.Msg
res.ResponseTime = rpcResult.ResponseTime
res.TraceId = rpcResult.TraceId
if rpcResult.Code == common_error.REQUEST_ARGUMENT_NOT_VALID.Code() {
var data rpc_pbs.InvalidParams
if e := rpcResult.Data.UnmarshalTo(&data); e == nil {
res.Data = data.Items
} else {
}
return res
}
res.Data = rpcResult.Data
return res
}
func CustomCtx(options map[string]any) context.Context {
finalCtx := context.TODO()
finalCtx = context.WithValue(finalCtx, CtxOptionsTimeOut, 30*time.Second)
finalCtx = context.WithValue(finalCtx, CtxOptionsShowLog, true)
if len(options) > 0 {
for k, v := range options {
finalCtx = context.WithValue(finalCtx, k, v)
}
}
return finalCtx
}
func DefaultCtx() context.Context {
parent := context.TODO()
return context.WithValue(parent, CtxOptionsTimeOut, 30*time.Second)
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/xlizy/common-go.git
git@gitee.com:xlizy/common-go.git
xlizy
common-go
common-go
v0.4.4

搜索帮助