Browse Source

Merge pull request '修复 —【资源规格管理】新建应用场景时所有规格列表排序问题' (#3201) from fix-3196 into V20221116

Reviewed-on: https://openi.pcl.ac.cn/OpenI/aiforge/pulls/3201
Reviewed-by: ychao_1983 <ychao_1983@sina.com>
fisheryu-patch-1
ychao_1983 2 years ago
parent
commit
a6d9a959e8
3 changed files with 19 additions and 1 deletions
  1. +17
    -1
      models/resource_specification.go
  2. +1
    -0
      routers/admin/resources.go
  3. +1
    -0
      services/cloudbrain/resource/resource_specification.go

+ 17
- 1
models/resource_specification.go View File

@@ -12,6 +12,13 @@ const (
SpecOffShelf
)

type SearchSpecOrderBy int

const (
SearchSpecOrderById SearchSpecOrderBy = iota
SearchSpecOrder4Standard
)

type ResourceSpecification struct {
ID int64 `xorm:"pk autoincr"`
QueueId int64 `xorm:"INDEX"`
@@ -85,6 +92,7 @@ type SearchResourceSpecificationOptions struct {
Status int
Cluster string
AvailableCode int
OrderBy SearchSpecOrderBy
}

type SearchResourceBriefSpecificationOptions struct {
@@ -233,10 +241,18 @@ func SearchResourceSpecification(opts SearchResourceSpecificationOptions) (int64
return 0, nil, err
}

var orderby = ""
switch opts.OrderBy {
case SearchSpecOrder4Standard:
orderby = "resource_queue.compute_resource asc,resource_queue.acc_card_type asc,resource_specification.acc_cards_num asc,resource_specification.cpu_cores asc,resource_specification.mem_gi_b asc,resource_specification.share_mem_gi_b asc"
default:
orderby = "resource_specification.id desc"
}

r := make([]ResourceSpecAndQueue, 0)
err = x.Where(cond).
Join("INNER", "resource_queue", "resource_queue.ID = resource_specification.queue_id").
Desc("resource_specification.id").
OrderBy(orderby).
Limit(opts.PageSize, (opts.Page-1)*opts.PageSize).
Unscoped().Find(&r)
if err != nil {


+ 1
- 0
routers/admin/resources.go View File

@@ -127,6 +127,7 @@ func GetResourceSpecificationList(ctx *context.Context) {
Status: status,
Cluster: cluster,
AvailableCode: available,
OrderBy: models.SearchSpecOrderById,
})
if err != nil {
log.Error("GetResourceSpecificationList error.%v", err)


+ 1
- 0
services/cloudbrain/resource/resource_specification.go View File

@@ -138,6 +138,7 @@ func GetResourceSpecificationList(opts models.SearchResourceSpecificationOptions
func GetAllDistinctResourceSpecification(opts models.SearchResourceSpecificationOptions) (*models.ResourceSpecAndQueueListRes, error) {
opts.Page = 0
opts.PageSize = 1000
opts.OrderBy = models.SearchSpecOrder4Standard
_, r, err := models.SearchResourceSpecification(opts)
if err != nil {
return nil, err


Loading…
Cancel
Save