Browse Source

#2624

fix bug
tags/v1.22.8.2^2
chenyifan01 3 years ago
parent
commit
2f1e7be34c
3 changed files with 15 additions and 15 deletions
  1. +7
    -3
      models/resource_specification.go
  2. +2
    -2
      routers/admin/resources.go
  3. +6
    -10
      services/cloudbrain/resource/resource_specification.go

+ 7
- 3
models/resource_specification.go View File

@@ -148,6 +148,10 @@ func InsertResourceSpecification(r ResourceSpecification) (int64, error) {
func UpdateResourceSpecificationById(queueId int64, spec ResourceSpecification) (int64, error) {
return x.ID(queueId).Update(&spec)
}
func UpdateSpecUnitPriceById(id int64, unitPrice int) error {
_, err := x.Exec("update resource_specification set unit_price = ? where id = ?", unitPrice, id)
return err
}

func SearchResourceSpecification(opts SearchResourceSpecificationOptions) (int64, []ResourceSpecAndQueue, error) {
var cond = builder.NewCond()
@@ -193,9 +197,9 @@ func GetSpecScenes(specId int64) ([]ResourceSceneBriefRes, error) {
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)
func ResourceSpecOnShelf(id int64, unitPrice int) error {
_, err := x.Exec("update resource_specification set unit_price = ?,status = ? where id = ?", unitPrice, SpecOnShelf, id)
return err
}

func ResourceSpecOffShelf(id int64) (int64, error) {


+ 2
- 2
routers/admin/resources.go View File

@@ -169,9 +169,9 @@ func UpdateResourceSpecification(ctx *context.Context, req models.ResourceSpecif
return
}
//only UnitPrice and permitted to change
err = resource.UpdateResourceSpecification(ctx.User.ID, id, req)
err = resource.UpdateSpecUnitPrice(ctx.User.ID, id, req.UnitPrice)
case "on-shelf":
err = resource.ResourceSpecOnShelf(ctx.User.ID, id, req)
err = resource.ResourceSpecOnShelf(ctx.User.ID, id, req.UnitPrice)
case "off-shelf":
err = resource.ResourceSpecOffShelf(ctx.User.ID, id)
}


+ 6
- 10
services/cloudbrain/resource/resource_specification.go View File

@@ -22,7 +22,7 @@ func AddResourceSpecification(doerId int64, req models.ResourceSpecificationReq)
return nil
}

func UpdateResourceSpecification(doerId int64, specId int64, req models.ResourceSpecificationReq) *response.BizError {
func UpdateSpecUnitPrice(doerId int64, specId int64, unitPrice int) *response.BizError {
oldSpec, err := models.GetResourceSpecification(&models.ResourceSpecification{ID: specId})
if err != nil {
return response.NewBizError(err)
@@ -30,14 +30,12 @@ func UpdateResourceSpecification(doerId int64, specId int64, req models.Resource
if oldSpec == nil {
return response.SPECIFICATION_NOT_EXIST
}
n, err := models.UpdateResourceSpecificationById(specId, models.ResourceSpecification{
UnitPrice: req.UnitPrice,
})
err = models.UpdateSpecUnitPriceById(specId, unitPrice)
if err != nil {
return response.NewBizError(err)
}

if n > 0 {
if oldSpec.UnitPrice != unitPrice {
newSpec, _ := models.GetResourceSpecification(&models.ResourceSpecification{ID: specId})
AddSpecOperateLog(doerId, "edit", newSpec, oldSpec, fmt.Sprintf("修改单价从%d积分到%d积分", oldSpec.UnitPrice, newSpec.UnitPrice))
}
@@ -134,7 +132,7 @@ func GetResourceSpecificationScenes(specId int64) ([]models.ResourceSceneBriefRe
return r, nil
}

func ResourceSpecOnShelf(doerId int64, id int64, req models.ResourceSpecificationReq) *response.BizError {
func ResourceSpecOnShelf(doerId int64, id int64, unitPrice int) *response.BizError {
spec, err := models.GetResourceSpecification(&models.ResourceSpecification{ID: id})
if err != nil {
return response.NewBizError(err)
@@ -146,13 +144,11 @@ func ResourceSpecOnShelf(doerId int64, id int64, req models.ResourceSpecificatio
return response.RESOURCE_QUEUE_NOT_AVAILABLE
}

n, err := models.ResourceSpecOnShelf(id, models.ResourceSpecification{
UnitPrice: req.UnitPrice,
})
err = models.ResourceSpecOnShelf(id, unitPrice)
if err != nil {
return response.NewBizError(err)
}
if n > 0 {
if spec.UnitPrice != unitPrice {
newSpec, _ := models.GetResourceSpecification(&models.ResourceSpecification{ID: id})
AddSpecOperateLog(doerId, "on-shelf", newSpec, spec, fmt.Sprintf("修改单价从%d积分到%d积分", spec.UnitPrice, newSpec.UnitPrice))
}


Loading…
Cancel
Save