news 2026/4/3 6:25:47

webframe generaldb 的一个优化:pageresultError等

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
webframe generaldb 的一个优化:pageresultError等
开源地址: https://gitee.com/gowebframe3/webframe.gittype BaseDao[P generaliface.GoPkey, E generaliface.IBaseModel[P]] struct { *GobaseDao[P, E] ifDebug bool *pagedb.PageDbRequest } 原先
type UiPayRequest struct { basedto.BaseEntity uibase.UiQueryRequest[int64, *payentity.PayOrderLine] }
type UiQueryRequest[P generaliface.GoPkey, E generaliface.IBaseModel[P]] struct { UiQueryParam[P, E] *generaldao.BaseDao[P, E] Token string `json:"token"` QueryDbName string `json:"queryDbName"` beforQuery func() `json:"-"` afterQuery func(E generaliface.IBaseModel[P]) `json:"-"` beforeSave func() `json:"-"` }
func (self *UiPayRequest) QueryByOrderId(payOrderId any) *pagemodel.PageResult[*payentity.PayOrderLine] { if gconv.Int64(payOrderId) == 0 {return pagemodel.ResultFailPageResult[*payentity.PayOrderLine]("payOrderId is zero") }var dao = paydao.FindBeanPayOrderLineDao() dao.DbEq("id", payOrderId) return dao.QueryModel(1) }

==》优化后:

func (self *UiPayRequest) QueryByOrderId(payOrderId any) *pagemodel.PageResult[*payentity.PayOrderLine] { if gconv.Int64(payOrderId) == 0 {return self.PageResultFail ("payOrderId is zero")} var dao = paydao.FindBeanPayOrderLineDao() dao.DbEq("id", payOrderId) return dao.QueryModel(1) }

实现:

func (self *BaseDao[P, E]) ResultData(data E) *pagemodel.IchubResult[E] { return pagemodel.ResultOk(data, true) } func (self *BaseDao[P, E]) ResultFail(msg string) *pagemodel.IchubResult[E] { return pagemodel.ResultFail[E](msg) } func (self *BaseDao[P, E]) ResultError(err error) *pagemodel.IchubResult[E] { return pagemodel.ResultErr[E](err) } func (self *BaseDao[P, E]) ResultFailUser(msg string) *pagemodel.IchubResult[E] { return pagemodel.ResultFailCode[E](33000, msg) } func (self *BaseDao[P, E]) ResultErrorUser(err error) *pagemodel.IchubResult[E] { return pagemodel.ResultFailCode[E](33000, err.Error()) } func (self *BaseDao[P, E]) ResultErrorCode(code int, err error) *pagemodel.IchubResult[E] { return pagemodel.ResultFailCode[E](code, err.Error()) } func (self *BaseDao[P, E]) ResultFailCode(code int, msg string) *pagemodel.IchubResult[E] { return pagemodel.ResultFailCode[E](code, msg) } func (self *BaseDao[P, E]) PageResultData(data []E) *pagemodel.PageResult[E] { return pagemodel.ResultOkPageResult[E](data) } func (self *BaseDao[P, E]) PageResultFail(msg string) *pagemodel.PageResult[E] { return pagemodel.ResultFailPageResult[E](msg) } func (self *BaseDao[P, E]) PageResultError(err error) *pagemodel.PageResult[E] { return pagemodel.ResultErrPageResult[E](err) } func (self *BaseDao[P, E]) PageResultFailUser(msg string) *pagemodel.PageResult[E] { return pagemodel.ResultFailPageResultCode[E](33000, msg) } func (self *BaseDao[P, E]) PageResultErrorUser(err error) *pagemodel.PageResult[E] { return pagemodel.ResultFailPageResultCode[E](33000, err.Error()) } func (self *BaseDao[P, E]) PageResultFailCode(code int, msg string) *pagemodel.PageResult[E] { return pagemodel.ResultFailPageResultCode[E](code, msg) } func (self *BaseDao[P, E]) PageResultErrorCode(code int, err error) *pagemodel.PageResult[E] { return pagemodel.ResultFailPageResultCode[E](code, err.Error()) }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/3 5:02:27

3步搞定Home Assistant温控器:从零开始的智能温度调控实战指南

3步搞定Home Assistant温控器:从零开始的智能温度调控实战指南 【免费下载链接】core home-assistant/core: 是开源的智能家居平台,可以通过各种组件和插件实现对家庭中的智能设备的集中管理和自动化控制。适合对物联网、智能家居以及想要实现家庭自动化…

作者头像 李华
网站建设 2026/4/2 11:22:07

终极Pandas数据分析实战指南:从入门到精通

在当今数据驱动的时代,掌握高效的数据处理技能已成为数据分析师的核心竞争力。本文基于100个Pandas练习题项目,为你呈现一套完整的数据分析实战解决方案,帮助你在短时间内快速提升数据处理能力。 【免费下载链接】100-pandas-puzzles 100 dat…

作者头像 李华
网站建设 2026/3/31 11:39:35

WPF照片浏览器:构建现代化图片管理系统的技术实践

WPF照片浏览器:构建现代化图片管理系统的技术实践 【免费下载链接】WPF-Samples Repository for WPF related samples 项目地址: https://gitcode.com/gh_mirrors/wp/WPF-Samples 在当今数字媒体爆炸式增长的时代,如何高效管理和展示海量图片资源…

作者头像 李华
网站建设 2026/4/2 18:11:03

Keil5编辑器增强设置:完整指南开启智能提示

让Keil5像VS Code一样智能:嵌入式开发者的编辑器逆袭指南你有没有过这样的经历?在调试一个复杂的STM32项目时,想调用HAL_TIM_PWM_Start()函数,却记不清参数顺序;写GPIO配置代码时,反复翻手册确认是GPIO_PIN…

作者头像 李华
网站建设 2026/4/3 1:15:35

Taro跨端开发框架终极指南:一站式构建多平台应用

Taro跨端开发框架终极指南:一站式构建多平台应用 【免费下载链接】taro 开放式跨端跨框架解决方案,支持使用 React/Vue/Nerv 等框架来开发微信/京东/百度/支付宝/字节跳动/ QQ 小程序/H5/React Native 等应用。 https://taro.zone/ 项目地址: https://…

作者头像 李华
网站建设 2026/3/26 21:30:14

PyTorch分布式训练新纪元:FSDP与RPC框架深度解析

【免费下载链接】tutorials PyTorch tutorials. 项目地址: https://gitcode.com/gh_mirrors/tuto/tutorials 当你的模型参数数量突破百亿大关,单张GPU的内存就像小公寓塞进大象,怎么都装不下。这就是为什么我们需要FSDP和RPC——它们让大规模模型训…

作者头像 李华