Skip to content

Latest commit

 

History

History
38 lines (32 loc) · 2.62 KB

File metadata and controls

38 lines (32 loc) · 2.62 KB

接入指南

  1. 同步仓库到本地
    git clone https://github.com/caisl/activity-platform.git

  2. 根据实际业务调整代码

  • DB设计 activity-platform对营销活动流程框架和规则引擎提供了详细的设计和分析,DB请根据实际的需求设计,这里就不提供详细的内容。

  • 新活动接入
    举例:接入新人有礼活动,实现FunctionCodeEnum.ACTIVITY_PARTICIPATE:

    1. 创建请求响应对象NewCustomerPartRequest,NewCustomerPartResponse,定义属性
    2. 创建数据传输对象NewCustomerPartDTO,在实际实现过程中填充参数
    3. 创建业务处理类NewCustomerActivityParser,NewCustomerActivityHandler,填充路由注解,实现方法细节
  • 新functionCode接入
    举例:接入活动发布功能 1.FunctionCodeEnum定义新的CODE:FunctionCodeEnum.ACTIVITY_RELEASE 2.需求分析,功能抽象,由IActivityHandler派生新的子类,定义模板方法 3.具体活动接入同新活动接入流程,创建并且实现对应的子类

单测运行效果

  1. 活动执行模型单测
    @link com.caisl.ap.activity.ActivityDispatcherTest.dispatcherTest
    控制栏输出如下
    2019-04-28 10:29:15.917 INFO [main] business 执行com.caisl.ap.activity.request.NewCustomerPartRequest开始 context:{"activityType":1,"functionCode":"ACTIVITY_PARTICIPATE","request":{"channelId":"WECHAT","customerRegisterId":"caisl"}}
    2019-04-28 10:29:15.918 INFO [main] business do queryDB
    2019-04-28 10:29:15.921 INFO [main] business do assembleDTO
    2019-04-28 10:29:15.921 INFO [main] business do buildRules
    2019-04-28 10:29:15.957 INFO [main] business do doAction
    2019-04-28 10:29:15.957 INFO [main] business do buildResponse
    2019-04-28 10:29:15.972 INFO [main] business 执行com.caisl.ap.activity.request.NewCustomerPartRequest结束 time:208 context:{"activityDTO":{"rules":[{"code":"StartTimeRule","display":"活动开始时间","rule":1556332155921,"ruleDetail":"活动开始时间:StartTimeRule:1556332155921","sort":21,"startTime":1556332155921},{"code":"EndTimeRule","display":"活动结束时间","rule":1556504955921,"ruleDetail":"活动结束时间:EndTimeRule:1556504955921","sort":22},{"code":"ActivityStatusRule","display":"活动状态","rule":2,"ruleDetail":"活动状态:ActivityStatusRule:2","sort":23}]},"activityType":1,"functionCode":"ACTIVITY_PARTICIPATE","request":{"channelId":"WECHAT","customerRegisterId":"caisl"}}response:{}

  2. 规则引擎单测
    @link com.caisl.ap.rule.ActivityRuleEngineTest.singleRuleTest
    控制栏输出如下
    class com.caisl.ap.rule.checker.StartTimeRuleChecker do validate
    还未到开始时间