本文整理汇总了Golang中go2o/src/core/domain/interface/sale.IGoods.GetPromotionPrice方法的典型用法代码示例。如果您正苦于以下问题:Golang IGoods.GetPromotionPrice方法的具体用法?Golang IGoods.GetPromotionPrice怎么用?Golang IGoods.GetPromotionPrice使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类go2o/src/core/domain/interface/sale.IGoods
的用法示例。
在下文中一共展示了IGoods.GetPromotionPrice方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: setAttachGoodsInfo
// 设置附加的商品信息
func (this *Cart) setAttachGoodsInfo(items []*shopping.ValueCartItem) {
if items != nil {
l := len(items)
if l == 0 {
return
}
var ids []int = make([]int, l)
for i, v := range items {
ids[i] = v.GoodsId
}
// 设置附加的值
goods, err := this._goodsRep.GetGoodsByIds(ids...)
if err == nil {
var goodsMap = make(map[int]*valueobject.Goods, len(goods))
for _, v := range goods {
goodsMap[v.GoodsId] = v
}
var level int
var goods sale.IGoods
var sl sale.ISale
// 更新登陆后的优惠价
if this._value.BuyerId > 0 {
sl = this._saleRep.GetSale(this._partnerId)
m, _ := this._memberRep.GetMember(this._value.BuyerId)
if m != nil {
level = m.GetValue().Level
}
}
for _, v := range items {
gv, ok := goodsMap[v.GoodsId]
if level > 0 {
goods = sl.CreateGoods(
sl.CreateItem(sale.ParseToPartialValueItem(gv)),
sale.ParseToValueGoods(gv),
)
if p := goods.GetPromotionPrice(level); p < gv.SalePrice {
gv.SalePrice = p
}
}
if ok {
v.Name = gv.Name
v.Price = gv.Price
v.GoodsNo = gv.GoodsNo
v.Image = gv.Image
v.SalePrice = gv.SalePrice
}
}
}
}
}