1 Star 0 Fork 0

xlizy/common-go

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
util.go 1.20 KB
一键复制 编辑 原始数据 按行查看 历史
xlizy 提交于 2024-04-09 16:16 . init
package response
import (
"gitee.com/xlizy/common-go/utils/common"
rpcApi "gitee.com/xlizy/rpc-interface/pbs"
"reflect"
)
func RpcRsp(rsp, data any) *Response {
rpcResValue := reflect.ValueOf(rsp).Elem().FieldByName("Result")
rpcRes := rpcResValue.Interface().(*rpcApi.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.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().(*rpcApi.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.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.1.17

搜索帮助

0d507c66 1850385 C8b1a773 1850385