Browse Source

api logic

master
dark 6 months ago
parent
commit
67b2bb5d89
  1. 42
      1.7.3/api/logic.tpl
  2. 13
      readme.md

42
1.7.3/api/logic.tpl

@ -2,6 +2,8 @@ package {{.pkgName}}
import ( import (
{{.imports}} {{.imports}}
// "github.com/jinzhu/copier"
// model "项目名称"/orm/model
) )
type {{.logic}} struct { type {{.logic}} struct {
@ -21,16 +23,44 @@ func New{{.logic}}(ctx context.Context, svcCtx *svc.ServiceContext) *{{.logic}}
func (l *{{.logic}}) {{.function}}({{.request}}) {{.responseType}} { func (l *{{.logic}}) {{.function}}({{.request}}) {{.responseType}} {
// 这里编写业务逻辑,要注意错误处理,写好注释 // 这里编写业务逻辑,要注意错误处理,写好注释
// 示例1. 查询 // 示例1. 新增一条记录
// var xxx model.XXX // var xxx model.XXX // 定义一个结构体,用于存储查询结果
// err := l.svcCtx.Db.Model(model.XXX{}).Where("id = ?", id).Find(&xxx).Error // 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{ return &types.Response{
Success: true, Success: true,
Code : 200, Code : 200,
Msg: "{{if .hasDoc}}{{.doc}}{{end}}"+" success", Msg: "{{if .hasDoc}}{{.doc}}{{end}}"+" success", // 修改正确返回信息
Data: nil, Data: nil, // 修改返回数据,如:上面定义的xxx
},nil },nil

13
readme.md

@ -1,10 +1,13 @@
## 开始新项目 ## 开始新项目
- 检查环境 - 检查环境
```shell ```shell
goctl env check --install --verbose --force goctl env check --install --verbose --force
``` ```
- 创建项目,xxx 改为项目名 - 创建项目,xxx 改为项目名
```shell ```shell
mkdir xxx mkdir xxx
cd xxx cd xxx
@ -12,11 +15,19 @@ go mod init xxx
go get -u github.com/zeromicro/go-zero@latest go get -u github.com/zeromicro/go-zero@latest
go mod tidy go mod tidy
``` ```
- 创建服务 - 创建服务
```shell ```shell
mkdir api mkdir api
cd api cd api
goctl api new xxx --style go-zero --remote https://gitea.gxxhygroup.com/dark/zero-template goctl api new xxx --style go-zero --remote https://gitea.gxxhygroup.com/dark/zero-template
cd xxx cd xxx
go mod tidy go mod tidy
``` ```
- 根据 xxx.api 生成代码
```shell
goctl api go -api xxx.api -dir . --style go_zero --remote https://gitea.gxxhygroup.com/dark/zero-template
```

Loading…
Cancel
Save