diff --git a/internal/api/mobile/order/submit.go b/internal/api/mobile/order/submit.go index ec9730e..b3b9a45 100755 --- a/internal/api/mobile/order/submit.go +++ b/internal/api/mobile/order/submit.go @@ -255,13 +255,22 @@ func SubmitOrder(c *gin.Context) { tx.Rollback() return } - // 仅考虑商品库存的情况 sku := preGoodSkuMap[v.ID] - if err = tx.Model(sku).UpdateColumn("inventory", gorm.Expr("inventory - ?", v.Quantity)).Error; err != nil { - back.Err(c, err.Error()) - tx.Rollback() - return + if orderCopy.OrderType == 1 { + // 仅考虑商品库存的情况 + if err = tx.Model(sku).UpdateColumn("inventory", gorm.Expr("inventory - ?", v.Quantity)).Error; err != nil { + back.Err(c, err.Error()) + tx.Rollback() + return + } + } else { + if err = tx.Model(sku).UpdateColumn("sal_inventory", gorm.Expr("sale_inventory - ?", v.Quantity)).Error; err != nil { + back.Err(c, err.Error()) + tx.Rollback() + return + } } + if err = tx.Model(sku).UpdateColumn("sales_volume", gorm.Expr("sales_volume + ?", v.Quantity)).Error; err != nil { back.Err(c, err.Error()) tx.Rollback()