feat: 代码生成
This commit is contained in:
@@ -0,0 +1,81 @@
|
||||
package codegen
|
||||
|
||||
import (
|
||||
"sundynix-go/model/codegen"
|
||||
"sundynix-go/model/commom/response"
|
||||
"sundynix-go/service"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
)
|
||||
|
||||
type CodegenApi struct{}
|
||||
|
||||
var codegenService = service.ServiceGroupApp.CodegenServiceGroup.CodegenService
|
||||
|
||||
// TestConnection
|
||||
// @Tags 代码生成
|
||||
// @Summary 测试数据库连接
|
||||
// @Security BasicAuth
|
||||
// @accept json
|
||||
// @Produce json
|
||||
// @Param data body codegen.TestConnectionReq true "数据库连接配置"
|
||||
// @Success 200 {object} response.Response "连接成功"
|
||||
// @Router /api/codegen/testConnection [post]
|
||||
func (a *CodegenApi) TestConnection(c *gin.Context) {
|
||||
var req codegen.TestConnectionReq
|
||||
if err := c.ShouldBindJSON(&req); err != nil {
|
||||
response.FailWithMsg("参数错误:"+err.Error(), c)
|
||||
return
|
||||
}
|
||||
if err := codegenService.TestConnection(req.DbConfig); err != nil {
|
||||
response.FailWithMsg("连接失败:"+err.Error(), c)
|
||||
return
|
||||
}
|
||||
response.OkWithMsg("连接成功", c)
|
||||
}
|
||||
|
||||
// Preview
|
||||
// @Tags 代码生成
|
||||
// @Summary 预览生成代码(不写文件)
|
||||
// @Security BasicAuth
|
||||
// @accept json
|
||||
// @Produce json
|
||||
// @Param data body codegen.PreviewReq true "代码生成配置"
|
||||
// @Success 200 {object} response.Response{data=[]codegen.PreviewFile} "预览成功"
|
||||
// @Router /api/codegen/preview [post]
|
||||
func (a *CodegenApi) Preview(c *gin.Context) {
|
||||
var req codegen.PreviewReq
|
||||
if err := c.ShouldBindJSON(&req); err != nil {
|
||||
response.FailWithMsg("参数错误:"+err.Error(), c)
|
||||
return
|
||||
}
|
||||
files, err := codegenService.Preview(req.GenConfig)
|
||||
if err != nil {
|
||||
response.FailWithMsg("预览失败:"+err.Error(), c)
|
||||
return
|
||||
}
|
||||
response.OkWithData(files, c)
|
||||
}
|
||||
|
||||
// Generate
|
||||
// @Tags 代码生成
|
||||
// @Summary 生成并写入代码文件
|
||||
// @Security BasicAuth
|
||||
// @accept json
|
||||
// @Produce json
|
||||
// @Param data body codegen.GenConfig true "代码生成配置(含 outputDir)"
|
||||
// @Success 200 {object} response.Response{data=codegen.GenResult} "生成成功"
|
||||
// @Router /api/codegen/generate [post]
|
||||
func (a *CodegenApi) Generate(c *gin.Context) {
|
||||
var req codegen.GenConfig
|
||||
if err := c.ShouldBindJSON(&req); err != nil {
|
||||
response.FailWithMsg("参数错误:"+err.Error(), c)
|
||||
return
|
||||
}
|
||||
result, err := codegenService.Generate(req)
|
||||
if err != nil {
|
||||
response.FailWithMsg("生成失败:"+err.Error(), c)
|
||||
return
|
||||
}
|
||||
response.OkWithData(result, c)
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
package codegen
|
||||
|
||||
type ApiGroup struct {
|
||||
CodegenApi
|
||||
}
|
||||
Reference in New Issue
Block a user