package {{.pkgName}} import ( {{.imports}} // "项目名称/orm/model" // 引入model包 // "github.com/jinzhu/copier" // 用于复制结构体 // "github.com/spf13/cast" // 用于类型转换 // "github.com/dromara/carbon/v2" // 用于时间操作 ) type {{.logic}} struct { logx.Logger ctx context.Context svcCtx *svc.ServiceContext } {{if .hasDoc}}{{.doc}}{{end}} func New{{.logic}}(ctx context.Context, svcCtx *svc.ServiceContext) *{{.logic}} { return &{{.logic}}{ Logger: logx.WithContext(ctx), ctx: ctx, svcCtx: svcCtx, } } func (l *{{.logic}}) {{.function}}({{.request}}) {{.responseType}} { // 这里编写业务逻辑,要注意错误处理,写好注释 // 示例1. 新增一条记录 // var {{.pkgName}} model.XXX // 定义一个结构体,用于存储查询结果 // copier.Copy(&{{.pkgName}}, &req) // 将请求参数复制到结构体中,或者逐个定义: xxx.Name = req.Name // gormRes := l.svcCtx.GormDb.Create(&{{.pkgName}}) // 调用Gorm的Create方法,新增一条记录 // 示例2. 查询一条记录 // var {{.pkgName}} model.XXX // 定义一个结构体,用于存储查询结果 // gormRes := l.svcCtx.GormDb.Where("id = ?",req.Id).First(&{{.pkgName}}) // 调用Gorm的First方法,查询一条记录 // 示例3. 更新一条记录 // var {{.pkgName}} model.XXX // 定义一个结构体,用于存储查询结果 // gormRes := l.svcCtx.GormDb.Where("id = ?",req.Id).First(&{{.pkgName}}) // 调用Gorm的First方法,查询一条记录 // copier.Copy(&{{.pkgName}}, &req) // 将请求参数复制到结构体中,或者逐个定义: xxx.Name = req.Name // gormRes := l.svcCtx.GormDb.Save(&{{.pkgName}}) // 调用Gorm的Save方法,更新一条记录 // 示例4. 删除一条记录 // var {{.pkgName}} model.XXX // 定义一个结构体,用于存储查询结果 // gormRes := l.svcCtx.GormDb.Where("id = ?",req.Id).Delete(&{{.pkgName}}) // 调用Gorm的delete方法,删除一条记录 // 示例5. 查询多条记录 // var {{.pkgName}} []model.XXX // 定义一个结构体,用于存储查询结果 // gormRes := l.svcCtx.GormDb.Where("name = ?",req.Name).Find(&{{.pkgName}}) // 调用Gorm的Find方法,查询多条记录 // if gormRes.Error != nil || gormRes.RowsAffected == 0 { // 如果操作数据发生错误,或为找到数据,则返回错误信息 // return &types.Response{ // Success: false, // Code : 500, // Msg: "{{if .hasDoc}}{{.doc}}{{end}}"+"操作失败", // 修改错误时返回信息 // Data: gormRes.Error, // },nil // } return &types.Response{ Success: true, Code : 200, Msg: "{{if .hasDoc}}{{.doc}}{{end}}"+"操作成功", // 修改正确时返回信息 Data: nil, // 修改返回数据,如:上面定义的 {{.pkgName}} },nil }