本文整理汇总了Golang中go2o/src/core/domain/interface/sale.IItem类的典型用法代码示例。如果您正苦于以下问题:Golang IItem类的具体用法?Golang IItem怎么用?Golang IItem使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了IItem类的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: saveOrderOnSubmit
// 保存订单
func (this *Order) saveOrderOnSubmit() (int, error) {
cartItems := this._cart.GetValue().Items
if this._value.Items == nil {
this._value.Items = make([]*shopping.OrderItem, len(cartItems))
}
var sl sale.ISale = this._saleRep.GetSale(this._value.PartnerId)
var item sale.IItem
var snap *sale.GoodsSnapshot
for i, v := range cartItems {
snap = sl.GetGoodsSnapshot(cartItems[i].SnapshotId)
if snap == nil {
return 0, errors.New("商品缺少快照:" + item.GetValue().Name)
}
this._value.Items[i] = &shopping.OrderItem{
Id: 0,
SnapshotId: snap.Id,
Quantity: v.Num,
Sku: "",
Fee: v.SalePrice * float32(v.Num),
}
}
return this._shoppingRep.SaveOrder(this._shopping.GetAggregateRootId(), this._value)
}
示例2: SaveItem
// 保存产品
func (this *saleService) SaveItem(partnerId int, v *sale.ValueItem) (int, error) {
sl := this._rep.GetSale(partnerId)
var pro sale.IItem
if v.Id > 0 {
pro = sl.GetItem(v.Id)
if pro == nil {
return 0, errors.New("产品不存在")
}
if err := pro.SetValue(v); err != nil {
return 0, err
}
} else {
pro = sl.CreateItem(v)
}
return pro.Save()
}