generator.go 888 字节
Newer Older
aaronchen2k2k's avatar
aaronchen2k2k 已提交
1 2 3 4 5 6 7 8 9 10 11 12
package gen

import (
	"github.com/easysoft/zendata/src/model"
	constant "github.com/easysoft/zendata/src/utils/const"
	stringUtils "github.com/easysoft/zendata/src/utils/string"
	"strings"
)

func Generate(def model.Definition, count int, fields string, out string, table string) {
	fieldArr := strings.Split(fields, ",")

aaronchen2k2k's avatar
aaronchen2k2k 已提交
13
	fieldMap := map[string][]interface{}{}
aaronchen2k2k's avatar
aaronchen2k2k 已提交
14 15 16 17 18
	for _, field := range def.Fields {
		if !stringUtils.FindInArr(field.Name, fieldArr) {
			continue
		}

aaronchen2k2k's avatar
aaronchen2k2k 已提交
19
		GenCol(field, count, fieldMap)
aaronchen2k2k's avatar
aaronchen2k2k 已提交
20 21 22
	}
}

aaronchen2k2k's avatar
aaronchen2k2k 已提交
23
func GenCol(field model.Field, count int, fieldMap map[string][]interface{}) {
aaronchen2k2k's avatar
aaronchen2k2k 已提交
24 25 26 27 28 29 30
	datatype := strings.TrimSpace(field.Datatype)
	if datatype == "" {
		datatype = "list"
	}

	switch datatype {
		case constant.LIST.String():
aaronchen2k2k's avatar
aaronchen2k2k 已提交
31
			GenerateList(field, count, fieldMap)
aaronchen2k2k's avatar
aaronchen2k2k 已提交
32 33 34 35 36 37 38 39 40 41 42

		case constant.TIMESTAMP.String():

		case constant.IP.String():

		case constant.SESSION.String():

		default:

	}
}