Selaa lähdekoodia

当router存在时,新建.go_new文件

huangyh 6 vuotta sitten
vanhempi
commit
063b35fe24
1 muutettua tiedostoa jossa 61 lisäystä ja 53 poistoa
  1. 61 53
      client/engineclient.go

+ 61 - 53
client/engineclient.go

@@ -2,16 +2,17 @@ package client
 
 import (
 	"bytes"
+	"compress/gzip"
+	"encoding/json"
 	"fmt"
 	"io"
+	"io/ioutil"
 	"mime/multipart"
 	"net/http"
 	"os"
 	"path/filepath"
-	"encoding/json"
-	"compress/gzip"
-	"io/ioutil"
 	"strings"
+
 	"git.qianqiusoft.com/qianqiusoft/light-apiengine/utils"
 )
 
@@ -20,23 +21,23 @@ type EngineClient struct {
 }
 
 type ResponeResult struct {
-	Code   int32 `json:"code"`
+	Code int32 `json:"code"`
 	//描述
-	Msg   string `json:"msg"`
+	Msg string `json:"msg"`
 	//数据
-	Data   []GenerateResult `json:"data"`
+	Data []GenerateResult `json:"data"`
 }
 type GenerateResult struct {
-	Name string `json:"name"`
+	Name    string `json:"name"`
 	Content []byte `json:"content"`
-	Type string `json:"type"`
+	Type    string `json:"type"`
 }
 
 func NewEngineClient(project_name string) *EngineClient {
 	return &EngineClient{project_name}
 }
 
