From 63fa908d50efb485ddacbbe614fecc8e2dfd52f4 Mon Sep 17 00:00:00 2001 From: meskio <meskio@sindominio.net> Date: Mon, 22 Feb 2021 19:39:24 +0100 Subject: [PATCH] Fetch the right purchase ID --- api/db/order.go | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/api/db/order.go b/api/db/order.go index 4f37ef9..c6bbff3 100644 --- a/api/db/order.go +++ b/api/db/order.go @@ -114,11 +114,14 @@ func (d *DB) UpdateOrder(memberNum int, id int, order *Order) error { totalSum := 0 for i, t := range dbOrder.Transactions { var transaction Transaction - err = tx.Preload("OrderPurchase.OrderProduct").First(&transaction, id).Error + err = tx.Preload("OrderPurchase.OrderProduct").First(&transaction, t.ID).Error + if err != nil { + return err + } + total, err := calculateOrderPurchaseTotal(transaction.OrderPurchase, order.Products) if err != nil { return err } - total, _ := calculateOrderPurchaseTotal(transaction.OrderPurchase, order.Products) err = updateOrderPurchase(tx, t.MemberNum, &dbOrder.Transactions[i], total, t.OrderPurchase) if err != nil { return err @@ -309,7 +312,7 @@ func calculateOrderPurchaseTotal(purchase []OrderPurchase, products []OrderProdu } if !found { - log.Printf("Order purchase product %d not in order: %v", p.OrderProductID, purchase) + log.Printf("Order purchase product %d not in order: %v", p.OrderProductID, products) err = ErrorInvalidRequest } } -- GitLab