事件组件设计思路:
痛点一:从全国层级到社区层级公用一套流程,若某个层级需要对具体某个中间流程进行定制势必会影响其他层级的事件流程。
痛点二:内部流转的逻辑和原始的事件流程耦合非常严重
痛点三:参数的传递混乱
痛点四:重复操作过多
针对第一个痛点,将业务的范围从service中缩小到一个个handler中,通过前台配置的方式进行处理。全国层级下提供一套默认的事件流程,各个层级可以针对某一种操作类型进行个性化handler的配置,并且向下辐射(浙江省配置某操作类型配置某个流程后,浙江省以下在进行该事件类型的操作均使用浙江省的配置)
针对第二个痛点,使用继承和前台配置的方式将事件办理流程中的内部流转拆分为专用的事件状态、handler和listener等组件。
针对第三个痛点,使用事件办理上下文进行统一
针对第四个痛点,封装数据处理责任链,统一对数据进行控制