ETCD后台服务
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

61 lines
1.9 KiB

package models
import (
"encoding/json"
"github.com/jinzhu/gorm"
)
// ServiceLst 角色表
type ServiceLst struct {
ServicePath string `gorm:"pk int 'service_path'" json:"service_path"`
// 节点路径 需要前端拼写 规则 /services/ + 输入的IP + / + 名字 比如 /services/127.0.0.1/ETL
ServiceName string `gorm:"varchar(255) 'service_name' not null" json:"service_name"` // 名字
ServiceIp string `gorm:"varchar(255) 'service_ip' not null" json:"service_ip"`// ip
State int `gorm:"int 'state' not null" json:"state"`// 状态 0未启动 1启动 2暂停
ExePath string `gorm:"varchar(255) 'exe_path' not null" json:"exe_path"` // exe路径 C:/backend/LAPP_ETL/etl.exe
Info string `gorm:"varchar(255) 'info' not null" json:"info"`// 备注
}
// TableName 获取表名
func (ServiceLst) TableName() string {
return gorm.DefaultTableNameHandler(nil, "ServiceLst")
}
// All 查询全部角色
func (m *ServiceLst) All() (list []*ServiceLst, err error) {
err = client.Table(m.TableName()).Scan(&list).Error
return
}
// Save 保存
func (m *ServiceLst) Save() (err error) {
err = client.Table(m.TableName()).Save(m).Error
return
}
// Del 删除
func (m *ServiceLst) Del(ServicePath string) (err error) {
err = client.Table(m.TableName()).Where("service_path = ?", ServicePath).Delete(m).Error
return
}
// Insert 添加
func (m *ServiceLst) Insert() (err error) {
err = client.Create(m).Error
return
}
// Update 修改
func (m *ServiceLst) Update() (err error) {
edit := make(map[string]interface{}, 0)
js, _ := json.Marshal(m)
json.Unmarshal(js, &edit)
err = client.Model(new(ServiceLst)).Where("service_path = ?", m.ServicePath).Updates(edit).Error
return
}
func (m *ServiceLst) FindById(ServicePath string) (one *ServiceLst, err error) {
one = new(ServiceLst)
err = client.Model(m).Where("service_path = ?", ServicePath).Find(one).Error
return
}