goweb: https://gitee.com/leijmdas/goweb/settings#index
new 一个工程
go env -w GO111MODULE=on go env -w GOPROXY=https://goproxy.cn,direct go env -w GOPRIVATE=gitee.com go env -w GOINSECURE=gitee.com
go get -u gitee.com/leijmdas/goweb go install gitee.com/leijmdas/goweb/cmd/goweb
goweb inst api
module singlecode go 1.20 replace ( golang.org/x/text => golang.org/x/text v0.21.0 golang.org/x/tools => golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d google.golang.org/grpc => google.golang.org/grpc v1.26.0 )
func (this *TestMetaFacadeSuite) Test001_MetaEs() { golog.Info(1) this.inst.MetaEs("ichub_sys_dept") }或者
goweb code db sys_user
goweb code es ichub_sys_dept
func (this *TestMetaFacadeSuite) Test003_MetaDb() { var q = elastic.NewBoolQuery() q.Must(elastic.NewRangeQuery("dept_id").Gte(1)) var qq = esentity.NewIchubSysDeptEs().DefaultOf(q) //qq.SetSource("dept_id,dept_name") qq.SetPageSize(2) var ret = qq.GeneralQuery() golog.Info(ret) }
用例结果
2025-04-28 23:01:18.788 [INFO] { "code": 200, "msg": "成功", "page_size": 2, "current": 1, "total": 10, "hosturl": "http://localhost:88/query", "if_cache": false, "data": [ { "created": "0001-01-01T00:00:00Z", "message": "", "order_nm": "0", "tags": "", "update_by": "", "create_by": "admin", "create_time": "2022-05-11T20:38:20+08:00", "dept_id": "100", "leader": "若依", "phone": "15888888888", "suggest_field": "", "del_flag": "0", "dept_name": "若依科技", "status": "0", "user": "", "ancestors": "0", "email": "ry@qq.com", "image": "", "location": "", "parent_id": "0" }, { "created": "0001-01-01T00:00:00Z", "message": "", "order_nm": "1", "tags": "", "update_by": "", "create_by": "admin", "create_time": "2022-05-11T20:38:20+08:00", "dept_id": "101", "leader": "若依", "phone": "15888888888", "suggest_field": "", "del_flag": "0", "dept_name": "深圳总公司", "status": "0", "user": "", "ancestors": "0,100", "email": "ry@qq.com", "image": "", "location": "", "parent_id": "100" } ] }
技术组件: 1 标准化:容器时区,ES、DB时间字段;地点、地区 2. 多语言组件langutils:单独的代码, 访问模式: 代码统一处理,不分散 3. DAO组件:增删改查聚合一个接口,一个是DB、一个是ES 4. 首页UI通用查询组件:查询请求和返回,封装为一个接口 5. 测试组件:一个自动化的接口检查,便于单元测试;一个rest接口的单元测试框架二次封装 6. 跨领域接口组件:聚合根的服务,没时间,关键是通用域 7. golog日志组件 8. godi依赖注入组件 9. 通用缓存ES查询应用组件: webfacade CacheListAll/CacheListOne 10. goframe开源组件:gconv类型转换,SliceStr集合转换等等--已使用 11. git.ichub.com/general/lo集合操作组件--已使用:Map、Filter、Reduce、ForEach;实用工具Uniq、Chunk、Flatten 12. rpcli组件rpcClient聚合组件--已使用 13. 极简代码组件singlecode 已经实现,只有我使用!:webcli120 inst data webcli120 codees test_website_utms webcli120 codedb website_utms 14. godbserver统一数据表接口服务:已经实现,未有人使用! 好处:降低代码复杂度, 提升开发效率,减少重复代码重复测试,提高开发质量。 快速支撑业务需求变化、提升系统运行性能等。 业务组件: 。。。。