Files
EasyGoAdmin_GoFrame_EleVue/templates/controller.tpl
T
2026-10-20 11:37:25 +08:00

80 lines
3.1 KiB
Smarty

package controller
import (
"context"
"easygoadmin/api/v1"
"easygoadmin/internal/service"
)
// ============================== {{.ModuleComment}}控制器 ==============================
// C{{.ModelClass}} {{.ModuleComment}}控制器
// 薄层控制器,仅负责参数透传,业务逻辑由 service.{{.ModelClass}}() 处理
type C{{.ModelClass}} struct{}
// Page {{.ModuleComment}}分页
// 按查询条件分页返回{{.ModuleComment}}列表
func (c *C{{.ModelClass}}) Page(ctx context.Context, req *v1.{{.ModelClass}}PageReq) (res *v1.{{.ModelClass}}PageRes, err error) {
return service.{{.ModelClass}}().Page(ctx, req)
}
// List {{.ModuleComment}}平铺列表
// data 直接为数组,树形结构由前端 buildTree 构建
func (c *C{{.ModelClass}}) List(ctx context.Context, req *v1.{{.ModelClass}}ListReq) (res v1.{{.ModelClass}}ListRes, err error) {
return service.{{.ModelClass}}().List(ctx, req)
}
// Detail {{.ModuleComment}}详情
// 按主键ID查询详情
func (c *C{{.ModelClass}}) Detail(ctx context.Context, req *v1.{{.ModelClass}}DetailReq) (res *v1.{{.ModelClass}}DetailRes, err error) {
return service.{{.ModelClass}}().Detail(ctx, req)
}
// Add 新增{{.ModuleComment}}
// 新增成功后返回新记录ID
func (c *C{{.ModelClass}}) Add(ctx context.Context, req *v1.{{.ModelClass}}AddReq) (res *v1.{{.ModelClass}}IdRes, err error) {
return service.{{.ModelClass}}().Add(ctx, req)
}
// Update 修改{{.ModuleComment}}
// 按主键ID更新记录
func (c *C{{.ModelClass}}) Update(ctx context.Context, req *v1.{{.ModelClass}}UpdateReq) (res *v1.{{.ModelClass}}UpdateRes, err error) {
return service.{{.ModelClass}}().Update(ctx, req)
}
{{- if .HasStatus}}
// Status {{.ModuleComment}}状态
// 设置记录的状态字段
func (c *C{{.ModelClass}}) Status(ctx context.Context, req *v1.{{.ModelClass}}StatusReq) (res *v1.{{.ModelClass}}StatusRes, err error) {
return service.{{.ModelClass}}().Status(ctx, req)
}
{{- end}}
// Delete 删除{{.ModuleComment}}
// 按主键ID删除单条记录
func (c *C{{.ModelClass}}) Delete(ctx context.Context, req *v1.{{.ModelClass}}DeleteReq) (res *v1.{{.ModelClass}}DeleteRes, err error) {
return service.{{.ModelClass}}().Delete(ctx, req)
}
// BatchDelete 批量删除{{.ModuleComment}}
// 按主键ID列表批量删除记录
func (c *C{{.ModelClass}}) BatchDelete(ctx context.Context, req *v1.{{.ModelClass}}BatchDeleteReq) (res *v1.{{.ModelClass}}BatchDeleteRes, err error) {
return service.{{.ModelClass}}().BatchDelete(ctx, req)
}
{{- if .HasImport}}
// Import 导入{{.ModuleComment}}
// 接收上传的 xls/xlsx 文件并批量导入数据
func (c *C{{.ModelClass}}) Import(ctx context.Context, req *v1.{{.ModelClass}}ImportReq) (res *v1.{{.ModelClass}}ImportRes, err error) {
return service.{{.ModelClass}}().Import(ctx, req)
}
{{- end}}
{{- if .HasExport}}
// Export 导出{{.ModuleComment}}
// 按查询条件导出数据并返回文件访问地址
func (c *C{{.ModelClass}}) Export(ctx context.Context, req *v1.{{.ModelClass}}ExportReq) (res *v1.{{.ModelClass}}ExportRes, err error) {
return service.{{.ModelClass}}().Export(ctx, req)
}
{{- end}}