news 2026/6/25 10:24:34

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/6/21 5:05:26

ER-Save-Editor终极指南:告别《艾尔登法环》存档修改烦恼

ER-Save-Editor终极指南:告别《艾尔登法环》存档修改烦恼 【免费下载链接】ER-Save-Editor Elden Ring Save Editor. Compatible with PC and Playstation saves. 项目地址: https://gitcode.com/GitHub_Trending/er/ER-Save-Editor 还在为《艾尔登法环》中错…

作者头像 李华
网站建设 2026/6/19 0:39:11

VoxCPM语音合成:5秒打造专属语音助手的终极指南

VoxCPM语音合成:5秒打造专属语音助手的终极指南 【免费下载链接】VoxCPM-0.5B 项目地址: https://ai.gitcode.com/OpenBMB/VoxCPM-0.5B 突破性技术亮点 VoxCPM语音合成技术彻底改变了传统语音克隆的复杂流程,仅需5秒音频就能生成高度逼真的个性…

作者头像 李华
网站建设 2026/6/17 14:02:37

终极配置指南:让Lively动态壁纸流畅运行的完整方案

终极配置指南:让Lively动态壁纸流畅运行的完整方案 【免费下载链接】lively Free and open-source software that allows users to set animated desktop wallpapers and screensavers powered by WinUI 3. 项目地址: https://gitcode.com/gh_mirrors/li/lively …

作者头像 李华
网站建设 2026/6/14 18:13:37

onoff终极指南:快速掌握Node.js GPIO控制

onoff终极指南:快速掌握Node.js GPIO控制 【免费下载链接】onoff GPIO access and interrupt detection with Node.js 项目地址: https://gitcode.com/gh_mirrors/on/onoff 在物联网和嵌入式开发的世界里,GPIO(通用输入输出&#xff0…

作者头像 李华
网站建设 2026/6/19 23:41:27

Sol2终极指南:轻松实现C++与Lua的高效交互

Sol2是一个专为C开发者设计的现代化Lua绑定库,它彻底改变了传统C与Lua交互的复杂方式。无论你是需要将C逻辑暴露给Lua脚本,还是希望为应用程序添加灵活的脚本支持,Sol2都能提供简单直接的解决方案。 【免费下载链接】sol2 Sol3 (sol2 v3.0) -…

作者头像 李华
网站建设 2026/6/21 4:16:21

揭秘智谱Open-AutoGLM底层架构:如何实现高效AI任务自动优化

第一章:智谱Open-AutoGLM教程环境准备与依赖安装 在开始使用 Open-AutoGLM 之前,需确保本地已配置 Python 环境(建议 Python 3.8)。通过 pip 安装核心依赖包:# 安装智谱AI官方SDK pip install zhipuai# 安装AutoGLM框架…

作者头像 李华