Documentation
¶
Overview ¶
*
- Copyright 2014 @ z3q.net.
- name :
- author : jarryliu
- date : 2014-02-04 20:39
- description :
- history :
*
- Copyright 2015 @ z3q.net.
- name : sale_goods.go
- author : jarryliu
- date : -- :
- description :
- history :
*
- Copyright 2015 @ z3q.net.
- name : goods_rep
- author : jarryliu
- date : -- :
- description :
- history :
*
- Copyright 2013 @ z3q.net.
- name :
- author : jarryliu
- date : 2013-02-04 20:13
- description :
- history :
*
- Copyright 2015 @ z3q.net.
- name : member_price
- author : jarryliu
- date : -- :
- description :
- history :
*
- Copyright 2015 @ z3q.net.
- name : PromFlag
- author : jarryliu
- date : -- :
- description :
- history :
*
- Copyright 2015 @ z3q.net.
- name : sale_tag
- author : jarryliu
- date : -- :
- description :
- history :
*
- Copyright 2015 @ z3q.net.
- name : sale_tag_rep
- author : jarryliu
- date : -- :
- description :
- history :
*
- Copyright 2015 @ z3q.net.
- name : simple_goods.go
- author : jarryliu
- date : 2015-08-18 09:24
- description :
- history :
*
- Copyright 2015 @ z3q.net.
- name : value_sale_goods
- author : jarryliu
- date : -- :
- description :
- history :
*
- Copyright 2015 @ z3q.net.
- name : parse.go
- author : jarryliu
- date : -- :
- description :
- history :
*
- Copyright 2015 @ z3q.net.
- name : value_sale_tag
- author : jarryliu
- date : -- :
- description :
- history :
Index ¶
Constants ¶
View Source
const ( // 优惠券 Coupon = 1 << 0 // 团购 Group = 1 << 1 )
Variables ¶
View Source
var ( ErrNoSuchGoods *domain.DomainError = domain.NewDomainError( "no_such_goods", "商品不存在") ErrLatestSnapshot *domain.DomainError = domain.NewDomainError( "latest_snapshot", "已经是最新的快照") ErrNoSuchSnapshot *domain.DomainError = domain.NewDomainError( "no_such_snapshot", "商品快照不存在") ErrNotOnShelves *domain.DomainError = domain.NewDomainError( "not_on_shelves", "商品未上架") ErrGoodsNum *domain.DomainError = domain.NewDomainError( "err_goods_num", "商品数量错误") ErrOutOfSalePrice *domain.DomainError = domain.NewDomainError( "out_of_sale_price", "超出商品售价") ErrOutOfStock *domain.DomainError = domain.NewDomainError( "err_out_of_stock", "库存不足") ErrFullOfStock *domain.DomainError = domain.NewDomainError( "err_full_of_stock", "商品已经售完") ErrInternalDisallow *domain.DomainError = domain.NewDomainError( "err_sale_tag_internal_disallow", "不允许删除内置销售标签!") ErrCanNotDeleteItem *domain.DomainError = domain.NewDomainError( "err_goods_can_not_delete_item", "已售出货品只允许下架。") )
Functions ¶
This section is empty.
Types ¶
type GoodsSnapshot ¶
type GoodsSnapshot struct { Id int `db:"id" auto:"yes" pk:"yes"` Key string `db:"snapshot_key"` ItemId int `db:"item_id"` GoodsId int `db:"goods_id"` GoodsName string `db:"goods_name"` GoodsNo string `db:"goods_no"` SmallTitle string `db:"small_title"` CategoryName string `db:"category_name"` Image string `db:"img"` //成本价 Cost float32 `db:"cost"` //定价 Price float32 `db:"price"` //销售价 SalePrice float32 `db:"sale_price"` CreateTime int64 `db:"create_time"` }
商品快照
type ICategory ¶
type ICategory interface { GetDomainId() int GetValue() ValueCategory SetValue(*ValueCategory) error Save() (int, error) // 获取子栏目的编号 GetChildId() []int }
type IGoods ¶
type IGoods interface { // 获取领域对象编号 GetDomainId() int // 获取货品 GetItem() IItem // 设置值 GetValue() *ValueGoods // 获取包装过的商品信息 GetPackedValue() *valueobject.Goods // 获取促销信息 GetPromotions() []promotion.IPromotion // 获取促销价 GetPromotionPrice(level int) float32 // 获取会员价销价,返回是否有会原价及价格 GetLevelPrice(level int) (bool, float32) // 获取促销描述 GetPromotionDescribe() map[string]string // 获取会员价 GetLevelPrices() []*MemberPrice // 保存会员价 SaveLevelPrice(*MemberPrice) (int, error) // 设置值 SetValue(*ValueGoods) error // 保存 Save() (int, error) // 更新销售数量,扣减库存 AddSaleNum(quantity int) error // 取消销售 CancelSale(quantity int, orderNo string) error // 生成快照 GenerateSnapshot() (int, error) // 获取最新的快照 GetLatestSnapshot() *GoodsSnapshot }
商品
type IGoodsRep ¶
type IGoodsRep interface { // 获取商品 GetValueGoods(itemId int, sku int) *ValueGoods // 获取商品 GetValueGoodsById(goodsId int) *ValueGoods // 根据SKU获取商品 GetValueGoodsBySku(itemId, sku int) *ValueGoods // 保存商品 SaveValueGoods(*ValueGoods) (int, error) // 获取在货架上的商品 GetPagedOnShelvesGoods(partnerId int, catIds []int, start, end int, where, orderBy string) (total int, goods []*valueobject.Goods) // 根据编号获取商品 GetGoodsByIds(ids ...int) ([]*valueobject.Goods, error) // 获取会员价 GetGoodsLevelPrice(goodsId int) []*MemberPrice // 保存会员价 SaveGoodsLevelPrice(*MemberPrice) (int, error) // 移除会员价 RemoveGoodsLevelPrice(id int) error }
商品仓储
type IItem ¶
type IItem interface { GetDomainId() int // 获取商品的值 GetValue() ValueItem // 是否上架 IsOnShelves() bool // 获取销售标签 GetSaleTags() []*ValueSaleTag // 保存销售标签 SaveSaleTags([]int) error // 设置商品值 SetValue(*ValueItem) error // 保存 Save() (int, error) }
商品
type ISale ¶
type ISale interface { GetAggregateRootId() int // 创建产品 CreateItem(*ValueItem) IItem // 根据产品编号获取货品 GetItem(int) IItem // 删除货品 DeleteItem(int) error // 创建商品 CreateGoods(IItem, *ValueGoods) IGoods // 根据产品编号获取商品 GetGoods(int) IGoods // 根据产品SKU获取商品 GetGoodsBySku(itemId, sku int) IGoods // 创建分类 CreateCategory(*ValueCategory) ICategory // 获取分类 GetCategory(int) ICategory // 获取所有分类 GetCategories() []ICategory // 删除分类 DeleteCategory(int) error // 获取所有的销售标签 GetAllSaleTags() []ISaleTag // 初始化销售标签 InitSaleTags() error // 获取销售标签 GetSaleTag(id int) ISaleTag // 根据Code获取销售标签 GetSaleTagByCode(code string) ISaleTag // 创建销售标签 CreateSaleTag(v *ValueSaleTag) ISaleTag // 删除销售标签 DeleteSaleTag(id int) error // 删除商品 DeleteGoods(int) error // 获取指定的商品快照 GetGoodsSnapshot(id int) *GoodsSnapshot // 根据Key获取商品快照 GetGoodsSnapshotByKey(key string) *GoodsSnapshot }
type ISaleRep ¶
type ISaleRep interface { GetSale(partnerId int) ISale // 获取货品 GetValueItem(partnerId, itemId int) *ValueItem // 根据id获取货品 GetItemByIds(ids ...int) ([]*ValueItem, error) SaveValueItem(*ValueItem) (int, error) // 获取在货架上的商品 GetPagedOnShelvesItem(partnerId int, catIds []int, start, end int) (total int, goods []*ValueItem) // 获取货品销售总数 GetItemSaleNum(partnerId int, id int) int // 删除货品 DeleteItem(partnerId, goodsId int) error // 保存分类 SaveCategory(*ValueCategory) (int, error) DeleteCategory(partnerId, id int) error GetCategory(partnerId, id int) *ValueCategory GetCategories(partnerId int) []*ValueCategory // 获取与栏目相关的栏目 GetRelationCategories(partnerId, categoryId int) []*ValueCategory // 获取子栏目 GetChildCategories(partnerId, categoryId int) []*ValueCategory // 保存快照 SaveSnapshot(*GoodsSnapshot) (int, error) // 获取最新的商品快照 GetLatestGoodsSnapshot(goodsId int) *GoodsSnapshot // 获取指定的商品快照 GetGoodsSnapshot(id int) *GoodsSnapshot // 根据Key获取商品快照 GetGoodsSnapshotByKey(key string) *GoodsSnapshot }
销售仓库
type ISaleTag ¶
type ISaleTag interface { GetDomainId() int // 获取值 GetValue() *ValueSaleTag // 设置值 SetValue(v *ValueSaleTag) error // 保存 Save() (int, error) // 是否为系统内置 System() bool // 获取标签下的商品 GetValueGoods(begin, end int) []*valueobject.Goods // 获取标签下的分页商品 GetPagedValueGoods(begin, end int) (total int, goods []*valueobject.Goods) }
type ISaleTagRep ¶
type ISaleTagRep interface { // 创建销售标签 CreateSaleTag(v *ValueSaleTag) ISaleTag // 获取所有的销售标签 GetAllValueSaleTags(partnerId int) []*ValueSaleTag // 获取销售标签值 GetValueSaleTag(partnerId int, tagId int) *ValueSaleTag // 根据Code获取销售标签 GetSaleTagByCode(partnerId int, code string) *ValueSaleTag // 删除销售标签 DeleteSaleTag(partnerId int, id int) error // 获取销售标签 GetSaleTag(partnerId int, tagId int) ISaleTag // 保存销售标签 SaveSaleTag(partnerId int, v *ValueSaleTag) (int, error) // 获取商品 GetValueGoodsBySaleTag(partnerId, tagId, begin, end int) []*valueobject.Goods // 获取分页商品 GetPagedValueGoodsBySaleTag(partnerId, tagId, begin, end int) (int, []*valueobject.Goods) // 获取商品的销售标签 GetItemSaleTags(itemId int) []*ValueSaleTag // 清理商品的销售标签 CleanItemSaleTags(itemId int) error // 保存商品的销售标签 SaveItemSaleTags(itemId int, tagIds []int) error }
type MemberPrice ¶
type MemberPrice struct { Id int `db:"id" pk:"yes" auto:"yes"` GoodsId int `db:"goods_id"` Level int `db:"level"` Price float32 `db:"price"` Enabled int `db:"enabled"` }
会员价
type SimpleGoods ¶
type SimpleGoods struct { GoodsId int `json:"id"` GoodsImage string `json:"img"` Name string `json:"name"` Quantity string `json:"qty"` }
简单商品信息
type ValueCategory ¶
type ValueCategory struct { Id int `db:"id" auto:"yes" pk:"yes"` //父分类 ParentId int `db:"parent_id"` //供应商编号 PartnerId int `db:"partner_id"` //名称 Name string `db:"name"` OrderIndex int `db:"order_index"` Url string `db:"url"` CreateTime int64 `db:"create_time"` Enabled int `db:"enabled` Description string `db:"description"` }
分类
type ValueGoods ¶
type ValueGoods struct { Id int `db:"id" pk:"yes" auto:"yes"` // 货品编号 ItemId int `db:"item_id"` // 是否为赠品 IsPresent int `db:"is_present"` // 规格 SkuId int `db:"sku_id"` // 促销标志 PromotionFlag int `db:"prom_flag"` // 库存 StockNum int `db:"stock_num"` // 已售件数 SaleNum int `db:"sale_num"` // 销售价 SalePrice float32 `db:"-"` // 促销价 PromPrice float32 `db:"-"` // 实际价 Price float32 `db:"-"` }
type ValueItem ¶
type ValueItem struct { Id int `db:"id" auto:"yes" pk:"yes"` CategoryId int `db:"category_id"` Name string `db:"name"` // 货号 GoodsNo string `db:"goods_no"` SmallTitle string `db:"small_title"` Image string `db:"img"` //成本价 Cost float32 `db:"cost"` //定价 Price float32 `db:"price"` //销售价 SalePrice float32 `db:"sale_price"` ApplySubs string `db:"apply_subs"` //简单备注,如:(限时促销) Note string `db:"note"` Description string `db:"description"` // 是否上架,1为上架 OnShelves int `db:"on_shelves"` State int `db:"state"` CreateTime int64 `db:"create_time"` UpdateTime int64 `db:"update_time"` }
商品值
func ParseToPartialValueItem ¶
func ParseToPartialValueItem(v *valueobject.Goods) *ValueItem
转换包含部分数据的产品值对象
type ValueSaleTag ¶
type ValueSaleTag struct { Id int `db:"id" auto:"yes" pk:"yes"` // 商户编号 PartnerId int `db:"partner_id"` // 标签代码 TagCode string `db:"tag_code"` // 标签名 TagName string `db:"tag_name"` // 商品的遮盖图 GoodsImage string `db:"goods_image"` // 是否内部 IsInternal int `db:"is_internal"` // 是否启用 Enabled int `db:"enabled"` }
销售标签
Click to show internal directories.
Click to hide internal directories.