1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- package nodeconfig
- import (
- "github.com/gogf/gf/v2/database/gdb"
- "github.com/gogf/gf/v2/frame/g"
- "golang.org/x/net/context"
- "nodeMonitor/internal/dao"
- "nodeMonitor/internal/model"
- "nodeMonitor/internal/model/do"
- "nodeMonitor/internal/model/entity"
- "nodeMonitor/internal/service"
- )
- type (
- sNodeConfig struct{}
- )
- func init() {
- service.RegisterNodeConfig(New())
- }
- func New() *sNodeConfig {
- return &sNodeConfig{}
- }
- func (c *sNodeConfig) GetAll(ctx context.Context) (nodeConfig []*model.NodeConfigItem, err error) {
- var node []*model.NodeConfigItem
- err = dao.Node.Ctx(ctx).OrderDesc("create_at").ScanList(&node, "Node")
- if err != nil {
- return nil, err
- }
- err = dao.Nodeconfig.Ctx(ctx).Where("serverid", gdb.ListItemValuesUnique(node, "Node", "Id")).ScanList(&node, "NodeConfig", "Node", "serverid=id")
- if err != nil {
- return nil, err
- }
- nodeConfig = node
- return
- }
- // Get 获取节点配置
- func (c *sNodeConfig) Get(ctx context.Context, id int) (nodeConfig *entity.Nodeconfig, err error) {
- var node = new(entity.Nodeconfig)
- err = dao.Nodeconfig.Ctx(ctx).Where("serverid", id).Scan(&node)
- nodeConfig = node
- return
- }
- // Create 创建节点配置
- func (c *sNodeConfig) Create(ctx context.Context, input model.NodeConfigAndEditCreateInput) error {
- return dao.Nodeconfig.Transaction(ctx, func(ctx context.Context, tx gdb.TX) error {
- _, err := dao.Nodeconfig.Ctx(ctx).Data(do.Nodeconfig{
- Serverid: input.ServerId,
- Sshcommand: input.SshCom,
- Sshpassword: input.SshPass,
- Sshusername: input.SshUser,
- }).Insert()
- return err
- })
- }
- // Edit 编辑节点配置
- func (c *sNodeConfig) Edit(ctx context.Context, input model.NodeConfigAndEditCreateInput) error {
- _, err := dao.Nodeconfig.Ctx(ctx).Where("serverid", input.ServerId).Update(g.Map{
- "sshcommand": input.SshCom,
- "sshpassword": input.SshPass,
- "sshusername": input.SshUser,
- })
- return err
- }
- // IsExist 节点是否存在
- func (c *sNodeConfig) IsExist(ctx context.Context, serverid int) (bool, error) {
- count, err := dao.Nodeconfig.Ctx(ctx).Where(g.Map{
- "serverid": serverid,
- }).Count()
- if err != nil {
- return false, err
- }
- return count == 0, nil
- }
- // Delete 节点是否存在
- func (c *sNodeConfig) Delete(ctx context.Context, serverid int) error {
- _, err := dao.Nodeconfig.Ctx(ctx).Where(g.Map{
- "serverid": serverid,
- }).Delete()
- return err
- }
|