// 设置附加的商品信息 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 } } } } }