添加ddl转markdown后端接口

master
DESKTOP-4RNDQIC\29019 2021-02-28 18:02:49 +08:00
parent 214b3203e7
commit 64d02c04e5
3 changed files with 44 additions and 2 deletions

View File

@ -63,3 +63,27 @@ func (this *OpenApiController) DDL2ORM(c *gin.Context) {
resp.Msg = "OK" resp.Msg = "OK"
resp.Status = 0 resp.Status = 0
} }
func (this *OpenApiController) DDL2Markdown(c *gin.Context) {
var req ReqDDL
resp := RespBase{
Msg: "err",
}
defer func() {
c.JSON(200, resp)
}()
e := c.Bind(&req)
if e != nil {
log.Println(e.Error())
resp.Msg = "ParaErr"
return
}
tbname, fields := utils.DDL2Field(req.Data)
log.Print(tbname, fields)
gocode := utils.CreateMarkdownTable(tbname,fields)
resp.Data = gocode
resp.Msg = "OK"
resp.Status = 0
}

View File

@ -189,6 +189,8 @@ func main() {
{ {
openapi.POST("/diff") openapi.POST("/diff")
openapi.POST("/ddl2orm",openapiController.DDL2ORM) openapi.POST("/ddl2orm",openapiController.DDL2ORM)
openapi.POST("/ddl2markdown",openapiController.DDL2Markdown)
} }
e := r.Run(":" + strconv.Itoa(config.GetPort())) e := r.Run(":" + strconv.Itoa(config.GetPort()))
if nil != e { if nil != e {

View File

@ -59,7 +59,7 @@ func CreateGoStruct(name string,doc []FieldDesc) string{
if len(doc) == 0{ if len(doc) == 0{
return "" return ""
} }
ret := fmt.Sprintf("type %s struct{\r\n",toCamelString(name)) ret := fmt.Sprintf("golang gorm tag struct 代码:\r\ntype %s struct{\r\n",toCamelString(name))
for _,v := range doc{ for _,v := range doc{
filed := "\t\t" filed := "\t\t"
camelField := toCamelString(v.FiledName) camelField := toCamelString(v.FiledName)
@ -72,6 +72,22 @@ func CreateGoStruct(name string,doc []FieldDesc) string{
return ret return ret
} }
func CreateMarkdownTable(name string,doc []FieldDesc) string{
if name == "" {
return ""
}
if len(doc) == 0{
return ""
}
ret := fmt.Sprintf("数据表 %s markdown 表格字段说明: \r\n",toCamelString(name))
ret += "|字段名称|字段类型|字段说明|是否主键| \r\n|-|-|-|-| \r\n"
for _,v := range doc{
ret += fmt.Sprintf("|%s|%s||%t|\r\n",v.FiledName,v.Type,v.Primary)
}
return ret
}
func TrimUnWanted(in string) string { func TrimUnWanted(in string) string {
ret := strings.ReplaceAll(in, "\t","") ret := strings.ReplaceAll(in, "\t","")
ret = strings.ReplaceAll(ret, "\n","") ret = strings.ReplaceAll(ret, "\n","")
@ -97,7 +113,7 @@ func DDL2Field(ddl string) (string, []FieldDesc) {
sTableName := strings.Trim(sTbNameUnTrim, " ") sTableName := strings.Trim(sTbNameUnTrim, " ")
sTbDesc := ddl[indexFirstParentheses+1 : indexLastParentheses] sTbDesc := ddl[indexFirstParentheses+1 : indexLastParentheses]
fields := strings.Split(sTbDesc, ",") fields := strings.Split(sTbDesc, "\n")
primarykey := []string{} primarykey := []string{}
for _, v := range fields { for _, v := range fields {