赠品-战术设计
2022-11-30 10:45:28 0 举报
赠品系统重构战术设计
作者其他创作
大纲/内容
发放虚拟奖励记录奖励发放明细
1.缓存处理【以rewardid为key】2.查询库存、资格
回收虚拟奖励更新核销流水更新奖励发放流水
1.缓存处理【以rewardid为key】
拆解订单取消商品
基础设施层
校验活动是否需要回收
发送订单消息
蓝虎修改赠品交易链路时序图
蓝虎
核销商品和活动
service
返回校验结果和优惠明细
根据商品查询活动
返回商品和命中的活动信息
校验奖励发放明细状态校验奖励明细能否回退成功(防止后续失败导致回滚)
返回待发放奖励列表
并行查询批量查询奖励id明细商品信息
回退优惠活动
返回活动明细
更新核销流水状态创建或者新增虚拟奖励发放明细记录【事务】
返回需要回收的奖励列表
发放虚拟奖励
领域服务
根据pid查询奖励标识(batchid)调用二方接口,发放奖励
核销
参数校验错误码处理
进行结算
保养活动分组商品
此处走聚合服务的原因:订单商品的商品发生变更,会影响到其他优惠活动的分摊或者回退等逻辑
核销商品和奖励
回退奖励
赠品
返回商品和赠品奖励
订单
返回结果,失败则回滚
返回凭证列表
异步消费
判断是否命中了老活动根据保养活动分组商品
创建凭证实体
业务校验:(商品列表和商品详情)未登录:用户相关属性(标签、人群、资格)跳过校验没有商品数目,(门槛、库存、资格只判断总数)不校验
返回核销的奖励奖励
售后
查询核销流水
根据商品查询赠品
返回核销记录列表
接口层
返回核销列表
返回商品命中的结果
虚拟奖励发放校验、幂等
返回校验结果
发放虚拟奖励记录发放流水
返回回退结果和明细
遍历活动和商品进行匹配
校验优惠门槛<=已核销数-当前回退数
校验奖励是否需要回收
1.更新核销流水状态2.更新奖励明细状态和奖励发放结果
创建订单
赠品交易链路时序图-活动
查询活动明细
返回发放结果
返回需要回退的活动
入库
返回活动和凭证列表
1.校验proof发放状态和核销状态2.生成发放奖励列表
筛选实物发货
消费订单消息
发放奖励
记录商品和赠品奖励id
写入数据库【事务】
返回商品、活动类型、活动id
返回命中结果
业务线
只校验老配置中的保养活动
勾选需要取消的商品
返回列表
赠品交易链路时序图-商品
查询商品关联赠品pid
返回核销的结果
根据活动id查询内容
应用层
记录商品、优惠类型、赠品活动id记录赠品pid、优惠类型、赠品奖励id->门槛、数目
结算
每次单独计算每次综合计算
返回奖励明细
返回业务信息和活动聚合根
初始化Activity聚合根
校验虚拟奖励发放记录
domain
integration
返回校验明细,包括能否回退、是否必须回收
查询订单明细
并行查询有效活动、商品信息
领域层
实物随单发货虚拟商品奖励发放不走履约业务诉求希望指定订单状态进行发放
返回订单号
记录商品 以及 赠品绑定关系记录赠品pid、优惠类型、赠品奖励id
变更商品
商品关联奖励id
查询商品关联赠品pid查询交易明细?
履约
返回商品和赠品pid
返回结果列表
回退依赖服务
拆单问题:如何处理????
批量根据查询选品和门店策略
查询奖励明细
扣减库存、资格
校验记录核销流水
初始化Proof实体
application
校验
返回结果
返回奖励明细【实物、券批次等】
回退活动
回退
校验订单状态过滤(新)赠品活动订单
营销统一api
返回活动内容
非创建订单则查核销流水
业务校验所有属性计算优惠门槛<=当前核销数+历史已核销数
并行查询批量查询奖励id明细查询核销流水【写库】查询奖励发放明细【写库】
遍历商品和奖励
1.缓存处理2.过滤牛皮癣、平台、保养活动 订单渠道、安装方式(减少后面的查询)3.查询库存、资格4.查询门店策略
监听订单状态
螺栓螺母、中心套环车型适配(商详页、购物车、提单页)
核销奖励核销和奖励发放明细
0 条评论
下一页