diff --git a/cart-grain.go b/cart-grain.go index 27b2390..3079d48 100644 --- a/cart-grain.go +++ b/cart-grain.go @@ -294,11 +294,12 @@ func (c *CartGrain) HandleMessage(message *Message, isReplay bool) (*FrameWithPa for i, item := range c.Items { if item.Id == int(msg.Id) { if item.Quantity <= int(msg.Quantity) { + c.TotalPrice -= item.Price * int64(msg.Quantity) c.Items = append(c.Items[:i], c.Items[i+1:]...) } else { item.Quantity -= int(msg.Quantity) + c.TotalPrice -= item.Price * int64(msg.Quantity) } - c.TotalPrice -= item.Price * int64(msg.Quantity) break }