非全自研可视化表达引擎RuleLinK可视化之路

导读

上一篇《非全自研可视化表达引擎-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个场景聚餐一次;

成为一名优秀的程序员!