func (this *shoppingService) parseDtoCart(c shopping.ICart) *dto.ShoppingCart { var cart = new(dto.ShoppingCart) v := c.GetValue() cart.Id = c.GetDomainId() cart.BuyerId = v.BuyerId cart.CartKey = v.CartKey cart.UpdateTime = v.UpdateTime t, f := c.GetFee() cart.TotalFee = t cart.OrderFee = f cart.Summary = c.GetSummary() cart.IsBought = v.IsBought if v.Items != nil { if l := len(v.Items); l != 0 { cart.Items = make([]*dto.CartItem, l) for i, v := range v.Items { cart.Items[i] = &dto.CartItem{ GoodsId: v.GoodsId, GoodsName: v.Name, GoodsNo: v.GoodsNo, SmallTitle: v.SmallTitle, GoodsImage: v.Image, Num: v.Num, Price: v.Price, SalePrice: v.SalePrice, } } } } return cart }
// 合并购物车,并返回新的购物车 func (this *Cart) Combine(c shopping.ICart) (shopping.ICart, error) { if c.GetDomainId() != this.GetDomainId() { for _, v := range c.GetValue().Items { this.AddItem(v.GoodsId, v.Num) } } return this, nil }