You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

70 lines
2.7 KiB

package {{.pkgName}}
import (
{{.imports}}
// "github.com/jinzhu/copier" // 用于复制结构体
// "项目名称/orm/model" // 引入model包
// "{{.path}}/internal/types" // 引入types包
// "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
// gromRes := l.svcCtx.GromDb.Create(&{{.pkgName}}) // Grom的Create方法
// 2.
// var {{.pkgName}} model.XXX //
// gromRes := l.svcCtx.GromDb.Where("id = ?",req.Id).First(&{{.pkgName}}) // Grom的First方法
// 3.
// var {{.pkgName}} model.XXX //
// gromRes := l.svcCtx.GromDb.Where("id = ?",req.Id).First(&{{.pkgName}}) // Grom的First方法
// copier.Copy(&{{.pkgName}}, &req) // xxx.Name = req.Name
// gromRes := l.svcCtx.GromDb.Save(&{{.pkgName}}) // Grom的Save方法
// 4.
// var {{.pkgName}} model.XXX //
// gromRes := l.svcCtx.GromDb.Where("id = ?",req.Id).Delete(&{{.pkgName}}) // Grom的delete方法
// 5.
// var {{.pkgName}} []model.XXX //
// gromRes := l.svcCtx.GromDb.Where("name = ?",req.Name).Find(&{{.pkgName}}) // Grom的Find方法
// if gromRes.Error != nil || gromRes.RowsAffected == 0 { //
// return &types.Response{
// Success: false,
// Code : 500,
// Msg: "XXXX发生错误",
// Data: gromRes.Error,
// },nil
// }
return &types.Response{
Success: true,
Code : 200,
Msg: "{{if .hasDoc}}{{.doc}}{{end}}"+" success", //
Data: nil, // {{.pkgName}}
},nil
}