Browse Source

interface

tags/v1.22.7.1
lewis 3 years ago
parent
commit
94282132ea
3 changed files with 87 additions and 0 deletions
  1. +26
    -0
      models/cloudbrain.go
  2. +1
    -0
      routers/api/v1/api.go
  3. +60
    -0
      routers/api/v1/repo/cloudbrain.go

+ 26
- 0
models/cloudbrain.go View File

@@ -2018,3 +2018,29 @@ func GetDatasetInfo(uuidStr string) (map[string]DatasetInfo, string, error) {

return datasetInfos, datasetNames, nil
}

func GetNewestJobsByAiCenter() ([]int64, error) {
ids := make([]int64, 0)
return ids, x.
Select("max(id) as id").
Where("type=? and ai_center!=''", TypeC2Net).
GroupBy("ai_center").
Table(Cloudbrain{}).
Find(ids)
}

func GetNewestJobsByType() ([]*Cloudbrain, error) {
cloudbrains := make([]*Cloudbrain, 0)
return cloudbrains, x.
Select("type,max(id) as id").
In("type", TypeCloudBrainOne, TypeCloudBrainTwo).
GroupBy("type").
Find(&cloudbrains)
}

func GetCloudbrainByIDs(ids []int64) ([]*Cloudbrain, error) {
cloudbrains := make([]*Cloudbrain, 0)
return cloudbrains, x.
In("id", ids).
Find(&cloudbrains)
}

+ 1
- 0
routers/api/v1/api.go View File

@@ -1056,6 +1056,7 @@ func RegisterRoutes(m *macaron.Macaron) {
m.Post("/prd/event", authentication.AcceptWechatEvent)
})
m.Get("/wechat/material", authentication.GetMaterial)
m.Get("/cloudbrain/get_newest_job", repo.GetNewestJobs)
}, securityHeaders(), context.APIContexter(), sudo())
}



+ 60
- 0
routers/api/v1/repo/cloudbrain.go View File

@@ -207,3 +207,63 @@ func CloudBrainModelList(ctx *context.APIContext) {
"PageIsCloudBrain": true,
})
}

type JobInfo struct {
JobName string `json:"job_name"`
AiCenterId int `json:"ai_center_id"`
}

func GetNewestJobs(ctx *context.APIContext) {
idsC2Net, err := models.GetNewestJobsByAiCenter()
if err != nil {
log.Error("GetNewestJobsByAiCenter(%s) failed:%v", err.Error())
return
}

jobsCloudbrain, err := models.GetNewestJobsByType()
if err != nil {
log.Error("GetNewestJobsByType(%s) failed:%v", err.Error())
return
}

var ids []int64

for _, id := range idsC2Net {
log.Info("%d", id)
}

copy(ids, idsC2Net)
for _, job := range jobsCloudbrain {
log.Info("%d, %d", job.Type, job.ID)
ids = append(ids, job.ID)
}

jobs, err := models.GetCloudbrainByIDs(ids)
if err != nil {
log.Error("GetCloudbrainByIDs(%s) failed:%v", err.Error())
return
}

jobInfos := make([]JobInfo, 0)
for _, job := range jobs {
switch job.Type {
case models.TypeCloudBrainOne:
jobInfos = append(jobInfos, JobInfo{
JobName: job.DisplayJobName,
AiCenterId: 0,
})
case models.TypeCloudBrainTwo:
jobInfos = append(jobInfos, JobInfo{
JobName: job.DisplayJobName,
AiCenterId: 1,
})
case models.TypeC2Net:
jobInfos = append(jobInfos, JobInfo{
JobName: job.DisplayJobName,
AiCenterId: 3,
})
}
}

ctx.JSON(http.StatusOK, jobInfos)
}

Loading…
Cancel
Save