添加ui界面

This commit is contained in:
谢小军
2020-01-21 22:31:08 +08:00
parent bb224315a1
commit 5230c6f242
12 changed files with 277 additions and 63 deletions

View File

@@ -1,8 +1,8 @@
package model
const (
_tagGorm = "gorm"
_tagJSON = "json"
// _tagGorm = "gorm"
// _tagJSON = "json"
)
// ColumusKey Columus type elem. 类型枚举

View File

@@ -3,13 +3,18 @@ package genmysql
import (
"strings"
"github.com/xxjwxc/gormt/data/config"
"github.com/xxjwxc/gormt/data/view/model"
)
// filterModel filter.过滤 gorm.Model
func filterModel(list *[]genColumns) bool {
var _temp []genColumns
if config.GetDBTag() != "gorm" {
return false
}
var _temp []genColumns
num := 0
for _, v := range *list {
if strings.EqualFold(v.Field, "id") ||
@@ -41,3 +46,9 @@ func fixForeignKey(list []genForeignKey, columuName string, result *[]model.Fore
}
}
}
// GetMysqlModel get model interface. 获取model接口
func GetMysqlModel() model.IModel {
//now just support mysql
return &MySQLModel
}

View File

@@ -169,7 +169,9 @@ func getTables(orm *mysqldb.MySqlDB) map[string]string {
rows, err := orm.Raw("show tables").Rows()
if err != nil {
fmt.Println(err)
if !config.GetIsGUI() {
fmt.Println(err)
}
return tbDesc
}
@@ -184,7 +186,9 @@ func getTables(orm *mysqldb.MySqlDB) map[string]string {
// Get table annotations.获取表注释
rows1, err := orm.Raw("SELECT TABLE_NAME,TABLE_COMMENT FROM information_schema.TABLES WHERE table_schema= '" + config.GetMysqlDbInfo().Database + "'").Rows()
if err != nil {
fmt.Println(err)
if !config.GetIsGUI() {
fmt.Println(err)
}
return tbDesc
}

View File

@@ -17,11 +17,12 @@ import (
type _Model struct {
info DBInfo
pkg *genstruct.GenPackage
}
// Generate build code string.生成代码
func Generate(info DBInfo) (out []GenOutInfo) {
m := _Model{
func Generate(info DBInfo) (out []GenOutInfo, m _Model) {
m = _Model{
info: info,
}
@@ -40,23 +41,36 @@ func Generate(info DBInfo) (out []GenOutInfo) {
return
}
func (m *_Model) generate() string {
var pkg genstruct.GenPackage
pkg.SetPackage(m.info.PackageName) //package name
for _, tab := range m.info.TabList {
var sct genstruct.GenStruct
sct.SetStructName(getCamelName(tab.Name)) // Big hump.大驼峰
sct.SetNotes(tab.Notes)
sct.AddElement(m.genTableElement(tab.Em)...) // build element.构造元素
sct.SetCreatTableStr(tab.SQLBuildStr)
pkg.AddStruct(sct)
// GetPackage gen sturct on table
func (m *_Model) GetPackage() genstruct.GenPackage {
if m.pkg == nil {
var pkg genstruct.GenPackage
pkg.SetPackage(m.info.PackageName) //package name
for _, tab := range m.info.TabList {
var sct genstruct.GenStruct
sct.SetStructName(getCamelName(tab.Name)) // Big hump.大驼峰
sct.SetNotes(tab.Notes)
sct.AddElement(m.genTableElement(tab.Em)...) // build element.构造元素
sct.SetCreatTableStr(tab.SQLBuildStr)
pkg.AddStruct(sct)
}
m.pkg = &pkg
}
return pkg.Generate()
return *m.pkg
}
func (m *_Model) generate() string {
m.pkg = nil
m.GetPackage()
return m.pkg.Generate()
}
// genTableElement Get table columns and comments.获取表列及注释
func (m *_Model) genTableElement(cols []ColumusInfo) (el []genstruct.GenElement) {
_tagGorm := config.GetDBTag()
_tagJSON := config.GetURLTag()
for _, v := range cols {
var tmp genstruct.GenElement
if strings.EqualFold(v.Type, "gorm.Model") { // gorm model
@@ -115,6 +129,9 @@ func (m *_Model) genTableElement(cols []ColumusInfo) (el []genstruct.GenElement)
// genForeignKey Get information about foreign key of table column.获取表列外键相关信息
func (m *_Model) genForeignKey(col ColumusInfo) (fklist []genstruct.GenElement) {
_tagGorm := config.GetDBTag()
_tagJSON := config.GetURLTag()
for _, v := range col.ForeignKeyList {
isMulti, isFind, notes := m.getColumusKeyMulti(v.TableName, v.ColumnName)
if isFind {