-
Notifications
You must be signed in to change notification settings - Fork 0
/
context.go
107 lines (92 loc) · 1.98 KB
/
context.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
package autocode
import (
"github.com/jtao539/autocode/atom"
"github.com/jtao539/autocode/util"
"github.com/jtao539/autocode/util/database"
"os/exec"
)
const Version = "v1.0.22"
const Api = "api"
const Router = "router"
const Model = "model"
const Service = "service"
const Db = "db"
const Json = "json"
type ProBasic struct {
Name string
TblName string
Path string
ModName string
a atom.Atom
}
func (p *ProBasic) init() {
if flag := checkProBasic(p); flag {
panic("基础数据 不能为空")
}
if p.Path == "" {
p.Path = "."
}
p.a = atom.Atom{Name: p.Name, TblName: p.TblName, Path: p.Path, ModName: p.ModName, Version: Version}
}
func (p *ProBasic) Start() {
if err := database.GDB.DB.Ping(); err != nil {
panic("数据库连接失败!")
}
p.init()
p.a.GeneralAutoCode()
var cmd *exec.Cmd
cmd = exec.Command("go fmt")
cmd.Start()
}
// StartFunc 自定义生成参数可为 Model、APi 等
func (p *ProBasic) StartFunc(args ...string) {
if err := database.GDB.DB.Ping(); err != nil {
panic("数据库连接失败!")
}
p.init()
p.a.InitTemplate()
p.a.Clear()
p.a.MkSomeDir()
p.a.CreateError()
p.a.CreateResponse()
p.a.CreateRResponse()
p.a.CreateRequest()
p.a.CreateConfig()
p.a.CreateZLog()
p.a.CreateUtil()
if containArray(Model, args) {
p.a.CreateModel()
}
if containArray(Db, args) {
p.a.CreateDB()
}
if containArray(Service, args) {
p.a.CreateService()
}
if containArray(Api, args) {
p.a.CreateApi()
}
if containArray(Router, args) {
p.a.CreateRouter()
}
if containArray(Json, args) {
p.a.CreateJson()
}
var cmd *exec.Cmd
cmd = exec.Command("go fmt")
cmd.Start()
}
func checkProBasic(p *ProBasic) bool {
return util.CheckStringNULL(p.ModName, p.TblName, p.Name)
}
func InitDB(userName, password, host, port, name string) {
database.Init(userName, password, host, port, name)
}
func containArray(name string, args []string) bool {
for i := 0; i < len(args); i++ {
if name == args[i] {
return true
}
}
return false
}