-func (c * EngineClient)InitDefalutFile(project_name string)  {
+func (c *EngineClient) InitDefalutFile(project_name string) {
 	c.ProjectName = project_name
 	os.MkdirAll("controllers", os.ModePerm)
 	os.MkdirAll("models", os.ModePerm)
@@ -46,48 +47,48 @@ func (c * EngineClient)InitDefalutFile(project_name string)  {
 	os.MkdirAll("doc", os.ModePerm)
 	os.MkdirAll("web", os.ModePerm)
 
-	_,err:=os.Stat(project_name+".xml")
-	if os.IsNotExist(err){
-		xml:=strings.Replace(DefaultProjectXML, "{project_name}", project_name,-1)
-		ioutil.WriteFile(project_name+".xml",[]byte(xml), os.ModePerm)
+	_, err := os.Stat(project_name + ".xml")
+	if os.IsNotExist(err) {
+		xml := strings.Replace(DefaultProjectXML, "{project_name}", project_name, -1)
+		ioutil.WriteFile(project_name+".xml", []byte(xml), os.ModePerm)
 	}
 
-	_,err =os.Stat(project_name+".xsd")
+	_, err = os.Stat(project_name + ".xsd")
 	if os.IsNotExist(err) {
 		ioutil.WriteFile(project_name+".xsd", []byte(XSD), os.ModePerm)
 	}
 
-	_,err =os.Stat("Dockerfile")
+	_, err = os.Stat("Dockerfile")
 	if os.IsNotExist(err) {
-		xml:=strings.Replace(DockerFile, "{project_name}", project_name,-1)
+		xml := strings.Replace(DockerFile, "{project_name}", project_name, -1)
 		ioutil.WriteFile("Dockerfile", []byte(xml), os.ModePerm)
 	}
-	_,err =os.Stat("build_docker.sh")
+	_, err = os.Stat("build_docker.sh")
 	if os.IsNotExist(err) {
-		xml:=strings.Replace(BuildSH, "{project_name}", project_name,-1)
+		xml := strings.Replace(BuildSH, "{project_name}", project_name, -1)
 		ioutil.WriteFile("build_docker.sh", []byte(xml), os.ModePerm)
 	}
 
-	_,err =os.Stat("README.md")
+	_, err = os.Stat("README.md")
 	if os.IsNotExist(err) {
-		xml:=strings.Replace(MARK_DOWN, "{project_name}", project_name,-1)
-		xml =strings.Replace(xml, "{!}", "`",-1)
+		xml := strings.Replace(MARK_DOWN, "{project_name}", project_name, -1)
+		xml = strings.Replace(xml, "{!}", "`", -1)
 		ioutil.WriteFile("README.md", []byte(xml), os.ModePerm)
 	}
 }
 
-func (c * EngineClient)GenerateCurrentProject() {
-	path,_:=utils.GetCurrentPath()
+func (c *EngineClient) GenerateCurrentProject() {
+	path, _ := utils.GetCurrentPath()
 	c.InitDefalutFile(c.ProjectName)
-	c.Generate(path+c.ProjectName+".xml")
+	c.Generate(path + c.ProjectName + ".xml")
 }
 
-func (c * EngineClient)Generate(xmlfile string)  {
+func (c *EngineClient) Generate(xmlfile string) {
 	var result ResponeResult
 	bs := DoRequest(xmlfile)
-	if bs !=nil {
-		err:=json.Unmarshal(bs.Bytes(), &result)
-		if err!=nil{
+	if bs != nil {
+		err := json.Unmarshal(bs.Bytes(), &result)
+		if err != nil {
 			fmt.Println(err.Error())
 		}
 		for i := 0; i < len(result.Data); i++ {
@@ -97,33 +98,41 @@ func (c * EngineClient)Generate(xmlfile string)  {
 			result.Data[i].Content = unzip.Bytes()
 		}
 		for i := 0; i < len(result.Data); i++ {
-			path:= result.Data[i].Name
+			path := result.Data[i].Name
 			//fmt.Println(path)
 			path = path[len(c.ProjectName)+1:]
 			fmt.Println(path)
-			ft:=result.Data[i].Type
+			ft := result.Data[i].Type
 			if result.Data[i].Type == "main" {
-			}else if ft == "config" || ft == "ci" {
-				_,err := os.Stat(path)
-				if err == nil{
-					fmt.Println(path+"已经存在,忽略...")
-				}else {
-					ioutil.WriteFile(path, result.Data[i].Content,os.ModePerm)
+			} else if ft == "config" || ft == "ci" {
+				_, err := os.Stat(path)
+				if err == nil {
+					fmt.Println(path + "已经存在,忽略...")
+				} else {
+					ioutil.WriteFile(path, result.Data[i].Content, os.ModePerm)
 				}
-			}else if ft =="controllers"{
-				if strings.Index(path, "_gen.go")>0 {
-					ioutil.WriteFile(path, result.Data[i].Content,os.ModePerm)
-				}else {
+			} else if ft == "controllers" {
+				if strings.Index(path, "_gen.go") > 0 {
+					ioutil.WriteFile(path, result.Data[i].Content, os.ModePerm)
+				} else {
 					_, err := os.Stat(path)
-					if err==nil{
-						ioutil.WriteFile(path+"_new", result.Data[i].Content,os.ModePerm)
-					}else if os.IsNotExist(err){
-						ioutil.WriteFile(path, result.Data[i].Content,os.ModePerm)
+					if err == nil {
+						ioutil.WriteFile(path+"_new", result.Data[i].Content, os.ModePerm)
+					} else if os.IsNotExist(err) {
+						ioutil.WriteFile(path, result.Data[i].Content, os.ModePerm)
 					}
 				}
-			}else {
-				err:=ioutil.WriteFile(path, result.Data[i].Content,os.ModePerm)
-				if err !=nil{
+			} else if ft == "routers" {
+				_, err := os.Stat(path)
+				if err == nil {
+					fmt.Println(path + "已经存在")
+					ioutil.WriteFile(path+"_new", result.Data[i].Content, os.ModePerm)
+				} else {
+					ioutil.WriteFile(path, result.Data[i].Content, os.ModePerm)
+				}
+			} else {
+				err := ioutil.WriteFile(path, result.Data[i].Content, os.ModePerm)
+				if err != nil {
 					fmt.Println(err.Error())
 				}
 			}
@@ -131,8 +140,7 @@ func (c * EngineClient)Generate(xmlfile string)  {
 	}
 }
 
-
-func unzipbytes(bs *bytes.Buffer) bytes.Buffer{
+func unzipbytes(bs *bytes.Buffer) bytes.Buffer {
 	r, _ := gzip.NewReader(bs)
 	defer r.Close()
 	var b bytes.Buffer
@@ -142,8 +150,8 @@ func unzipbytes(bs *bytes.Buffer) bytes.Buffer{
 	return b
 }
 
-func DoRequest(xmlfile string) *bytes.Buffer{
-	server:="http://qianqiusoft.com:6166/api/v1/develop/generate"
+func DoRequest(xmlfile string) *bytes.Buffer {
+	server := "http://qianqiusoft.com:6166/api/v1/develop/generate"
 	request, err := newfileUploadRequest(server, nil, "xmlfile", xmlfile)
 	if err != nil {
 		fmt.Println(err)
@@ -163,7 +171,7 @@ func DoRequest(xmlfile string) *bytes.Buffer{
 		fmt.Println(resp.Header)
 
 		//fmt.Println(body)
-		return  body
+		return body
 	}
 	return nil
 }
@@ -194,4 +202,4 @@ func newfileUploadRequest(uri string, params map[string]string, paramName, path
 	request, err := http.NewRequest("POST", uri, body)
 	request.Header.Add("Content-Type", writer.FormDataContentType())
 	return request, err
-}
+}