go install github.com/wuyan94zl/gotools
gotools init --package wuyan94zl/project
--package 或 -p 表示项目包名
common
|-- errcode
|-- code.go # 全局错误码定义
config
|-- config.go # 配置信息结构体
container
|-- conn
|-- gorm.go # gorm mysql连接实例
|-- redis.go # redis 连接实例
|-- kernal.go
|-- container.go # 全局容器
router
|-- route.go # 路由
main.go
config.yaml # 配置文件和config结构体对应
生成api
gotools api --dir v1/user --name info --params :id --method GET
--dir 表示api的文件目录 v1/user
--name 表示api接口名称 info
--params 表示路由参数 如::id
以上参数生成路由为:v1/user/info/:id,逻辑实现代码目录为:app/logic/v1/user/info.go
--method 表示api请求方式 GET POST DELETE PUT RESTFUL
一键生成定时任务功能包
gotools crontab --name mycron
crontab
|-- mycron
|-- cronjob.go
|-- crontab.go
1、在main函数中使用
func main(){
...
go crontab.NewInstance().Start()
...
}编辑 crontab/mycron/cronjob.go 代码即可
一键生成队列代码功能包
gotools queue --name myqueue
queue
|-- myqueue
|-- myqueue.go
|-- queue.go
在main函数中使用
func main(){
...
go queue.NewInstance("127.0.0.1:6379", "123456").Start()
...
}编辑 queue/myqueue/myqueue.go 代码
// myqueue.QueueKey 和 myqueue.Params{} 为上面设置的数据
queue.Add(myqueue.QueueKey, myqueue.Params{})根据sql一键生成gorm model代码包
以下所有命令在models目录下执行
1、创建user.sql
2、执行:gotools gorm --src user.sql --dir user --cache true
models
|-- user
|-- custom.go
|-- user_gen.go
|-- user.sql
注入
container/container.go
type Container struct{
...
UserModel user.UsersModel // 增加代码
...
}
// NewContainer 增加UserModel 实例
UserModel: user.NewUsersModel(gormConn, redisConn), // 增加代码使用
container.Instance().UserModel.Insert(ctx,&models.Users{})
container.Instance().UserModel.First(ctx,id)
container.Instance().UserModel.Update(ctx,&models.Users{})
container.Instance().UserModel.Delete(ctx,&models.Users{})