当前位置: 首页>>代码示例>>Golang>>正文


Golang ISale.CreateGoods方法代码示例

本文整理汇总了Golang中go2o/src/core/domain/interface/sale.ISale.CreateGoods方法的典型用法代码示例。如果您正苦于以下问题:Golang ISale.CreateGoods方法的具体用法?Golang ISale.CreateGoods怎么用?Golang ISale.CreateGoods使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在go2o/src/core/domain/interface/sale.ISale的用法示例。


在下文中一共展示了ISale.CreateGoods方法的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
				}
			}
		}
	}
}
开发者ID:sunxboy,项目名称:go2o,代码行数:55,代码来源:cart.go


注:本文中的go2o/src/core/domain/interface/sale.ISale.CreateGoods方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。