Skip to content

Commit

Permalink
Merge pull request #117 from CETEN-OpenBar/feature/PizzaPriceRestock
Browse files Browse the repository at this point in the history
Feature/PizzaPriceRestock
  • Loading branch information
aripot007 authored Dec 20, 2024
2 parents fda83fa + cb5a5f1 commit 57b0e52
Show file tree
Hide file tree
Showing 10 changed files with 708 additions and 816 deletions.
3 changes: 3 additions & 0 deletions backend/api/categories.go
Original file line number Diff line number Diff line change
Expand Up @@ -180,6 +180,9 @@ func (s *Server) PatchCategory(c echo.Context, categoryId autogen.UUID) error {
if p.Hidden != nil {
category.Hidden = *p.Hidden
}
if p.SpecialPrice != nil {
category.SpecialPrice = *p.SpecialPrice
}

if p.Picture != nil {
// Get image from p.Picture as base64
Expand Down
98 changes: 72 additions & 26 deletions backend/api/restock.go
Original file line number Diff line number Diff line change
Expand Up @@ -98,37 +98,83 @@ func (s *Server) CreateRestock(c echo.Context) error {
logrus.Error(err)
return nil, Error500(c)
}

category, err := s.DBackend.GetCategory(c.Request().Context(), item.CategoryId.String())
if err != nil {
if err == mongo.ErrNoDocuments {
// return nil, ErrorItemNotFound(c)
// Si l'item n'as pas de catégorie, on met une catégorie par défaut
category = &models.Category{
Category: autogen.Category{
Id: uuid.Nil,
Name: "Autres",
SpecialPrice: false,
},
}
} else {
logrus.Error(err)
return nil, Error500(c)
}
}
restockItem.ItemName = item.Name
restockItem.ItemPictureUri = item.PictureUri
item.State = autogen.ItemBuyable
item.AmountLeft += restockItem.AmountOfBundle * restockItem.AmountPerBundle
item.LastTva = &restockItem.Tva
item.Prices.Coutant = uint64(math.Ceil(float64(restockItem.BundleCostTtc) / (float64(restockItem.AmountPerBundle))))
if item.Prices.Coutant < 30 {
item.Prices.Externe = arrondiAuMutilple(item.Prices.Coutant, 5) + 20
item.Prices.Ceten = arrondiAuMutilple(item.Prices.Coutant, 5) + 10
item.Prices.StaffBar = arrondiAuMutilple(item.Prices.Coutant, 5) + 5
item.Prices.Privilegies = arrondiAuMutilple(item.Prices.Coutant, 5) + 5
item.Prices.Menu = arrondiAuMutilple(item.Prices.Coutant, 5) + 10
} else if item.Prices.Coutant >= 30 && item.Prices.Coutant < 130 {
item.Prices.Externe = arrondiAuMutilple(item.Prices.Coutant*3/2, 5)
item.Prices.Ceten = arrondiAuMutilple(item.Prices.Coutant*113/100, 5)
item.Prices.StaffBar = arrondiAuMutilple(item.Prices.Coutant*108/100, 5)
item.Prices.Privilegies = arrondiAuMutilple(item.Prices.Coutant*11/10, 5)
item.Prices.Menu = arrondiAuMutilple(item.Prices.Coutant*13/10, 5)
} else if item.Prices.Coutant >= 130 && item.Prices.Coutant < 300 {
item.Prices.Externe = arrondiAuMutilple(item.Prices.Coutant*14/10, 5)
item.Prices.Ceten = arrondiAuMutilple(item.Prices.Coutant*11/10, 5)
item.Prices.StaffBar = arrondiAuMutilple(item.Prices.Coutant*108/100, 5)
item.Prices.Privilegies = arrondiAuMutilple(item.Prices.Coutant*11/10, 5)
item.Prices.Menu = arrondiAuMutilple(item.Prices.Coutant*12/10, 5)
} else if item.Prices.Coutant >= 300 {
item.Prices.Externe = arrondiAuMutilple(item.Prices.Coutant*125/100, 5)
item.Prices.Ceten = arrondiAuMutilple(item.Prices.Coutant*11/10, 5)
item.Prices.StaffBar = arrondiAuMutilple(item.Prices.Coutant*105/100, 5)
item.Prices.Privilegies = arrondiAuMutilple(item.Prices.Coutant*11/10, 5)
item.Prices.Menu = arrondiAuMutilple(item.Prices.Coutant*1125/1000, 5)
if category.SpecialPrice == false {
item.Prices.Coutant = uint64(math.Ceil(float64(restockItem.BundleCostTtc) / (float64(restockItem.AmountPerBundle))))
if item.Prices.Coutant < 30 {
item.Prices.Externe = arrondiAuMutilple(item.Prices.Coutant, 5) + 20
item.Prices.Ceten = arrondiAuMutilple(item.Prices.Coutant, 5) + 10
item.Prices.StaffBar = arrondiAuMutilple(item.Prices.Coutant, 5) + 5
item.Prices.Privilegies = arrondiAuMutilple(item.Prices.Coutant, 5) + 5
item.Prices.Menu = arrondiAuMutilple(item.Prices.Coutant, 5) + 10
} else if item.Prices.Coutant >= 30 && item.Prices.Coutant < 130 {
item.Prices.Externe = arrondiAuMutilple(item.Prices.Coutant*3/2, 5)
item.Prices.Ceten = arrondiAuMutilple(item.Prices.Coutant*113/100, 5)
item.Prices.StaffBar = arrondiAuMutilple(item.Prices.Coutant*108/100, 5)
item.Prices.Privilegies = arrondiAuMutilple(item.Prices.Coutant*11/10, 5)
item.Prices.Menu = arrondiAuMutilple(item.Prices.Coutant*13/10, 5)
} else if item.Prices.Coutant >= 130 && item.Prices.Coutant < 300 {
item.Prices.Externe = arrondiAuMutilple(item.Prices.Coutant*14/10, 5)
item.Prices.Ceten = arrondiAuMutilple(item.Prices.Coutant*11/10, 5)
item.Prices.StaffBar = arrondiAuMutilple(item.Prices.Coutant*108/100, 5)
item.Prices.Privilegies = arrondiAuMutilple(item.Prices.Coutant*11/10, 5)
item.Prices.Menu = arrondiAuMutilple(item.Prices.Coutant*12/10, 5)
} else if item.Prices.Coutant >= 300 {
item.Prices.Externe = arrondiAuMutilple(item.Prices.Coutant*125/100, 5)
item.Prices.Ceten = arrondiAuMutilple(item.Prices.Coutant*11/10, 5)
item.Prices.StaffBar = arrondiAuMutilple(item.Prices.Coutant*105/100, 5)
item.Prices.Privilegies = arrondiAuMutilple(item.Prices.Coutant*11/10, 5)
item.Prices.Menu = arrondiAuMutilple(item.Prices.Coutant*1125/1000, 5)
}
} else {
item.Prices.Coutant = uint64(math.Ceil(float64(restockItem.BundleCostTtc) / (float64(restockItem.AmountPerBundle))))
if item.Prices.Coutant < 30 {
item.Prices.Externe = arrondiAuMutilple(item.Prices.Coutant, 5) + 20
item.Prices.Ceten = arrondiAuMutilple(item.Prices.Coutant, 5) + 10
item.Prices.StaffBar = item.Prices.Ceten
item.Prices.Privilegies = item.Prices.Ceten
item.Prices.Menu = item.Prices.Ceten
} else if item.Prices.Coutant >= 30 && item.Prices.Coutant < 130 {
item.Prices.Externe = arrondiAuMutilple(item.Prices.Coutant*3/2, 5)
item.Prices.Ceten = arrondiAuMutilple(item.Prices.Coutant*113/100, 5)
item.Prices.StaffBar = item.Prices.Ceten
item.Prices.Privilegies = item.Prices.Ceten
item.Prices.Menu = item.Prices.Ceten
} else if item.Prices.Coutant >= 130 && item.Prices.Coutant < 300 {
item.Prices.Externe = arrondiAuMutilple(item.Prices.Coutant*14/10, 5)
item.Prices.Ceten = arrondiAuMutilple(item.Prices.Coutant*11/10, 5)
item.Prices.StaffBar = item.Prices.Ceten
item.Prices.Privilegies = item.Prices.Ceten
item.Prices.Menu = item.Prices.Ceten
} else if item.Prices.Coutant >= 300 {
item.Prices.Externe = arrondiAuMutilple(item.Prices.Coutant*125/100, 5)
item.Prices.Ceten = arrondiAuMutilple(item.Prices.Coutant*11/10, 5)
item.Prices.StaffBar = item.Prices.Ceten
item.Prices.Privilegies = item.Prices.Ceten
item.Prices.Menu = item.Prices.Ceten
}
item.Prices.Coutant = item.Prices.Ceten
}
err = s.DBackend.UpdateItem(c.Request().Context(), item)
if err != nil {
Expand Down
Loading

0 comments on commit 57b0e52

Please sign in to comment.