Documentation ¶
Overview ¶
*
- Copyright 2015 @ 56x.net.
- name : cash_back
- author : jarryliu
- date : -- :
- description :
- history :
*
- Copyright 2015 @ 56x.net.
- name : flag
- author : jarryliu
- date : -- :
- description :
- history :
*
- Copyright 2015 @ 56x.net.
- name : PromFlag
- author : jarryliu
- date : -- :
- description :
- history :
Index ¶
Constants ¶
View Source
const ( // 优惠券 TypeFlagCoupon = 1 << 0 // 返现 TypeFlagCashBack = 1 << 1 )
View Source
const ( // 应用订单 ApplyForOrder = 1 // 应用商品 ApplyForGoods = 2 )
View Source
const ( // 返现到账户余额 BackToBalance = 1 // 返现直接抵扣订单 BackUseForOrder = 2 )
View Source
const ( // 优惠券 Coupon = 1 << 0 // 团购 Group = 1 << 1 )
Variables ¶
View Source
var ( ErrCanNotApplied = domain.NewError( "name_exists", "无法应用此优惠") ErrExistsSamePromotionFlag = domain.NewError( "exists_same_promotion_flag", "已存在相同的促销") ErrNoSuchPromotion = domain.NewError( "no_such_promotion", "促销不存在") ErrNoDetailsPromotion = domain.NewError( "no_details_promotion", "促销信息不完整") )
Functions ¶
This section is empty.
Types ¶
type ICashBackPromotion ¶
type ICashBackPromotion interface { // 获取领域编号 GetDomainId() int32 // 设置详细的促销信息 SetDetailsValue(*ValueCashBack) error // 获取自定义数据 GetDataTag() map[string]string }
返现促销
type ICouponPromotion ¶
type ICouponPromotion interface { GetDomainId() int32 // 获取促销内容 GetDetailsValue() ValueCoupon // 设置促销内容 SetDetailsValue(*ValueCoupon) error // 获取绑定 GetBinds() []ValueCouponBind // 获取占用 GetTakes() []ValueCouponTake // 保存 Save() (id int32, err error) // 获取优惠券描述 GetDescribe() string // 获取优惠的金额 GetCouponFee(orderFee int) int // 是否可用,传递会员及订单金额 // error返回不适用的详细信息 CanUse(member.IMember, float32) (bool, error) // 是否允许占用 CanTake() bool // 获取占用 GetTake(memberId int64) (*ValueCouponTake, error) //占用 Take(memberId int64) error // 应用到订单 ApplyTake(couponTakeId int32) error // 绑定 Bind(memberId int64) error //获取绑定 GetBind(memberId int64) (*ValueCouponBind, error) //绑定 Binds(memberIds []string) error //使用优惠券 UseCoupon(couponBindId int32) error }
优惠券促销
type IPromotion ¶
type IPromotion interface { // 获取聚合根编号 GetAggregateRootId() int32 // 获取值 GetValue() *PromotionInfo // 获取相关的值 GetRelationValue() interface{} // 设置值 SetValue(*PromotionInfo) error // 应用类型 ApplyFor() int // 促销类型 Type() int // 获取类型名称 TypeName() string // 保存 Save() (int32, error) }
促销聚合根
type IPromotionRepo ¶
type IPromotionRepo interface { // 获取促销 GetPromotion(id int32) IPromotion // 获取促销 CreatePromotion(v *PromotionInfo) IPromotion // 获取促销 GetValuePromotion(id int32) *PromotionInfo // 保存促销 SaveValuePromotion(*PromotionInfo) (int32, error) // 删除促销 DeletePromotion(id int32) error // 保存返现促销 SaveValueCashBack(v *ValueCashBack, create bool) (int32, error) // 获取返现促销 GetValueCashBack(id int32) *ValueCashBack // 删除现金返现促销 DeleteValueCashBack(id int32) error // 获取商品的促销编号 GetGoodsPromotionId(goodsId int64, promFlag int) int // 获取商品可用的促销 GetPromotionOfGoods(goodsId int64) []*PromotionInfo // 获取商户订单可用的促销 GetPromotionOfMerchantOrder(mchId int64) []*PromotionInfo // 获取优惠券 GetValueCoupon(id int32) *ValueCoupon // 保存优惠券值 SaveValueCoupon(v *ValueCoupon, isCreate bool) (id int32, err error) // 删除优惠券 DeleteValueCoupon(id int32) error GetCouponTake(couponId, takeId int32) *ValueCouponTake SaveCouponTake(*ValueCouponTake) error GetCouponTakes(couponId int32) []ValueCouponTake GetCouponBind(couponId, bindId int32) *ValueCouponBind SaveCouponBind(*ValueCouponBind) error GetCouponBinds(couponId int32) []ValueCouponBind // 根据优惠券代码获取优惠券 GetValueCouponByCode(mchId int64, couponCode string) *ValueCoupon // 根据代码获取优惠券 GetCouponByCode(mchId int64, code string) IPromotion // 获取会员的优惠券绑定 GetCouponBindByMemberId(couponId int32, memberId int64) (*ValueCouponBind, error) // 获取会员的优惠券占用 GetCouponTakeByMemberId(couponId int32, memberId int64) (*ValueCouponTake, error) }
type PromotionInfo ¶
type PromotionInfo struct { // 促销编号 Id int32 `db:"id" pk:"yes" auto:"yes"` // 商户编号 MerchantId int32 `db:"mch_id"` // 促销简称 ShortName string `db:"short_name"` // 促销描述 Description string `db:"description"` // 类型位值 TypeFlag int `db:"type_flag"` // 商品编号(为0则应用订单) GoodsId int64 `db:"goods_id"` // 是否启用 Enabled int `db:"enabled"` // 修改时间 UpdateTime int64 `db:"update_time"` }
type ValueCashBack ¶
type ValueCoupon ¶
type ValueCoupon struct { // 优惠券编号 Id int32 `db:"id" pk:"yes"` //优惠码 Code string `db:"code"` // 优惠码可用数量 Amount int `db:"amount"` // 优惠码数量 TotalAmount int `db:"total_amount"` //优惠金额 Fee int `db:"fee"` //赠送积分 Integral int `db:"integral"` //订单折扣(不打折为100) Discount int `db:"discount"` //等级限制 MinLevel int `db:"min_level"` //订单金额限制 MinFee int `db:"min_fee"` BeginTime int64 `db:"begin_time"` OverTime int64 `db:"over_time"` //是否需要绑定。反之可以直接使用 NeedBind int `db:"need_bind"` CreateTime int64 `db:"create_time"` }
type ValueCouponBind ¶
type ValueCouponBind struct { Id int32 `db:"id" auto:"yes" pk:"yes"` //会员编号 MemberId int64 `db:"member_id"` //优惠券编号 CouponId int32 `db:"coupon_id"` //绑定时间 BindTime int64 `db:"bind_time"` //是否使用 IsUsed int `db:"is_used"` //使用时间 UseTime int64 `db:"use_time"` }
优惠券绑定
type ValueCouponTake ¶
type ValueCouponTake struct { Id int32 `db:"id" auto:"yes" pk:"yes"` //会员编号 MemberId int64 `db:"member_id"` //优惠券编号 CouponId int32 `db:"coupon_id"` //占用时间 TakeTime int64 `db:"take_time"` //释放时间,超过该时间,优惠券释放 ExtraTime int64 `db:"extra_time"` //是否应用到订单 IsApply int `db:"is_apply"` //更新时间 ApplyTime int64 `db:"apply_time"` }
Click to show internal directories.
Click to hide internal directories.