69 lines
2.8 KiB
Smarty
69 lines
2.8 KiB
Smarty
package service
|
|
|
|
import (
|
|
"context"
|
|
|
|
"easygoadmin/api/v1"
|
|
)
|
|
|
|
// 按模块独立拆分(代码生成器产出)。
|
|
// logic 方法签名变更时需同步维护本文件(不再整体运行 gf gen service)。
|
|
|
|
// ============================== {{.ModuleComment}}服务接口 ==============================
|
|
|
|
// I{{.ModelClass}} {{.ModuleComment}}服务接口
|
|
// 实现位于 internal/logic/{{.ModuleCamel}}.go
|
|
type I{{.ModelClass}} interface {
|
|
// Page {{.ModuleComment}}分页
|
|
// 按查询条件分页返回{{.ModuleComment}}列表
|
|
Page(ctx context.Context, req *v1.{{.ModelClass}}PageReq) (res *v1.{{.ModelClass}}PageRes, err error)
|
|
// List {{.ModuleComment}}平铺列表
|
|
// data 直接为数组,树形结构由前端构建
|
|
List(ctx context.Context, req *v1.{{.ModelClass}}ListReq) (res v1.{{.ModelClass}}ListRes, err error)
|
|
// Detail {{.ModuleComment}}详情
|
|
// 按主键ID查询详情
|
|
Detail(ctx context.Context, req *v1.{{.ModelClass}}DetailReq) (res *v1.{{.ModelClass}}DetailRes, err error)
|
|
// Add 新增{{.ModuleComment}}
|
|
// 新增成功后返回新记录ID
|
|
Add(ctx context.Context, req *v1.{{.ModelClass}}AddReq) (res *v1.{{.ModelClass}}IdRes, err error)
|
|
// Update 修改{{.ModuleComment}}
|
|
// 按主键ID更新记录
|
|
Update(ctx context.Context, req *v1.{{.ModelClass}}UpdateReq) (res *v1.{{.ModelClass}}UpdateRes, err error)
|
|
{{- if .HasStatus}}
|
|
// Status {{.ModuleComment}}状态
|
|
// 设置记录的状态字段
|
|
Status(ctx context.Context, req *v1.{{.ModelClass}}StatusReq) (res *v1.{{.ModelClass}}StatusRes, err error)
|
|
{{- end}}
|
|
// Delete 删除{{.ModuleComment}}
|
|
// 按主键ID删除单条记录
|
|
Delete(ctx context.Context, req *v1.{{.ModelClass}}DeleteReq) (res *v1.{{.ModelClass}}DeleteRes, err error)
|
|
// BatchDelete 批量删除{{.ModuleComment}}
|
|
// 按主键ID列表批量删除记录
|
|
BatchDelete(ctx context.Context, req *v1.{{.ModelClass}}BatchDeleteReq) (res *v1.{{.ModelClass}}BatchDeleteRes, err error)
|
|
{{- if .HasImport}}
|
|
// Import 导入{{.ModuleComment}}
|
|
// 接收上传的 xls/xlsx 文件并批量导入数据
|
|
Import(ctx context.Context, req *v1.{{.ModelClass}}ImportReq) (res *v1.{{.ModelClass}}ImportRes, err error)
|
|
{{- end}}
|
|
{{- if .HasExport}}
|
|
// Export 导出{{.ModuleComment}}
|
|
// 按查询条件导出数据并返回文件访问地址
|
|
Export(ctx context.Context, req *v1.{{.ModelClass}}ExportReq) (res *v1.{{.ModelClass}}ExportRes, err error)
|
|
{{- end}}
|
|
}
|
|
|
|
// local{{.ModelClass}} {{.ModuleComment}}服务实现实例
|
|
var local{{.ModelClass}} I{{.ModelClass}}
|
|
|
|
// {{.ModelClass}} 获取{{.ModuleComment}}服务实例
|
|
func {{.ModelClass}}() I{{.ModelClass}} {
|
|
if local{{.ModelClass}} == nil {
|
|
panic("implement not found for interface I{{.ModelClass}}, forgot register?")
|
|
}
|
|
return local{{.ModelClass}}
|
|
}
|
|
|
|
// Register{{.ModelClass}} 注册{{.ModuleComment}}服务实现
|
|
func Register{{.ModelClass}}(i I{{.ModelClass}}) {
|
|
local{{.ModelClass}} = i
|
|
} |