本文整理汇总了Golang中go2o/src/core/domain/interface/shopping.ICart.GetCartGoods方法的典型用法代码示例。如果您正苦于以下问题:Golang ICart.GetCartGoods方法的具体用法?Golang ICart.GetCartGoods怎么用?Golang ICart.GetCartGoods使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类go2o/src/core/domain/interface/shopping.ICart
的用法示例。
在下文中一共展示了ICart.GetCartGoods方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: applyCartPromotionObSubmit
// 应用购物车内商品的促销
func (this *Order) applyCartPromotionObSubmit(vo *shopping.ValueOrder, cart shopping.ICart) ([]promotion.IPromotion, int) {
var proms []promotion.IPromotion = make([]promotion.IPromotion, 0)
var prom promotion.IPromotion
var saveFee int
var totalSaveFee int
var intOrderFee = int(vo.Fee)
var rightBack bool
for _, v := range cart.GetCartGoods() {
prom = nil
saveFee = 0
rightBack = false
// 判断商品的最省促销
for _, v1 := range v.GetPromotions() {
// 返现
if v1.Type() == promotion.TypeFlagCashBack {
vc := v1.GetRelationValue().(*promotion.ValueCashBack)
if vc.MinFee < intOrderFee {
if vc.BackFee > saveFee {
prom = v1
saveFee = vc.BackFee
rightBack = vc.BackType == promotion.BackUseForOrder // 是否立即抵扣
}
}
}
//todo: 其他促销
}
if prom != nil {
proms = append(proms, prom)
if rightBack {
totalSaveFee += saveFee
}
}
}
return proms, totalSaveFee
}