|
|
package ProtoController
|
|
|
|
|
|
import (
|
|
|
"bytes"
|
|
|
"dsAutoCode/Model"
|
|
|
"dsAutoCode/Service/ProtoService"
|
|
|
"dsAutoCode/Utils/CommonUtil"
|
|
|
"github.com/gin-gonic/gin"
|
|
|
"log"
|
|
|
"net/http"
|
|
|
"strings"
|
|
|
"text/template"
|
|
|
)
|
|
|
|
|
|
/**
|
|
|
功能:获取骨架的内容
|
|
|
作者:黄海
|
|
|
时间:2020-04-24
|
|
|
*/
|
|
|
func getFrameworkContent(interfaceName string) (string, string) {
|
|
|
var operateType string
|
|
|
var tableName string
|
|
|
operateType = ProtoService.GetOperateType(interfaceName)
|
|
|
tableName = strings.Replace(interfaceName, operateType, "", -1)
|
|
|
//调用模板,
|
|
|
filesName := CommonUtil.GetCurrentPath()+"/Controller/ProtoController/Template/ControllerFramework.template"
|
|
|
t, err := template.ParseFiles(filesName)
|
|
|
if err != nil {
|
|
|
log.Fatalln("parse file err:", err)
|
|
|
return "", ""
|
|
|
}
|
|
|
buf := new(bytes.Buffer)
|
|
|
var p = map[string]interface{}{
|
|
|
"tableName": tableName,
|
|
|
}
|
|
|
if err := t.Execute(buf, p); err != nil {
|
|
|
log.Fatal("There was an error:", err.Error())
|
|
|
}
|
|
|
var content = buf.String()
|
|
|
content = CommonUtil.DeleteBlankString(content)
|
|
|
return tableName, content
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
功能:生成ControllerFramework层的操作代码
|
|
|
作者:黄海
|
|
|
时间:2020-04-23
|
|
|
*/
|
|
|
func CodeControllerFramework(c *gin.Context) {
|
|
|
interfaceName := c.Query("interfaceName")
|
|
|
tableName, content := getFrameworkContent(interfaceName)
|
|
|
c.JSON(http.StatusOK, Model.Res{
|
|
|
Data: content,
|
|
|
Msg: tableName,
|
|
|
CodePath: ProtoService.GetGenereateCodePath("Controller", tableName),
|
|
|
})
|
|
|
}
|