本文整理汇总了Golang中go2o/src/core/domain/interface/shopping.ICart.Save方法的典型用法代码示例。如果您正苦于以下问题:Golang ICart.Save方法的具体用法?Golang ICart.Save怎么用?Golang ICart.Save使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类go2o/src/core/domain/interface/shopping.ICart
的用法示例。
在下文中一共展示了ICart.Save方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: GetShoppingCart
func (this *Shopping) GetShoppingCart(buyerId int, cartKey string) shopping.ICart {
var hasOutCart = len(cartKey) != 0
var hasBuyer = buyerId != 0
var memCart shopping.ICart = nil // 消费者的购物车
var outCart shopping.ICart = nil // 通过cartKey传入的购物车
if hasBuyer {
// 如果没有传递cartKey ,或者传递的cart和会员绑定的购物车相同,直接返回
if memCart, _ = this.GetCurrentCart(buyerId); memCart != nil {
if !hasOutCart || memCart.GetValue().CartKey == cartKey {
return memCart
}
} else {
memCart = this.NewCart(buyerId)
}
}
if hasOutCart {
outCart, _ = this.GetCartByKey(cartKey)
}
// 合并购物车
if outCart != nil && hasBuyer {
if bid := outCart.GetValue().BuyerId; bid <= 0 || bid == buyerId {
memCart, _ = memCart.Combine(outCart)
outCart.Destroy()
memCart.Save()
}
}
if memCart != nil {
return memCart
}
if outCart != nil {
return outCart
}
return this.NewCart(buyerId)
// if !hasOutCart {
// if c == nil {
// // 新的购物车不存在,直接返回会员的购物车
// if mc != nil {
// return mc
// }
// } else {
// cv := c.GetValue()
// //合并购物车
// if cv.BuyerId <= 0 {
// // 设置购买者
// if hasBuyer {
// c.SetBuyer(buyerId)
// }
// } else if mc != nil && cv.BuyerId == buyerId {
// // 合并购物车
// nc, err := mc.Combine(c)
// if err == nil {
// nc.Save()
// return nc
// }
// return mc
// }
//
// // 如果没有购买,则返回
// return c
// }
// }
// 返回一个新的购物车
// return this.NewCart(buyerId)
}
示例2: NewCart
//创建购物车
// @buyerId 为购买会员ID,0表示匿名购物车
func (this *Shopping) NewCart(buyerId int) shopping.ICart {
var cart shopping.ICart = newCart(this._partnerRep, this._memberRep, this._saleRep,
this._goodsRep, this._rep, this._partnerId, buyerId)
cart.Save()
return cart
}