diff --git a/server/api/v1/sys_auto_code.go b/server/api/v1/sys_auto_code.go index 4ffd64585459d2e7a7f232b9f5882afc5b85749e..a2182cd525604e92b4c13de5b8f2f7020978495d 100644 --- a/server/api/v1/sys_auto_code.go +++ b/server/api/v1/sys_auto_code.go @@ -6,6 +6,7 @@ import ( "gin-vue-admin/model" "gin-vue-admin/service" "github.com/gin-gonic/gin" + "net/url" "os" ) @@ -21,6 +22,49 @@ func CreateTemp(c *gin.Context) { var a model.AutoCodeStruct _ = c.ShouldBindJSON(&a) err := service.CreateTemp(a) + if a.AutoCreateApiToSql { + apiList := [5]model.SysApi{ + { + Path: "/" + a.Abbreviation + "/" + "create" + a.StructName, + Description: "新增" + a.StructName, + ApiGroup: a.Abbreviation, + Method: "POST", + }, + { + Path: "/" + a.Abbreviation + "/" + "delete" + a.StructName, + Description: "删除" + a.StructName, + ApiGroup: a.Abbreviation, + Method: "DELETE", + }, + { + Path: "/" + a.Abbreviation + "/" + "update" + a.StructName, + Description: "更新" + a.StructName, + ApiGroup: a.Abbreviation, + Method: "POST", + }, + { + Path: "/" + a.Abbreviation + "/" + "find" + a.StructName, + Description: "根据ID获取" + a.StructName, + ApiGroup: a.Abbreviation, + Method: "GET", + }, + { + Path: "/" + a.Abbreviation + "/" + "get" + a.StructName + "List", + Description: "获取" + a.StructName + "列表", + ApiGroup: a.StructName, + Method: "GET", + }, + } + for _, v := range apiList { + errC := service.CreateApi(v) + if errC != nil { + c.Writer.Header().Add("success", "false") + c.Writer.Header().Add("msg", url.QueryEscape(fmt.Sprintf("自动化创建失败,%v,请自行清空垃圾数据", errC))) + return + } + } + } + if err != nil { response.FailWithMessage(fmt.Sprintf("创建失败,%v", err), c) os.Remove("./ginvueadmin.zip") diff --git a/server/model/sys_auto_code.go b/server/model/sys_auto_code.go index 6fbb5e132fe18f3029ee7fe2887084a374461be3..9023f31d4d7edc6568268129ada5480a5c450c27 100644 --- a/server/model/sys_auto_code.go +++ b/server/model/sys_auto_code.go @@ -2,10 +2,11 @@ package model // 初始版本自动化代码工具 type AutoCodeStruct struct { - StructName string `json:"structName"` - PackageName string `json:"packageName"` - Abbreviation string `json:"abbreviation"` - Fields []Field `json:"fields"` + StructName string `json:"structName"` + PackageName string `json:"packageName"` + Abbreviation string `json:"abbreviation"` + AutoCreateApiToSql bool `json:"autoCreateApiToSql"` + Fields []Field `json:"fields"` } type Field struct {