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 { // 如果操作数据发生错误,则返回错误信息 // return &types.Response{ // Success: false, // Code : 500, // Msg: "{{if .hasDoc}}{{.doc}}{{end}}"+"操作失败", // 修改错误时返回信息 // Data: gormRes.Error.Error(), // },nil // } // // 判断是否未找到数据 // if gormRes.RowsAffected == 0 { // 如果未找到数据,则返回错误信息 // return &types.Response{ // Success: false, // Code : 404, // Msg: "{{if .hasDoc}}{{.doc}}{{end}}"+"未找到数据", // 修改未找到数据时返回信息 // Data: "未找到数据", // },nil // } // 返回正确信息 return &types.Response{ Success: true, Code : 200, Msg: "{{if .hasDoc}}{{.doc}}{{end}}"+"操作成功", // 修改正确时返回信息 //Data: {{.pkgName}}, // 修改返回数据,如:上面定义的 {{.pkgName}} },nil }