优惠券领域设计
2019-07-10 18:48:10 0 举报
优惠券领域设计
作者其他创作
大纲/内容
福利券WelfareFeature
+ isMatch()boolean+ handleCreate()+ handleUpdate()+ handleDelete()+ handleSend()+ handleInvalide()+ handleUse()+ handleReturn()
实现
SKU黑名单Filter
SKU白名单Filter
券类型OrderRule
IBatchHandler
+ handleCreate()+ handleUpdate()+ handleDelete()
时间OrderRule
加工Template
继承
LimitManagerFactory
+ getLimitManager()
门店OrderRule
依赖
BatchService
+ create():batchId+ update()+ delete()+ effectBatch() 生效批次+ invalidateBatch() 作废批次+ getBatchById()+ findBatchsByIds()+ searchBatchs()+ findLimitInfo()+ updateLimitInfo()
生效BatchStatus
渠道LimitManager
CouponProduceService
+ sendCoupon(batch) 发券 - checkBatch() 校验批次信息 - template.checkSend() 校验券模版 - feature.checkSend() 校验标 - produce() 构建券信息 - insert() 入库+ invalidateCoupon(coupon)作废券 - template.checkInvalid() 校验券模版 - feature.checkInvalid() 校验标 - updateStatus() 更新状态
CouponSelector 选中
List 规则链;
+ selectCoupons(UsableCoupons)
类目LimitManager
新建BatchStatus
锁定BatchStatus
Comparator
BatchFeatureHandler
List featureChain
+ handleCreate()+ handleUpdate()+ handleDelete()+ handleSend()+ handleInvalide()+ handleUse()+ handleReturn()
渠道OrderRule
SKULimitManager
满减Template
门店Filter
类目Filter
运费Template
IBatchStatus
+ check()
BatchStatusUpdater
+ updateStatus() - check() - dao.update()
AbstractCouponTemplate
门店LimitService
IBatchFeature
+ isMatch()boolean
折扣Template
ICouponFilter
CouponTradeService
+ use(coupon) 用券 - template.checkUse() - feature.checkUse() - updateStatus()+ return() 退券 - template.checkReturn() - feature.checkReturn() - updateStatus()
CouponExtReadService
+ findUnusableCoupons() 查不可用+ findBestCoupons() 查最优可用+ findSkusByCouponId() 反查SKU
CouponReadService
+ findUsableSelectedCoupons() 查可用+ getCouponById()+ findCouponsByIds()+ searchCoupons()+ findUserCoupons()+ calcUsableCouponBySelected() 计算可选
CouponOrder 规则排序
渠道Filter
代金Template
CouponStatusUpdater
+ updateStatus(coupon,status)
金额OrderRule
作废BatchStatus
+ cleanAdd()+ count()+ findPage()
Abstract满减Template
ICouponOrderRule
扩展组合服务 CouponExtService
+ sendCouponByActivity() 根据外部活动发券+ sendCouponWithBatch() 直接发券
金额Filter
ICouponHandler
+ handleSend()+ handleInvalide()+ handleUse()+ handleReturn()
CouponTemplateFactory
+ getCouponTemplate()
商品OrderRule
ICouponTypeEnum 券类型枚举
+ int code+ String name+ int[] coexistCodes 共存类型+ int orderPriority 排序优先级+ AbstractCouponTemplate template 特有逻辑实现
CouponFilter 命中过滤
+ List 券过滤链;+ List SKU过滤链;+ List 组合过滤链;
+ findUsableCoupons(UsableReq) - findUserCoupons(userPin); // 过滤前,默认所有的SKU在每张券都可用 - initCoupon(List) - stream().filter(ICouponFilter)
0 条评论
下一页