news 2026/4/23 14:46:43

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/23 13:01:29

掌握AI金融预测:5步打造智能交易系统

在金融市场中,预测价格走势一直是投资者面临的最大挑战。传统方法需要深厚的专业知识和复杂的编程技能,这让普通投资者望而却步。Kronos金融模型作为一个专门为金融市场语言设计的基础模型,正在改变这一现状。 【免费下载链接】Kronos Kronos…

作者头像 李华
网站建设 2026/4/23 11:14:15

Kronos金融时序预测终极指南:从入门到精通

在当今瞬息万变的金融市场中,时序预测已经成为投资决策和风险管理的核心技术。Kronos作为专为金融数据设计的AI基础模型,正在彻底改变我们对价格分析和波动率分析的认知。无论你是金融新手还是专业投资者,这份完整指南都将帮助你快速掌握这个…

作者头像 李华
网站建设 2026/4/23 12:04:10

Open-AutoGLM部署为何总是超时?资深架构师亲授6条调优黄金法则

第一章:Open-AutoGLM部署为何总是超时?在部署 Open-AutoGLM 模型时,频繁出现连接超时或初始化失败的问题,已成为开发者面临的常见痛点。超时问题通常并非单一因素导致,而是由网络配置、资源分配与服务启动逻辑共同作用…

作者头像 李华
网站建设 2026/4/23 14:45:05

AWS CLI终极指南:5步精通云端文档智能提取

AWS CLI终极指南:5步精通云端文档智能提取 【免费下载链接】aws-cli Universal Command Line Interface for Amazon Web Services 项目地址: https://gitcode.com/GitHub_Trending/aw/aws-cli 想要快速从海量PDF文档中提取关键业务数据?AWS CLI结…

作者头像 李华
网站建设 2026/4/22 16:42:22

【Open-AutoGLM Python实战指南】:掌握自动化代码生成的5大核心技术

第一章:Open-AutoGLM Python实战指南概述Open-AutoGLM 是一个面向自动化自然语言处理任务的开源 Python 框架,专为简化大语言模型(LLM)的调用、微调与集成而设计。它封装了常见 NLP 流程,支持一键式文本生成、意图识别…

作者头像 李华
网站建设 2026/4/23 11:15:34

掌握AssetStudio:5步快速上手Unity资源提取终极指南

掌握AssetStudio:5步快速上手Unity资源提取终极指南 【免费下载链接】AssetStudio AssetStudioMod - modified version of Perfares AssetStudio, mainly focused on UI optimization and some functionality enhancements. 项目地址: https://gitcode.com/gh_mir…

作者头像 李华