1 Star 0 Fork 0

gowebframe3/webframe

加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
ichub_result.go 3.47 KB
一键复制 编辑 原始数据 按行查看 历史
leijmdas 提交于 2026-01-31 21:42 +08:00 . add
package pagemodel
import (
"gitee.com/gowebframe3/webframe/goconfig/base/baseconsts"
"gitee.com/gowebframe3/webframe/goconfig/base/basedto"
"gitee.com/gowebframe3/webframe/goconfig/base/baseiface"
"gitee.com/gowebframe3/webframe/goconfig/ichublog/golog"
"reflect"
"gitee.com/gowebframe3/webframe/goconfig/base/baseutils"
"gitee.com/gowebframe3/webframe/goconfig/base/jsonutils"
"gitee.com/gowebframe3/webframe/goweb/page"
)
func ResultOkNil[T any](exist bool) *IchubResult[T] {
var ret = DefaultIchubResult[T]()
ret.Code = 200
ret.Msg = "成功"
ret.Exist = exist
ret.InitProxy(ret)
return ret
}
func ResultOk[T any](data T, exist bool) *IchubResult[T] {
var ret = DefaultIchubResult[T]()
ret.Code = baseconsts.HttpCodeIsOk
ret.Msg = "成功"
ret.Data = data
ret.IchubResult.Data = data
ret.Exist = exist
ret.InitProxy(ret)
return ret
}
func ResultErr[T any](err error) *IchubResult[T] {
var ret = DefaultIchubResult[T]()
ret.Code = baseconsts.ErrInternalServer_STATUS
ret.Msg = err.Error()
ret.InitProxy(ret)
return ret
}
func ResultFail[T any](msg string) *IchubResult[T] {
var ret = DefaultIchubResult[T]()
ret.Code = baseconsts.ErrInternalServer_STATUS
ret.Msg = msg
return ret
}
func ResultFailCode[T any](code int, msg string) *IchubResult[T] {
var ret = DefaultIchubResult[T]()
ret.Code = code
ret.Msg = msg
return ret
}
func FromResult[T baseiface.IpoolObj](result *basedto.IchubResult) *IchubResult[T] {
var ichubResult = NewIchubResult[T]()
return ichubResult.From(result)
}
func FromResultPage[T baseiface.IpoolObj](result *page.PageResult) *IchubResult[T] {
var ichubResult = NewIchubResult[T]()
return ichubResult.ValueOfPageResult(result)
}
type IchubResult[T any] struct {
Data T `json:"data"`
Total int `json:"total"`
*basedto.IchubResult
PageSize int `json:"pageSize"`
PageCurrent int `json:"pageCurrent"`
}
func DefaultIchubResult[T any]() *IchubResult[T] {
return NewIchubResult[T]()
}
func NewIchubResult[T any]() *IchubResult[T] {
var i = &IchubResult[T]{
IchubResult: basedto.NewIchubResult(),
}
i.InitProxy(i)
return i
}
func (self *IchubResult[T]) NewOfPtrType() T {
var ptr T
var objType = reflect.TypeOf(ptr)
var value = reflect.New(objType.Elem())
var entity = value.Interface().(T)
return entity
}
func (self *IchubResult[T]) ValueOfPageResult(result *page.PageResult) *IchubResult[T] {
self.IchubResult = &result.IchubResult
self.Data = self.NewOfPtrType()
baseutils.IfProxy(self.Data)
if result.IsSuccess() {
var err = jsonutils.Decode2StruList(result.Data, self.Data)
if err != nil {
golog.Error("IchubResult from err:", err)
}
if v, ok := baseutils.IfBaseModel(self.Data); ok {
v.BaseTime2Int()
}
}
self.IchubResult.Data = self.Data
return self
}
func (self *IchubResult[T]) To() *basedto.IchubResult {
var ret = self.IchubResult
ret.Data = self.Data
return ret
}
func (self *IchubResult[T]) From(result *basedto.IchubResult) *IchubResult[T] {
self.IchubResult = result
self.Data = self.NewOfPtrType()
var err = jsonutils.Decode2Stru(result.Data, self.Data)
if err != nil {
golog.Error("IchubResult from err:", err)
}
return self
}
func ResultFailCodeMsg[T any](code int, msg string) *IchubResult[T] {
var ret = DefaultIchubResult[T]()
ret.Code = code
ret.Msg = msg
return ret
}
func ResultFailUserMsg[T any](msg string) *IchubResult[T] {
return ResultFailCodeMsg[T](33000, msg)
}
func ResultFailSystemMsg[T any](msg string) *IchubResult[T] {
return ResultFailCodeMsg[T](500, msg)
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/gowebframe3/webframe.git
git@gitee.com:gowebframe3/webframe.git
gowebframe3
webframe
webframe
c26ccf857795

搜索帮助