|
- package models
-
- import (
- "context"
- "database/sql"
- "github.com/Masterminds/squirrel"
- "github.com/zeromicro/go-zero/core/stores/cache"
- "github.com/zeromicro/go-zero/core/stores/sqlc"
- "github.com/zeromicro/go-zero/core/stores/sqlx"
- )
-
- type (
- centerOverviewModel interface {
- FindAll(ctx context.Context) (*[]CenterOverview, error)
- }
-
- defaultCenterOverviewModel struct {
- sqlc.CachedConn
- table string
- }
-
- CenterOverview struct {
- Id sql.NullInt64 `json:"id"`
- CenterSource sql.NullString `json:"centerSource"`
- SourceId sql.NullString `json:"sourceId"`
- Name sql.NullString `json:"name"`
- Description sql.NullString `json:"description"`
- Type sql.NullString `json:"type"`
- Area sql.NullString `json:"area"`
- City sql.NullString `json:"city"`
- Longitude sql.NullFloat64 `json:"longitude"`
- Latitude sql.NullFloat64 `json:"latitude"`
- Status sql.NullString `json:"status"`
- UserNum sql.NullInt64 `json:"userNum"`
- DeletedFlag sql.NullInt64 `json:"deletedFlag"`
- CloudClusterNum sql.NullInt64 `json:"cloudClusterNum"`
- CloudNodeNum sql.NullInt64 `json:"cloudNodeNum"`
- CloudCpuNum sql.NullInt64 `json:"cloudCpuNum"`
- CloudGpuNum sql.NullInt64 `json:"cloudGpuNum"`
- CloudMngFlops sql.NullInt64 `json:"cloudMngFlops"`
- CloudUmngFlops sql.NullInt64 `json:"cloudUmngFlops"`
- CloudMngStorage sql.NullInt64 `json:"CloudMngStorage"`
- CloudUmngStorage sql.NullInt64 `json:"CloudUmngStorage"`
- AiClusterNum sql.NullInt64 `json:"aiClusterNum"`
- AiNodeNum sql.NullInt64 `json:"aiNodeNum"`
- AiCpuNum sql.NullInt64 `json:"aiCpuNum"`
- AiGpuNum sql.NullInt64 `json:"aiGpuNum"`
- AiMngFlops sql.NullInt64 `json:"aiMngFlops"`
- AiUmngFlops sql.NullInt64 `json:"aiUmngFlops"`
- AiMngStorage sql.NullInt64 `json:"aiMngStorage"`
- AiUmngStorage sql.NullInt64 `json:"aiUmngStorage"`
- HpcClusterNum sql.NullInt64 `json:"hpcClusterNum"`
- HpcNodeNum sql.NullInt64 `json:"hpcNodeNum"`
- HpcCpuNum sql.NullInt64 `json:"hpcCpuNum"`
- HpcGpuNum sql.NullInt64 `json:"hpcGpuNum"`
- HpcMngFlops sql.NullInt64 `json:"hpcMngFlops"`
- HpcUmngFlops sql.NullInt64 `json:"hpcUmngFlops"`
- HpcMngStorage sql.NullInt64 `json:"hpcMngStorage"`
- HpcUmngStorage sql.NullInt64 `json:"hpcUmngStorage"`
- Edwc sql.NullBool `json:"edwc"`
- Ydyl sql.NullBool `json:"ydyl"`
- HubCode sql.NullInt64 `json:"hubCode"`
- }
- )
-
- func newCenterOverviewModel(conn sqlx.SqlConn, c cache.CacheConf) *defaultCenterOverviewModel {
- return &defaultCenterOverviewModel{
- CachedConn: sqlc.NewConn(conn, c),
- table: "`compute_center`",
- }
- }
-
- func (m *defaultCenterOverviewModel) FindAll(ctx context.Context) (*[]CenterOverview, error) {
- var centers []CenterOverview
-
- centerSelect := squirrel.Select(`cc.*`, `ac.cluster_num`, `ac.node_num`, `ac.cpu_num`, `ac.gpu_num`, `ac.managed_flops`, `ac.unmanaged_flops`, `ac.managed_storage`, `ac.unmanaged_storage`, `hc.cluster_num`, `c.node_num`, `hc.cpu_num`, `hc.gpu_num`, `hc.managed_flops`, `hc.unmanaged_flops`, `hc.managed_storage`, `hc.unmanaged_storage`, `c.cluster_num`, `c.node_num`, `c.cpu_num`, `c.gpu_num`, `c.managed_flops`, `c.unmanaged_flops`, `c.managed_storage`, `c.unmanaged_storage`, `ct.edwc`, `ct.ydyl`).
- From("compute_center cc").
- LeftJoin(`ai_center ac on cc.id = ac.id`).
- LeftJoin(`hpc_center hc on cc.id = hc.id`).
- LeftJoin(`cloud_center c on cc.id = c.id`).
- LeftJoin(`center_tag ct on cc.id = ct.id`).
- Where(`cc.deleted_flag = 0`)
- query, values, _ := centerSelect.ToSql()
-
- err := m.QueryRowsNoCacheCtx(ctx, ¢ers, query, values...)
- if err != nil {
- return nil, err
- }
-
- return ¢ers, nil
-
- }
|