接入指南
-
同步仓库到本地
git clone https://github.com/caisl/activity-platform.git -
根据实际业务调整代码
-
DB设计
activity-platform对营销活动流程框架和规则引擎提供了详细的设计和分析,DB请根据实际的需求设计,这里就不提供详细的内容。 -
新活动接入
举例:接入新人有礼活动,实现FunctionCodeEnum.ACTIVITY_PARTICIPATE:- 创建请求响应对象NewCustomerPartRequest,NewCustomerPartResponse,定义属性
- 创建数据传输对象NewCustomerPartDTO,在实际实现过程中填充参数
- 创建业务处理类NewCustomerActivityParser,NewCustomerActivityHandler,填充路由注解,实现方法细节
-
新functionCode接入
举例:接入活动发布功能
1.FunctionCodeEnum定义新的CODE:FunctionCodeEnum.ACTIVITY_RELEASE
2.需求分析,功能抽象,由IActivityHandler派生新的子类,定义模板方法
3.具体活动接入同新活动接入流程,创建并且实现对应的子类
单测运行效果
-
活动执行模型单测
@link com.caisl.ap.activity.ActivityDispatcherTest.dispatcherTest
控制栏输出如下
2019-02-18 15:22:26,087 INFO BUSINESS [LogUtil.java:52] 执行com.caisl.ap.activity.request.NewCustomerPartRequest开始 context:{“activityType”:1,“functionCode”:“ACTIVITY_PARTICIPATE”,“request”:{“channelId”:“WECHAT”,“customerRegisterId”:“caisl”}}
2019-02-18 15:22:26,087 INFO BUSINESS [LogUtil.java:52] do queryDB
2019-02-18 15:22:26,088 INFO BUSINESS [LogUtil.java:52] do assembleDTO
2019-02-18 15:22:26,088 INFO BUSINESS [LogUtil.java:52] do buildRules
2019-02-18 15:22:26,088 INFO BUSINESS [LogUtil.java:52] do doAction
2019-02-18 15:22:26,089 INFO BUSINESS [LogUtil.java:52] do buildResponse
2019-02-18 15:22:26,093 INFO BUSINESS [LogUtil.java:52] 执行com.caisl.ap.activity.request.NewCustomerPartRequest结束 time:123context:{“activityDTO”:{“rules”:[]},“activityType”:1,“functionCode”:“ACTIVITY_PARTICIPATE”,“request”:{“channelId”:“WECHAT”,“customerRegisterId”:“caisl”}}response:{} -
规则引擎单测
@link com.caisl.ap.rule.ActivityRuleEngineTest.singleRuleTest
控制栏输出如下
class com.caisl.ap.rule.checker.StartTimeRuleChecker do validate
还未到开始时间
来源:CSDN
作者:半点小鱼
链接:https://blog.csdn.net/dtlscsl/article/details/87885094