From 67b2bb5d89fd406571f865dcd15317f16c4c09f7 Mon Sep 17 00:00:00 2001 From: dark Date: Mon, 23 Dec 2024 22:47:33 +0800 Subject: [PATCH] api logic --- 1.7.3/api/logic.tpl | 42 ++++++++++++++++++++++++++++++++++++------ readme.md | 13 ++++++++++++- 2 files changed, 48 insertions(+), 7 deletions(-) diff --git a/1.7.3/api/logic.tpl b/1.7.3/api/logic.tpl index 68ee5f3..e1e98b7 100644 --- a/1.7.3/api/logic.tpl +++ b/1.7.3/api/logic.tpl @@ -2,6 +2,8 @@ package {{.pkgName}} import ( {{.imports}} + // "github.com/jinzhu/copier" + // model "项目名称"/orm/model ) type {{.logic}} struct { @@ -21,16 +23,44 @@ func New{{.logic}}(ctx context.Context, svcCtx *svc.ServiceContext) *{{.logic}} func (l *{{.logic}}) {{.function}}({{.request}}) {{.responseType}} { // 这里编写业务逻辑,要注意错误处理,写好注释 - // 示例1. 查询 - // var xxx model.XXX - // err := l.svcCtx.Db.Model(model.XXX{}).Where("id = ?", id).Find(&xxx).Error - + // 示例1. 新增一条记录 + // var xxx model.XXX // 定义一个结构体,用于存储查询结果 + // copier.Copy(&xxx, &req) // 将请求参数复制到结构体中,或者逐个定义: xxx.Name = req.Name + // gromRes := l.svcCtx.GromDb.Create(&xxx) // 调用Grom的Create方法,新增一条记录 + + // 示例2. 查询一条记录 + // var xxx model.XXX // 定义一个结构体,用于存储查询结果 + // gromRes := l.svcCtx.GromDb.Where("id = ?",req.Id).First(&xxx) // 调用Grom的First方法,查询一条记录 + + // 示例3. 更新一条记录 + // var xxx model.XXX // 定义一个结构体,用于存储查询结果 + // gromRes := l.svcCtx.GromDb.Where("id = ?",req.Id).First(&xxx) // 调用Grom的First方法,查询一条记录 + // copier.Copy(&xxx, &req) // 将请求参数复制到结构体中,或者逐个定义: xxx.Name = req.Name + // gromRes := l.svcCtx.GromDb.Save(&xxx) // 调用Grom的Save方法,更新一条记录 + + // 示例4. 删除一条记录 + // var xxx model.XXX // 定义一个结构体,用于存储查询结果 + // gromRes := l.svcCtx.GromDb.Where("id = ?",req.Id).Delete(&xxx) // 调用Grom的delete方法,删除一条记录 + + // 示例5. 查询多条记录 + // var xxx []model.XXX // 定义一个结构体,用于存储查询结果 + // gromRes := l.svcCtx.GromDb.Where("name = ?",req.Name).Find(&xxx) // 调用Grom的Find方法,查询多条记录 + + // if gromRes.Error != nil || gromRes.RowsAffected == 0 { // 如果操作数据发生错误,或为找到数据,则返回错误信息 + // return &types.Response{ + // Success: false, + // Code : 500, + // Msg: "新增记录时发生错误", + // Data: nil, + // },nil + // } + return &types.Response{ Success: true, Code : 200, - Msg: "{{if .hasDoc}}{{.doc}}{{end}}"+" success", - Data: nil, + Msg: "{{if .hasDoc}}{{.doc}}{{end}}"+" success", // 修改正确返回信息 + Data: nil, // 修改返回数据,如:上面定义的xxx },nil diff --git a/readme.md b/readme.md index b28db7a..530fa37 100644 --- a/readme.md +++ b/readme.md @@ -1,10 +1,13 @@ ## 开始新项目 + - 检查环境 + ```shell goctl env check --install --verbose --force ``` - 创建项目,xxx 改为项目名 + ```shell mkdir xxx cd xxx @@ -12,11 +15,19 @@ go mod init xxx go get -u github.com/zeromicro/go-zero@latest go mod tidy ``` + - 创建服务 + ```shell mkdir api -cd api +cd api goctl api new xxx --style go-zero --remote https://gitea.gxxhygroup.com/dark/zero-template cd xxx go mod tidy ``` + +- 根据 xxx.api 生成代码 + +```shell +goctl api go -api xxx.api -dir . --style go_zero --remote https://gitea.gxxhygroup.com/dark/zero-template +```