|
|
|
@@ -7,8 +7,8 @@ import ( |
|
|
|
|
|
|
|
const ( |
|
|
|
SpecNotVerified int = iota + 1 |
|
|
|
SpecEffective |
|
|
|
SpecNotEffective |
|
|
|
SpecOnShelf |
|
|
|
SpecOffShelf |
|
|
|
) |
|
|
|
|
|
|
|
type ResourceSpecification struct { |
|
|
|
@@ -16,8 +16,9 @@ type ResourceSpecification struct { |
|
|
|
QueueId int64 `xorm:"INDEX"` |
|
|
|
SourceSpecId string `xorm:"INDEX"` |
|
|
|
AccCardsNum int |
|
|
|
CpuNum int |
|
|
|
CpuCores int |
|
|
|
MemMiB int |
|
|
|
GPUMemMiB int |
|
|
|
ShareMemMiB int |
|
|
|
UnitPrice int |
|
|
|
Status int |
|
|
|
@@ -33,9 +34,10 @@ func (r ResourceSpecification) ConvertToRes() *ResourceSpecificationRes { |
|
|
|
ID: r.ID, |
|
|
|
SourceSpecId: r.SourceSpecId, |
|
|
|
AccCardsNum: r.AccCardsNum, |
|
|
|
CpuNum: r.CpuNum, |
|
|
|
MemMiB: r.MemMiB, |
|
|
|
CpuCores: r.CpuCores, |
|
|
|
MemMiB: r.GPUMemMiB, |
|
|
|
ShareMemMiB: r.ShareMemMiB, |
|
|
|
GPUMemMiB: r.GPUMemMiB, |
|
|
|
UnitPrice: r.UnitPrice, |
|
|
|
Status: r.Status, |
|
|
|
} |
|
|
|
@@ -44,9 +46,10 @@ func (r ResourceSpecification) ConvertToRes() *ResourceSpecificationRes { |
|
|
|
type ResourceSpecificationReq struct { |
|
|
|
QueueId int64 `binding:"Required"` |
|
|
|
AccCardsNum int |
|
|
|
CpuNum int |
|
|
|
MemGiB int |
|
|
|
ShareMemGiB int |
|
|
|
CpuCores int |
|
|
|
MemMiB int |
|
|
|
GPUMemMiB int |
|
|
|
ShareMemMiB int |
|
|
|
UnitPrice int |
|
|
|
Status int |
|
|
|
IsAutomaticSync bool |
|
|
|
@@ -57,9 +60,10 @@ func (r ResourceSpecificationReq) ToDTO() ResourceSpecification { |
|
|
|
return ResourceSpecification{ |
|
|
|
QueueId: r.QueueId, |
|
|
|
AccCardsNum: r.AccCardsNum, |
|
|
|
CpuNum: r.CpuNum, |
|
|
|
MemMiB: r.MemGiB * 1024, |
|
|
|
ShareMemMiB: r.ShareMemGiB * 1024, |
|
|
|
CpuCores: r.CpuCores, |
|
|
|
MemMiB: r.MemMiB, |
|
|
|
GPUMemMiB: r.GPUMemMiB, |
|
|
|
ShareMemMiB: r.ShareMemMiB, |
|
|
|
UnitPrice: r.UnitPrice, |
|
|
|
Status: r.Status, |
|
|
|
IsAutomaticSync: r.IsAutomaticSync, |
|
|
|
@@ -94,8 +98,9 @@ type ResourceSpecificationRes struct { |
|
|
|
ID int64 |
|
|
|
SourceSpecId string |
|
|
|
AccCardsNum int |
|
|
|
CpuNum int |
|
|
|
CpuCores int |
|
|
|
MemMiB int |
|
|
|
GPUMemMiB int |
|
|
|
ShareMemMiB int |
|
|
|
UnitPrice int |
|
|
|
Status int |
|
|
|
@@ -122,8 +127,8 @@ func (r ResourceSpecAndQueue) ConvertToRes() *ResourceSpecAndQueueRes { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
func InsertResourceSpecification(queue ResourceSpecification) (int64, error) { |
|
|
|
return x.Insert(&queue) |
|
|
|
func InsertResourceSpecification(r ResourceSpecification) (int64, error) { |
|
|
|
return x.Insert(&r) |
|
|
|
} |
|
|
|
|
|
|
|
func UpdateResourceSpecificationById(queueId int64, queue ResourceSpecification) (int64, error) { |
|
|
|
@@ -157,3 +162,18 @@ func SearchResourceSpecification(opts SearchResourceSpecificationOptions) (int64 |
|
|
|
} |
|
|
|
return n, r, nil |
|
|
|
} |
|
|
|
|
|
|
|
func ResourceSpecOnShelf(id int64) (int64, error) { |
|
|
|
param := ResourceSpecification{ |
|
|
|
Status: SpecOnShelf, |
|
|
|
} |
|
|
|
return x.Where("id = ? and status in (?,?)", id, SpecOffShelf, SpecNotVerified).Update(¶m) |
|
|
|
} |
|
|
|
|
|
|
|
func ResourceSpecOffShelf(id int64) (int64, error) { |
|
|
|
//todo delete scene |
|
|
|
param := ResourceSpecification{ |
|
|
|
Status: SpecOffShelf, |
|
|
|
} |
|
|
|
return x.Where("id = ? and status = ?", id, SpecOnShelf).Update(¶m) |
|
|
|
} |