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 (
{{.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

13
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
```

Loading…
Cancel
Save