导读
上一篇《非全自研可视化表达引擎-RuleLinK》介绍了RuleLink的V1.0版本,虽说一定程度上消除了一些配置相关的样板式代码,也肉眼可见的消除了一些研发资源的浪费;RuleLink的初衷是让业务配置变得简单,是面向运营同学。要真正面向运营,我们开始了真正的可视化之路,“真正”二字体验在操作可视化,数据可视化。于是有了这篇文章。也为它设计一个Logo。
两个概念
表达式
这个表达式的意思是:如果 某业务线、某订单类型,某门店类型,订单金额5万以的内 则 [返回最低折扣]。
data.bu == 0 && data.storeType == 0 && data.price > 0 && data.price < 50000 && data.orderType == 60
返回结果
返回结果是指输入的事实满足条件时,返回的内容。目前只支持返回基本类型。
如下:
1,满足条件时返回折扣95(这是简单文本)
2,满足条件时返回具体的业务数据
可用的支付主体
所以可视化解决两个问题:
1,规则表达的可视化(包括选项)
2,返回结果数据的可视化
RuleLink领域模型
基于前面的分析,为了让表达式中的因了选项可视化以及返回结果数据项的可视化,我们本来计划再设计一个选项数据源的对象(存储选项,如支付方式 分支付宝,微信,招行等),这是个麻烦的工作,为了这个小工具实在不想动用太多研发资源,霎时感觉山重水尽疑无路。
早上6点多和娃子到学校晨跑时,放空思绪,方才记起上一个需求为了解决商品自定义字段问题,抽出了独立属性管理,支持手动配置选项与动态选项。于是在上一篇文章ER模型的基础上引入了属性管理。有了属性动态的支持,才能贴近业务,RuleLink才能从一个单纯的通用工具升级到一个规则平台,这才有了灵魂。及简的ER模型如下图。
功能演示
属性
属性支持配置选项或者动态选项(获取业务系统数据)
规则对象
对象因子
对象因子
因子关联属性-获取选项内容
因子关联属性,复用其选项内容
规则
规则部分与返回结果都是选择业务数据,这样的操作方是运营同学方便使用的。
未来规划
目前的基本已经勉强可以面向运营同学使用了,但是真的要跑向生产环境,还是有诸多问题等待解决。接下来主要面向易用性&安全性方面做些工作。
- 业务功能嵌入规则模块
- 操作符号扩展
- 规则版本号-解决修改的问题。
- 权限管理-数据权限的粒度是一个问题
- 规则静态解析工具-支持客户端自助判断
- ...
路漫漫其修远兮
写在最后
今年初开始有这个想法,到今天完成一个基础的可用版本,交付运营使用。已经是6-7个月过去了。第一个版本所有数据都是手动添加,github刨资源,再到后来刷脸调用前端资源。心中一直想着一件事儿,其实也挺充实的。
接下来就是快乐的发版聚餐了,未来希望每增加100个场景聚餐一次;
微信:jijunjian
成为一名优秀的程序员!