better change qty
This commit is contained in:
@@ -289,7 +289,7 @@ func (c *CartGrain) HandleMessage(message *Message, isReplay bool) (*FrameWithPa
|
|||||||
case ChangeQuantityType:
|
case ChangeQuantityType:
|
||||||
msg, ok := message.Content.(*messages.ChangeQuantity)
|
msg, ok := message.Content.(*messages.ChangeQuantity)
|
||||||
if !ok {
|
if !ok {
|
||||||
err = fmt.Errorf("expected RemoveItem")
|
err = fmt.Errorf("expected ChangeQuantity")
|
||||||
} else {
|
} else {
|
||||||
for i, item := range c.Items {
|
for i, item := range c.Items {
|
||||||
if item.Id == int(msg.Id) {
|
if item.Id == int(msg.Id) {
|
||||||
@@ -297,8 +297,9 @@ func (c *CartGrain) HandleMessage(message *Message, isReplay bool) (*FrameWithPa
|
|||||||
c.TotalPrice -= item.Price * int64(msg.Quantity)
|
c.TotalPrice -= item.Price * int64(msg.Quantity)
|
||||||
c.Items = append(c.Items[:i], c.Items[i+1:]...)
|
c.Items = append(c.Items[:i], c.Items[i+1:]...)
|
||||||
} else {
|
} else {
|
||||||
item.Quantity -= int(msg.Quantity)
|
diff := int(msg.Quantity) - item.Quantity
|
||||||
c.TotalPrice -= item.Price * int64(msg.Quantity)
|
item.Quantity = int(msg.Quantity)
|
||||||
|
c.TotalPrice += item.Price * int64(diff)
|
||||||
}
|
}
|
||||||
|
|
||||||
break
|
break
|
||||||
|
|||||||
Reference in New Issue
Block a user