Browse Source

#2624

update
tags/v1.22.8.2^2
chenyifan01 3 years ago
parent
commit
d6560049b6
5 changed files with 43 additions and 0 deletions
  1. +9
    -0
      models/resource_scene.go
  2. +11
    -0
      models/resource_specification.go
  3. +13
    -0
      routers/admin/resources.go
  4. +1
    -0
      routers/routes/routes.go
  5. +9
    -0
      services/cloudbrain/resource/resource_specification.go

+ 9
- 0
models/resource_scene.go View File

@@ -83,6 +83,15 @@ func (ResourceSceneRes) TableName() string {
return "resource_scene"
}

type ResourceSceneBriefRes struct {
ID int64
SceneName string
}

func (ResourceSceneBriefRes) TableName() string {
return "resource_scene"
}

type ResourceSpecWithSceneId struct {
ID int64
SourceSpecId string


+ 11
- 0
models/resource_specification.go View File

@@ -182,6 +182,17 @@ func SearchResourceSpecification(opts SearchResourceSpecificationOptions) (int64
return n, r, nil
}

func GetSpecScenes(specId int64) ([]ResourceSceneBriefRes, error) {
r := make([]ResourceSceneBriefRes, 0)
err := x.Where("resource_scene_spec.spec_id = ?", specId).
Join("INNER", "resource_scene_spec", "resource_scene_spec.scene_id = resource_scene.id").
Find(&r)
if err != nil {
return nil, err
}
return r, nil
}

func ResourceSpecOnShelf(id int64, spec ResourceSpecification) (int64, error) {
spec.Status = SpecOnShelf
return x.Where("id = ? and status in (?,?)", id, SpecOffShelf, SpecNotVerified).Update(&spec)


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

@@ -132,6 +132,19 @@ func GetResourceSpecificationList(ctx *context.Context) {
ctx.JSON(http.StatusOK, response.SuccessWithData(list))
}

func GetResourceSpecificationScenes(ctx *context.Context) {
specId := ctx.ParamsInt64(":id")
list, err := resource.GetResourceSpecificationScenes(specId)
if err != nil {
log.Error("GetResourceSpecificationScenes error.%v", err)
ctx.JSON(http.StatusOK, response.ServerError(err.Error()))
return
}
r := make(map[string]interface{})
r["List"] = list
ctx.JSON(http.StatusOK, response.SuccessWithData(r))
}

func AddResourceSpecification(ctx *context.Context, req models.ResourceSpecificationReq) {
req.IsAutomaticSync = false
req.CreatorId = ctx.User.ID


+ 1
- 0
routers/routes/routes.go View File

@@ -619,6 +619,7 @@ func RegisterRoutes(m *macaron.Macaron) {
m.Group("/specification", func() {
m.Get("", admin.GetSpecificationPage)
m.Get("/list", admin.GetResourceSpecificationList)
m.Get("/scenes/:id", admin.GetResourceSpecificationScenes)
m.Post("/grampus/sync", admin.SyncGrampusSpecs)
m.Post("/add", binding.Bind(models.ResourceSpecificationReq{}), admin.AddResourceSpecification)
m.Post("/update/:id", binding.BindIgnErr(models.ResourceSpecificationReq{}), admin.UpdateResourceSpecification)


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

@@ -125,6 +125,15 @@ func GetResourceSpecificationList(opts models.SearchResourceSpecificationOptions
return models.NewResourceSpecAndQueueListRes(n, r), nil
}

func GetResourceSpecificationScenes(specId int64) ([]models.ResourceSceneBriefRes, error) {
r, err := models.GetSpecScenes(specId)
if err != nil {
return nil, err
}

return r, nil
}

func ResourceSpecOnShelf(doerId int64, id int64, req models.ResourceSpecificationReq) *response.BizError {
spec, err := models.GetResourceSpecification(&models.ResourceSpecification{ID: id})
if err != nil {


Loading…
Cancel
Save