非全自研視覺化表達引擎RuleLinK視覺化之路

2023-10-18 15:00:24

導讀

上一篇《非全自研視覺化表達引擎-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個場景聚餐一次;

 

成為一名優秀的程式設計師!