Kaynağa Gözat

模板优化

Administrator 2 yıl önce
ebeveyn
işleme
9b7549b1a5
4 değiştirilmiş dosya ile 93 ekleme ve 99 silme
  1. 61 61
      main.go
  2. 7 19
      util/InitTable.go
  3. 19 13
      util/MysqlCreateGo.go
  4. 6 6
      util/ProjectUrl.go

+ 61 - 61
main.go

@@ -1,6 +1,7 @@
 package main
 
 import (
+	"fmt"
 	"go-create/configs"
 	"go-create/util"
 )
@@ -16,9 +17,9 @@ func main() {
 	//执行生成,go
 	//util.MysqlToStruct()
 	//util.MysqlToDao()
-	//util.MysqlToBaseCRUDRouter()
-	//执行生成,vue
-	//util.MysqlToVueApi()
+	util.MysqlToBaseCRUDRouter()
+	//
+	util.MysqlToVueApi()
 	util.CreateVue()
 	//SaveMenu()
 
@@ -27,61 +28,60 @@ func main() {
 	//}
 }
 
-//
-//func SaveMenu() {
-//	for i := range util.MTables {
-//		table := util.MTables[i]
-//		fmt.Println(table.Name)
-//
-//		search := BackMenu{
-//			BackMenuName:   table.Comment,
-//			BackRouterPath: "/back/" + table.LittleHump,
-//			State:          "1",
-//		}
-//		if GetBackMenuCount(search) {
-//			continue
-//		}
-//		menu := BackMenu{
-//			BackMenuName:   table.Comment,
-//			BackMenuPater:  0,
-//			Sort:           int64(i + 4),
-//			Icon:           "Setting",
-//			Remark:         table.Comment,
-//			BackRouterPath: "/back/" + table.LittleHump,
-//			State:          "1",
-//		}
-//		SaveBackMenu(&menu)
-//	}
-//}
-//func SaveBackMenu(backMenu *BackMenu) (BackMenu, error) {
-//	_, err := configs.Engine.Table("back_menu").Insert(&backMenu)
-//	if err != nil {
-//		return *backMenu, err
-//	}
-//	return *backMenu, nil
-//}
-//
-//func GetBackMenuCount(backMenu BackMenu) bool {
-//	Count, err := configs.Engine.Table("back_menu").FindAndCount(&backMenu)
-//	if err != nil {
-//		return false
-//	}
-//	return Count > 0
-//
-//}
-//
-//// BackMenu 后台菜单
-//type BackMenu struct {
-//	Id             int64  `json:"id"`                                      // 11 0 注释:id
-//	BackMenuName   string `xorm:"back_menu_name"  json:"backMenuName"`     // 255 0 注释:菜单名称
-//	BackMenuPater  int64  `xorm:"back_menu_pater"  json:"backMenuPater"`   // 11 0 注释:父级菜单
-//	Sort           int64  `xorm:"sort"  json:"sort"`                       // 11 0 注释:排序
-//	Icon           string `xorm:"icon"  json:"icon"`                       // 255 0 注释:图标
-//	Remark         string `xorm:"remark"  json:"remark"`                   // 255 0 注释:备注
-//	BackRouterPath string `xorm:"back_router_path"  json:"backRouterPath"` // 255 0 注释:路由路径
-//	State          string `xorm:"state"  json:"state"`                     // 255 0 注释:状态
-//}
-//
-//func (receiver BackMenu) String() string {
-//	return fmt.Sprint("BackMenu{Id:", receiver.Id, ",BackMenuName:", receiver.BackMenuName, ",BackMenuPater:", receiver.BackMenuPater, ",Sort:", receiver.Sort, ",Icon:", receiver.Icon, ",Remark:", receiver.Remark, ",BackRouterPath:", receiver.BackRouterPath, ",State:", receiver.State, "}")
-//}
+func SaveMenu() {
+	for i := range util.MTables {
+		table := util.MTables[i]
+		fmt.Println(table.Name)
+
+		search := BackMenu{
+			BackMenuName:   table.Comment,
+			BackRouterPath: "/back/" + table.LittleHump,
+			State:          "1",
+		}
+		if GetBackMenuCount(search) {
+			continue
+		}
+		menu := BackMenu{
+			BackMenuName:   table.Comment,
+			BackMenuPater:  0,
+			Sort:           int64(i + 4),
+			Icon:           "Setting",
+			Remark:         table.Comment,
+			BackRouterPath: "/back/" + table.LittleHump,
+			State:          "1",
+		}
+		SaveBackMenu(&menu)
+	}
+}
+func SaveBackMenu(backMenu *BackMenu) (BackMenu, error) {
+	_, err := configs.Engine.Table("back_menu").Insert(&backMenu)
+	if err != nil {
+		return *backMenu, err
+	}
+	return *backMenu, nil
+}
+
+func GetBackMenuCount(backMenu BackMenu) bool {
+	Count, err := configs.Engine.Table("back_menu").FindAndCount(&backMenu)
+	if err != nil {
+		return false
+	}
+	return Count > 0
+
+}
+
+// BackMenu 后台菜单
+type BackMenu struct {
+	Id             int64  `json:"id"`                                      // 11 0 注释:id
+	BackMenuName   string `xorm:"back_menu_name"  json:"backMenuName"`     // 255 0 注释:菜单名称
+	BackMenuPater  int64  `xorm:"back_menu_pater"  json:"backMenuPater"`   // 11 0 注释:父级菜单
+	Sort           int64  `xorm:"sort"  json:"sort"`                       // 11 0 注释:排序
+	Icon           string `xorm:"icon"  json:"icon"`                       // 255 0 注释:图标
+	Remark         string `xorm:"remark"  json:"remark"`                   // 255 0 注释:备注
+	BackRouterPath string `xorm:"back_router_path"  json:"backRouterPath"` // 255 0 注释:路由路径
+	State          string `xorm:"state"  json:"state"`                     // 255 0 注释:状态
+}
+
+func (receiver BackMenu) String() string {
+	return fmt.Sprint("BackMenu{Id:", receiver.Id, ",BackMenuName:", receiver.BackMenuName, ",BackMenuPater:", receiver.BackMenuPater, ",Sort:", receiver.Sort, ",Icon:", receiver.Icon, ",Remark:", receiver.Remark, ",BackRouterPath:", receiver.BackRouterPath, ",State:", receiver.State, "}")
+}

+ 7 - 19
util/InitTable.go

@@ -32,28 +32,16 @@ func InitTable() {
 		for j := range table.MColumns {
 			column := table.MColumns[j]
 			gtc := GenTableColumn{
-				TableId:       gt.Id,
-				Sort:          int64(j),
-				ColumnName:    column.Name,
-				ColumnComment: column.Comment,
-				ColumnType:    column.SqlTypeName,
-				GoType:        FormatSqlType(column.SqlTypeName),
-				GoField:       column.GreatHump,
-				IsKey: func() string {
-					if column.IsKey {
-						return "1"
-					}
-					return "0"
-				}(),
-				IsIncrement: "0",
-				IsRequired:  "0",
-				QueryType:   "",
-				VueShowType: "",
-				DictType:    "",
+				TableId:    gt.Id,
+				ColumnName: column.Name,
 			}
 			subList, _ := GetGenTableColumnList(gtc, 1, 1)
+			if gtc.TableId == 34 {
+				fmt.Println(subList.List[0])
+			}
+
 			if subList.Total == 0 {
-				gtc, _ = SaveGenTableColumn(&gtc)
+				//gtc, _ = SaveGenTableColumn(&gtc)
 			} else {
 				gtc = subList.List[0].(GenTableColumn)
 			}

+ 19 - 13
util/MysqlCreateGo.go

@@ -173,14 +173,7 @@ func MysqlToBaseCRUDRouter() {
 	tables := MTables
 	var template = "package router" +
 		"\n" +
-		"\nimport (" +
-		"\n\t\"demo/data/dao/manage\"" +
-		"\n\t\"demo/data/domain\"" +
-		"\n\t\"demo/share\"" +
-		"\n\t\"github.com/gin-gonic/gin\"" +
-		"\n\t\"github.com/mitchellh/mapstructure\"" +
-		"\n\t\"github.com/spf13/cast\"" +
-		"\n)" +
+		"\nimport (\n\t\"demo/data/dao/manage\"\n\t\"demo/data/domain\"\n\t\"demo/share\"\n\t\"fmt\"\n\t\"github.com/gin-gonic/gin\"\n\t\"github.com/mitchellh/mapstructure\"\n\t\"github.com/spf13/cast\"\n\t\"strings\"\n\t\"time\"\n\t\"unicode\"\n)" +
 		"\n" +
 		"func UtilStructToMap(m map[string]interface{}) map[string]interface{} {" +
 		"\n\tres:= make(map[string]interface{})" +
@@ -194,7 +187,10 @@ func MysqlToBaseCRUDRouter() {
 		"\n\t\t}" +
 		"\n\t\tres[result] = m[s]" +
 		"\n\t}\n\treturn res" +
-		"\n}"
+		"\n}\n" +
+		"\nfunc DateToString(date time.Time) string {" +
+		"\n\treturn date.Format(\"2006-01-02 15:04:05\")" +
+		"\n}\n\n"
 	var routerHeader = ""
 	var routerBody = ""
 	var getRouterFunc = ""
@@ -284,14 +280,14 @@ func MysqlToBaseCRUDRouter() {
 			}
 			if columnName == "updateby" {
 				if table.MColumns[ci].TypeName == "int64" {
-					existUpdateBy += "\n\ttoMap[\"create_by\"] = \"GetUserIdByToken(c)\""
+					existUpdateBy += "\n\ttoMap[\"update_by\"] = \"GetUserIdByToken(c)\""
 				} else {
-					existUpdateBy += "\n\ttoMap[\"create_by\"] = \"fmt.Sprint(GetUserIdByToken(c))\""
+					existUpdateBy += "\n\ttoMap[\"update_by\"] = fmt.Sprint(GetUserIdByToken(c))"
 				}
 				continue
 			}
-			if columnName == "updateby" {
-				existUpdateTime += "\n\ttoMap[\"create_time\"] = \"time.Now()\""
+			if columnName == "updatetime" {
+				existUpdateTime += "\n\ttoMap[\"update_time\"] = DateToString(time.Now())"
 				continue
 			}
 		}
@@ -309,6 +305,16 @@ func MysqlToBaseCRUDRouter() {
 			"\n\t" + table.LittleHump + ", _ := data(\"" + table.LittleHump + "\")" +
 			"\n\tid, _ := data(\"id\")" +
 			"\n\ttoMap := UtilStructToMap(cast.ToStringMap(" + table.LittleHump + "))"
+
+		if existUpdateBy != "" {
+
+			routerBody += "\n\ttoMap[\"create_by\"] = nil"
+		}
+		if existUpdateTime != "" {
+
+			routerBody += "\n\ttoMap[\"create_time\"] = nil"
+		}
+
 		routerBody += existUpdateBy + existUpdateTime
 		routerBody += "\n\tset" + table.GreatHump + ", b, err := manage.Set" + table.GreatHump + "(toMap, cast.ToInt64(id))"
 		// "\n\tset" + table.GreatHump + ", b, err := manage.Set" + table.GreatHump + "(UtilStructToMap(cast.ToStringMap(" + table.LittleHump + ")), cast.ToInt64(id))" +

+ 6 - 6
util/ProjectUrl.go

@@ -1,12 +1,12 @@
 package util
 
-//const ProjectGoUrl = "D:\\project\\study\\kkc\\kkc-go\\"
-//const ProjectVueUrl = "D:\\project\\study\\kkc\\kkc-shop\\"
-//const ProjectGoCreateUrl = "D:\\project\\study\\kkc\\go-xorm-create\\go-xorm-create\\"
+const ProjectGoUrl = "D:\\project\\study\\kkc\\kkc-go\\"
+const ProjectVueUrl = "D:\\project\\study\\kkc\\kkc-shop\\"
+const ProjectGoCreateUrl = "D:\\project\\study\\kkc\\go-xorm-create\\go-xorm-create\\"
 
-const ProjectGoUrl = "E:\\project\\kkc\\kkc-go\\"
-const ProjectVueUrl = "E:\\project\\kkc\\kkc-shop\\"
-const ProjectGoCreateUrl = "E:\\project\\kkc\\go-xorm-create\\"
+//const ProjectGoUrl = "E:\\project\\kkc\\kkc-go\\"
+//const ProjectVueUrl = "E:\\project\\kkc\\kkc-shop\\"
+//const ProjectGoCreateUrl = "E:\\project\\kkc\\go-xorm-create\\"
 
 func GetDomainUrl() string {
 	return ProjectGoUrl + "data\\domain\\DoMain.go"