-
Notifications
You must be signed in to change notification settings - Fork 0
/
hostModel.go
127 lines (116 loc) · 3.13 KB
/
hostModel.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
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
package hostModel
import (
logger "github.com/sirupsen/logrus"
"github.com/wuchunfu/JobFlow/middleware/database"
)
// 用户model
type Host struct {
HostId int `json:"hostId" gorm:"primary_key; auto_increment; not null"`
HostAlias string `json:"hostAlias" gorm:"type:varchar(100); DEFAULT ''"`
HostName string `json:"hostName" gorm:"type:varchar(100); not null"`
HostPort int `json:"hostPort" gorm:"type:int(20); DEFAULT 5921; not null"`
Remark string `json:"remark" gorm:"type:varchar(200); not null"`
CreateTime string `json:"createTime" gorm:"type:varchar(50); not null"`
UpdateTime string `json:"updateTime" gorm:"type:varchar(50); DEFAULT ''"`
}
func (host *Host) List(page int, pageSize int, hostName string) ([]Host, int64) {
db := database.GetDB()
if hostName != "" {
db = db.Where("host_name = ?", hostName)
}
list := make([]Host, 0)
findErr := db.Model(&host).Offset((page - 1) * pageSize).Limit(pageSize).Order("update_time desc").Find(&list)
if findErr.Error != nil {
logger.Error(findErr.Error)
return nil, -1
}
var count int64
countErr := db.Model(&host).Count(&count)
if countErr.Error != nil {
logger.Error(countErr.Error)
return nil, -1
}
return list, count
}
func (host *Host) AllList() []Host {
db := database.GetDB()
list := make([]Host, 0)
findErr := db.Model(&host).Order("update_time desc").Find(&list)
if findErr.Error != nil {
logger.Error(findErr.Error)
return nil
}
return list
}
func (host *Host) Detail(hostId int) *Host {
db := database.GetDB()
err := db.Model(&host).Where("host_id = ?", hostId).Find(&host)
if err.Error != nil {
logger.Error(err.Error)
return nil
}
return host
}
// 新增
func (host *Host) Save() {
db := database.GetDB().Begin()
err := db.Model(&host).Create(&host)
if err.Error != nil {
db.Rollback()
logger.Error(err.Error)
}
db.Commit()
}
// 修改
func (host *Host) Update(hostId int, fieldMap map[string]interface{}) {
db := database.GetDB().Begin()
err := db.Model(&host).Where("host_id = ?", hostId).Updates(fieldMap)
if err.Error != nil {
db.Rollback()
logger.Error(err.Error)
}
db.Commit()
}
// 删除
func (host *Host) Delete(hostId int) {
db := database.GetDB().Begin()
err := db.Model(&host).Where("host_id = ?", hostId).Delete(&host)
if err.Error != nil {
db.Rollback()
logger.Error(err.Error)
}
db.Commit()
}
// 主机别名是否存在
func (host *Host) IsExistsHostAlias(hostAlias string) int64 {
db := database.GetDB()
var count int64
err := db.Model(&host).Where("host_alias = ?", hostAlias).Count(&count)
if err.Error != nil {
logger.Error(err.Error)
return -1
}
return count
}
// 主机名是否存在
func (host *Host) IsExistsHostName(hostName string) int64 {
db := database.GetDB()
var count int64
err := db.Model(&host).Where("host_name = ?", hostName).Count(&count)
if err.Error != nil {
logger.Error(err.Error)
return -1
}
return count
}
// 主机是否存在
func (host *Host) IsExistsHost(hostId int) int64 {
db := database.GetDB()
var count int64
err := db.Model(&host).Where("host_id = ?", hostId).Count(&count)
if err.Error != nil {
logger.Error(err.Error)
return -1
}
return count
}