39 lines
1.3 KiB
Go
39 lines
1.3 KiB
Go
package controller
|
|
|
|
import (
|
|
"context"
|
|
|
|
"easygoadmin/api/v1"
|
|
"easygoadmin/internal/service"
|
|
)
|
|
|
|
// ============================== 代码生成控制器 ==============================
|
|
|
|
// CGenerator 代码生成控制器
|
|
// 薄层控制器,仅负责参数透传,业务逻辑由 service.Generator() 处理
|
|
type CGenerator struct{}
|
|
|
|
// Page 数据表分页
|
|
// 分页返回数据库表元信息列表
|
|
func (c *CGenerator) Page(ctx context.Context, req *v1.GeneratorPageReq) (res *v1.GeneratorPageRes, err error) {
|
|
return service.Generator().Page(ctx, req)
|
|
}
|
|
|
|
// Preview 预览代码
|
|
// 根据所选数据表渲染代码,仅返回文件清单不落盘
|
|
func (c *CGenerator) Preview(ctx context.Context, req *v1.GeneratorPreviewReq) (res *v1.GeneratorPreviewRes, err error) {
|
|
return service.Generator().Preview(ctx, req)
|
|
}
|
|
|
|
// Generate 一键生成
|
|
// 生成代码文件并同步创建菜单、字典与路由
|
|
func (c *CGenerator) Generate(ctx context.Context, req *v1.GeneratorGenerateReq) (res *v1.GeneratorGenerateRes, err error) {
|
|
return service.Generator().Generate(ctx, req)
|
|
}
|
|
|
|
// BatchGenerate 批量生成
|
|
// 按数据表逐表生成,并返回各表的执行结果
|
|
func (c *CGenerator) BatchGenerate(ctx context.Context, req *v1.GeneratorBatchGenerateReq) (res *v1.GeneratorBatchGenerateRes, err error) {
|
|
return service.Generator().BatchGenerate(ctx, req)
|
|
}
|