2023-05-28 23:05:40 +08:00

94 lines
3.4 KiB
Go

/*
* @desc:代码生成
* @company:云南奇讯科技有限公司
* @Author: yixiaohu<yxh669@qq.com>
* @Date: 2022/10/26 16:55
*/
package controller
import (
"context"
"github.com/gogf/gf/v2/errors/gerror"
"github.com/tiger1103/gfast/v3/api/v1/common"
"github.com/tiger1103/gfast/v3/api/v1/system"
"github.com/tiger1103/gfast/v3/internal/app/system/model/entity"
"github.com/tiger1103/gfast/v3/internal/app/system/service"
)
var ToolsGenTable = new(toolsGenTableController)
type toolsGenTableController struct {
BaseController
}
// List 获取表数据
func (c *toolsGenTableController) List(ctx context.Context, req *system.ToolsGenTableSearchReq) (res *system.ToolsGenTableSearchRes, err error) {
res, err = service.ToolsGenTable().List(ctx, req)
return
}
// GetImportTableList 获取要导入的数据表列表
func (c *toolsGenTableController) GetImportTableList(ctx context.Context, req *system.ToolsGenTableImportSearchReq) (res *system.ToolsGenTableSearchRes, err error) {
res, err = service.ToolsGenTable().SelectDbTableList(ctx, req)
return
}
// ImportTableSave 导入表结构数据操作
func (c *toolsGenTableController) ImportTableSave(ctx context.Context, req *system.ToolsGenTableImportTableReq) (res *common.EmptyRes, err error) {
var tableList []*entity.ToolsGenTable
tableList, err = service.ToolsGenTable().SelectDbTableListByNames(ctx, req.Tables)
if err != nil {
return
}
if tableList == nil {
err = gerror.New("表信息不存在")
return
}
err = service.ToolsGenTable().ImportGenTable(ctx, tableList)
return
}
// DeleteTable 删除已导入的表数据
func (c *toolsGenTableController) DeleteTable(ctx context.Context, req *system.ToolsGenTableDeleteReq) (res *common.EmptyRes, err error) {
err = service.ToolsGenTable().DeleteTable(ctx, req)
return
}
// GenColumnList 获取编辑页面返回数据
func (c *toolsGenTableController) GenColumnList(ctx context.Context, req *system.ToolsGenTableEditReq) (res *system.ToolsGenTableEditRes, err error) {
res, err = service.ToolsGenTable().ColumnList(ctx, req)
return
}
// RelationTable 获取关联表数据
func (c *toolsGenTableController) RelationTable(ctx context.Context, req *system.ToolsGenRelationTableReq) (res *system.ToolsGenRelationTableRes, err error) {
res = new(system.ToolsGenRelationTableRes)
res.Data, err = service.ToolsGenTable().GetRelationTable(ctx)
return
}
// EditSave 生成配置编辑保存
func (c *toolsGenTableController) EditSave(ctx context.Context, req *system.ToolsGenTableColumnsEditReq) (res *system.ToolsGenTableColumnsEditRes, err error) {
err = service.ToolsGenTable().SaveEdit(ctx, req)
return
}
// Preview 代码预览
func (c *toolsGenTableController) Preview(ctx context.Context, req *system.ToolsGenTablePreviewReq) (res *system.ToolsGenTablePreviewRes, err error) {
res = new(system.ToolsGenTablePreviewRes)
res.Data, _, err = service.ToolsGenTable().GenData(ctx, req.TableId)
return
}
// BatchGenCode 代码生成
func (c *toolsGenTableController) BatchGenCode(ctx context.Context, req *system.ToolsGenTableBatchGenCodeReq) (res *system.ToolsGenTableBatchGenCodeRes, err error) {
err = service.ToolsGenTable().GenCode(ctx, req.Ids)
return
}
func (c *toolsGenTableController) SyncTable(ctx context.Context, req *system.ToolsGenTableSyncTableReq) (res *system.ToolsGenTableSyncTableRes, err error) {
err = service.ToolsGenTable().SyncTable(ctx, req.TableId)
return
}