发券活动创建流程
2018-05-21 13:47:29 3 举报
软件程序业务流程图
作者其他创作
大纲/内容
/api/v1/campaign/active/createActive
返回非10000的code
活动类型判断ActiveTypeEnum
落库active_rule活动规则表
发券活动创建流程图
组装奖励规则相关数据
需要获取券表的序列
落库coupon_type_item优惠券关联菜品表
落库active活动方案表
其他为线下活动:PER_FULL_SEND(满额赠)FULL_CUT(满减)ADD_PRICE_BUY(加价购)GENERAL_RATE(全场折扣)DISH_RATE(菜品折扣)
组装活动相关表数据
二阶段:待异步线程回调函数回来执行下面的业务处理并返回
返回code为10000
更新active_rule_coupon表下的relate_active_id字段
策略模式
ActiveSupport 活动支持类:封装所有注入的接口及公共的删除活动和券方法
落库coupon_type_store券可用门店表
out_id为阿里活动id(ali_active_id)
落库coupon_type券基础表
feigin接口
relate_active_id为CRM库活动表id
调用奖励规则接口AwardRuleService.saveOrUpdateRule()
落库active_rule_coupon活动规则关联券表
落库active_merchant活动参与门店表
组装口碑券相关数据
进行请求报文实体转换ActiveModelMapper.dtoToActive()
如果活动周期(periodValues)和活动时段(times)不为空
回滚所有券相关的表
口碑券
落库active_time活动可用时间表
活动基本信息活动日期和时间活动门店活动渠道活动规则券基本信息
捕获所有异常:如果队列中有活动ID需要下架线上的活动开启并行流去处理停止线上活动IOpenActiveService.stop()
CouponActiveForKoubei
com.yazuo.kbpos.campaign.api.impl/ActiveApiImpl
有任何异常数据回滚
kbpos-campagin-clint工程
线上发券活动:NEW_MEMBER_GIFT(新人礼)FULL_BACK(满返)
kbpos-campagin工程
有任何异常回滚所有数据
AbstractCouponActiveService抽象发券活动
回滚所有活动和规则相关的表
落库active_item活动关联菜品表表
应用层
如果是满返需要落库活动菜品表
组装券相关表数据
落库active_channel活动渠道表
落库active_item活动关联菜品表
CouponActiveForYazuo
更新coupon_type表下的out_id字段
正常返回活动创建成功
落库active_price_scheme活动关联菜品价格方案表
雅座券
落库coupon_type_use_time券使用时间限制表
加价购需要保存参加菜品,菜品和规则关联关系为item_id以及active_id;rule的item_id和skucode需要赋值用逗号隔开
一阶段:IOpenActiveService.create()异步调用口碑接口创建活动
kbpos-campagin-api工程
CompletableFuture起个线程池
参数校验ValidatorFactory.createValidator()
/kbpos-campaign-api/campaign/active/createActive
规则基本信息
组装口碑活动相关数据
如果是新人礼只存一条活动规则就可以此时活动规则和券是一对多关系
落库coupon_type_forbidden_time优惠券禁用时间段表
线下活动逻辑
服务层
0 条评论
回复 删除
下一页