|
|
|
@@ -5,7 +5,6 @@ package model |
|
|
|
import ( |
|
|
|
"context" |
|
|
|
"database/sql" |
|
|
|
"fmt" |
|
|
|
"strings" |
|
|
|
"time" |
|
|
|
|
|
|
|
@@ -42,7 +41,7 @@ type ( |
|
|
|
Id int64 `db:"id"` // id |
|
|
|
NodeName string `db:"node_name"` // 节点名称 |
|
|
|
CpuTotal int64 `db:"cpu_total"` // cpu核数 |
|
|
|
CpuAvail int64 `db:"cpu_avail"` // cpu可用核数 |
|
|
|
CpuUsable float64 `db:"cpu_usable"` // cpu可用率 |
|
|
|
DiskTotal int64 `db:"disk_total"` // 磁盘空间 |
|
|
|
DiskAvail int64 `db:"disk_avail"` // 磁盘可用空间 |
|
|
|
MemTotal int64 `db:"mem_total"` // 内存总数 |
|
|
|
@@ -71,60 +70,6 @@ func (m *defaultScNodeAvailInfoModel) withSession(session sqlx.Session) *default |
|
|
|
table: "`sc_node_avail_info`", |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
func (m *defaultScNodeAvailInfoModel) Delete(ctx context.Context, id int64) error { |
|
|
|
pcmScNodeAvailInfoIdKey := fmt.Sprintf("%s%v", cachePcmScNodeAvailInfoIdPrefix, id) |
|
|
|
_, err := m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) { |
|
|
|
query := fmt.Sprintf("delete from %s where `id` = ?", m.table) |
|
|
|
return conn.ExecCtx(ctx, query, id) |
|
|
|
}, pcmScNodeAvailInfoIdKey) |
|
|
|
return err |
|
|
|
} |
|
|
|
|
|
|
|
func (m *defaultScNodeAvailInfoModel) FindOne(ctx context.Context, id int64) (*ScNodeAvailInfo, error) { |
|
|
|
pcmScNodeAvailInfoIdKey := fmt.Sprintf("%s%v", cachePcmScNodeAvailInfoIdPrefix, id) |
|
|
|
var resp ScNodeAvailInfo |
|
|
|
err := m.QueryRowCtx(ctx, &resp, pcmScNodeAvailInfoIdKey, func(ctx context.Context, conn sqlx.SqlConn, v any) error { |
|
|
|
query := fmt.Sprintf("select %s from %s where `id` = ? limit 1", scNodeAvailInfoRows, m.table) |
|
|
|
return conn.QueryRowCtx(ctx, v, query, id) |
|
|
|
}) |
|
|
|
switch err { |
|
|
|
case nil: |
|
|
|
return &resp, nil |
|
|
|
case sqlc.ErrNotFound: |
|
|
|
return nil, ErrNotFound |
|
|
|
default: |
|
|
|
return nil, err |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
func (m *defaultScNodeAvailInfoModel) Insert(ctx context.Context, data *ScNodeAvailInfo) (sql.Result, error) { |
|
|
|
pcmScNodeAvailInfoIdKey := fmt.Sprintf("%s%v", cachePcmScNodeAvailInfoIdPrefix, data.Id) |
|
|
|
ret, err := m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) { |
|
|
|
query := fmt.Sprintf("insert into %s (%s) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", m.table, scNodeAvailInfoRowsExpectAutoSet) |
|
|
|
return conn.ExecCtx(ctx, query, data.Id, data.NodeName, data.CpuTotal, data.CpuAvail, data.DiskTotal, data.DiskAvail, data.MemTotal, data.MemAvail, data.GpuTotal, data.GpuAvail, data.ClusterLogicId, data.DeletedFlag, data.CreatedBy, data.CreatedTime, data.UpdatedBy, data.UpdatedTime) |
|
|
|
}, pcmScNodeAvailInfoIdKey) |
|
|
|
return ret, err |
|
|
|
} |
|
|
|
|
|
|
|
func (m *defaultScNodeAvailInfoModel) Update(ctx context.Context, data *ScNodeAvailInfo) error { |
|
|
|
pcmScNodeAvailInfoIdKey := fmt.Sprintf("%s%v", cachePcmScNodeAvailInfoIdPrefix, data.Id) |
|
|
|
_, err := m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) { |
|
|
|
query := fmt.Sprintf("update %s set %s where `id` = ?", m.table, scNodeAvailInfoRowsWithPlaceHolder) |
|
|
|
return conn.ExecCtx(ctx, query, data.NodeName, data.CpuTotal, data.CpuAvail, data.DiskTotal, data.DiskAvail, data.MemTotal, data.MemAvail, data.GpuTotal, data.GpuAvail, data.ClusterLogicId, data.DeletedFlag, data.CreatedBy, data.CreatedTime, data.UpdatedBy, data.UpdatedTime, data.Id) |
|
|
|
}, pcmScNodeAvailInfoIdKey) |
|
|
|
return err |
|
|
|
} |
|
|
|
|
|
|
|
func (m *defaultScNodeAvailInfoModel) formatPrimary(primary any) string { |
|
|
|
return fmt.Sprintf("%s%v", cachePcmScNodeAvailInfoIdPrefix, primary) |
|
|
|
} |
|
|
|
|
|
|
|
func (m *defaultScNodeAvailInfoModel) queryPrimary(ctx context.Context, conn sqlx.SqlConn, v, primary any) error { |
|
|
|
query := fmt.Sprintf("select %s from %s where `id` = ? limit 1", scNodeAvailInfoRows, m.table) |
|
|
|
return conn.QueryRowCtx(ctx, v, query, primary) |
|
|
|
} |
|
|
|
|
|
|
|
func (m *defaultScNodeAvailInfoModel) tableName() string { |
|
|
|
return m.table |
|
|
|
} |