本文整理汇总了Golang中go2o/src/core/domain/interface/shopping.ICart.SetBuyer方法的典型用法代码示例。如果您正苦于以下问题:Golang ICart.SetBuyer方法的具体用法?Golang ICart.SetBuyer怎么用?Golang ICart.SetBuyer使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类go2o/src/core/domain/interface/shopping.ICart
的用法示例。
在下文中一共展示了ICart.SetBuyer方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: getShoppingCart
// 获取购物车
func (this *shoppingService) getShoppingCart(partnerId int, memberId int, cartKey string) shopping.ICart {
sp := this._rep.GetShopping(partnerId)
var c shopping.ICart
var mc shopping.ICart
var skIsNil = len(cartKey) == 0
var mmNotNil = memberId != 0
if mmNotNil {
mc, _ = sp.GetNotBoughtCart(memberId)
if mc != nil && (skIsNil || mc.GetValue().CartKey == cartKey) {
return mc
}
}
if !skIsNil {
// 根据Key获取购物车
c, _ = sp.GetCart(cartKey)
if c == nil {
// 新的购物车不存在,直接返回会员的购物车
if mc != nil {
return mc
}
} else {
cv := c.GetValue()
//合并购物车
if cv.BuyerId <= 0 {
// 设置购买者
if mmNotNil {
c.SetBuyer(memberId)
}
} else if mc != nil {
// 合并购物车
nc, err := mc.Combine(c)
if err == nil {
nc.Save()
return nc
}
return mc
}
// 如果没有购买,则返回
if cv.IsBought == 0 {
return c
}
}
}
// 返回一个新的购物车
return sp.NewCart(memberId)
}