1 Star 0 Fork 0

xlizy/common-go

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
util.go 1.22 KB
一键复制 编辑 原始数据 按行查看 历史
xlizy 提交于 2024-11-01 11:35 . 优化
package response
import (
"gitee.com/xlizy/common-go/utils/common_utils"
"gitee.com/xlizy/rpc-interface/rpc_pbs"
"reflect"
)
func RpcRsp(rsp, data any) *Response {
rpcResValue := reflect.ValueOf(rsp).Elem().FieldByName("Result")
rpcRes := rpcResValue.Interface().(*rpc_pbs.Result)
res := &Response{
Success: rpcRes.Success,
Code: rpcRes.Code,
Msg: rpcRes.Msg,
ResponseTime: rpcRes.ResponseTime,
TraceId: rpcRes.TraceId,
}
if data != nil {
rpcDataValue := reflect.ValueOf(rsp).Elem().FieldByName("Data")
if !rpcDataValue.IsNil() {
common_utils.DeepCopy(data, rpcDataValue.Interface())
}
res.Data = data
}
return res
}
func RpcRspByDataFieldName(rsp, data any, dataFieldName string) *Response {
rpcResValue := reflect.ValueOf(rsp).Elem().FieldByName("Result")
rpcRes := rpcResValue.Interface().(*rpc_pbs.Result)
res := &Response{
Success: rpcRes.Success,
Code: rpcRes.Code,
Msg: rpcRes.Msg,
ResponseTime: rpcRes.ResponseTime,
TraceId: rpcRes.TraceId,
}
rpcDataValue := reflect.ValueOf(rsp).Elem().FieldByName(dataFieldName)
if !rpcDataValue.IsNil() {
_ = common_utils.DeepCopy(data, rpcDataValue.Interface())
}
res.Data = data
return res
}
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.20

搜索帮助