mirror of
https://gitee.com/dromara/mayfly-go
synced 2025-11-27 03:20:25 +08:00
38 lines
824 B
Go
38 lines
824 B
Go
package models
|
|
|
|
import (
|
|
"encoding/json"
|
|
"mayfly-go/base/biz"
|
|
"mayfly-go/base/rediscli"
|
|
)
|
|
|
|
const machineKey = "ccbscf:machines"
|
|
|
|
type Machine struct {
|
|
Name string `json:"name"`
|
|
Ip string `json:"ip"` // IP地址
|
|
Username string `json:"username"` // 用户名
|
|
Password string `json:"-"`
|
|
Port int `json:"port"` // 端口号
|
|
}
|
|
|
|
func (c *Machine) CreateMachine() {
|
|
biz.IsTrue(!rediscli.HExist(machineKey, c.Ip), "该机器已存在")
|
|
val, _ := json.Marshal(c)
|
|
rediscli.HSet(machineKey, c.Ip, val)
|
|
}
|
|
|
|
func DeleteMachine(ip string) {
|
|
rediscli.HDel(machineKey, ip)
|
|
}
|
|
|
|
func GetMachineByIp(ip string) *Machine {
|
|
machine := &Machine{}
|
|
json.Unmarshal([]byte(rediscli.HGet(machineKey, ip)), machine)
|
|
return machine
|
|
}
|
|
|
|
func GetMachineList() map[string]string {
|
|
return rediscli.HGetAll(machineKey)
|
|
}
|