news 2026/6/10 18:08:51

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/10 10:25:28

实时数据流处理平台搭建:从零构建企业级数据管道

实时数据流处理平台搭建:从零构建企业级数据管道 【免费下载链接】doccano Open source annotation tool for machine learning practitioners. 项目地址: https://gitcode.com/gh_mirrors/do/doccano 为什么需要专业的流处理平台? 你是否还在使…

作者头像 李华
网站建设 2026/6/10 11:38:45

STM32CubeMX界面汉化配置:从安装到生效操作指南

STM32CubeMX 中文汉化实战指南:从零开始搞定界面本地化 你有没有过这样的经历?刚打开 STM32CubeMX,面对满屏的英文菜单——“Clock Configuration”、“ NVIC Settings”、“Generate Code”……哪怕你是英语六级选手,也得反应两…

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

为什么顶尖开发者都在用Open-AutoGLM?移动端下载全流程深度解析

第一章:为什么顶尖开发者都在用Open-AutoGLM顶尖开发者持续追求开发效率与模型集成能力的极致平衡,而 Open-AutoGLM 正是这一需求下的理想解决方案。它不仅提供了一套高度自动化的自然语言处理流水线,还支持灵活的插件架构,使开发…

作者头像 李华
网站建设 2026/6/10 13:43:13

YOLO目标检测支持中文标签输出,本地化更友好

YOLO目标检测支持中文标签输出,本地化更友好 在智能工厂的质检流水线上,一名新入职的操作员正盯着监控屏幕。画面中不断闪过的电子元件被一个个框出,旁边标注着“capacitor”、“resistor”——这些英文术语让他皱起了眉头。尽管系统识别准确…

作者头像 李华
网站建设 2026/6/10 11:38:32

反检测浏览器完全指南:如何高效规避网站追踪

反检测浏览器完全指南:如何高效规避网站追踪 【免费下载链接】camoufox 🦊 Anti-detect browser 项目地址: https://gitcode.com/gh_mirrors/ca/camoufox 在当今网络环境中,网站追踪技术日益复杂,传统浏览器难以有效保护用…

作者头像 李华
网站建设 2026/6/10 11:41:26

揭秘Open-AutoGLM底层机制:如何用Python构建智能编程助手

第一章:揭秘Open-AutoGLM:智能编程助手的崛起Open-AutoGLM 是新一代开源智能编程助手的核心引擎,融合了大语言模型与自动化代码生成技术,专为开发者打造高效、精准的编码协作体验。其背后依托先进的自然语言理解能力,能…

作者头像 李华