导读

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

成为一名优秀的程序员!

非全自研可视化表达引擎RuleLinK可视化之路的更多相关文章

  1. OSG 初始化为非全屏窗口

    OSG默认的窗口时全屏的,调试的时候不方便. 在网上看到一段代码,可以非全屏显示 int _tmain(int argc, _TCHAR* argv[]){ osgViewer::Viewer vie ...

  2. GIS案例学习笔记-三维生成和可视化表达

    GIS案例学习笔记-三维生成和可视化表达 联系方式:谢老师,135-4855-4328,xiexiaokui#qq.com 目的:针对栅格或者矢量数值型数据,进行三维可视化表达 操作时间:15分钟 案 ...

  3. 表格中的checkbox复选框 全选非全选 公共方法 及提交选中结果

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...

  4. 微信非全屏播放设置(仅Iphone)

    由于微信X5内核强制视频全屏,用X5自带内核播放,一般内嵌视频打开播放就会被全屏. ihpone里面可以通过设置 x-webkit-airplay="true" webkit-pl ...

  5. 让DuiLib CheckBox支持全选、全不选、非全选三种状态

    原文 https://blog.csdn.net/EveyX/article/details/38433783 DuiLib官方库中的Checkbox只有Checked和Uncheck两种状态,但我们 ...

  6. Java工作流引擎结合可视化表单开发,10分钟完成一个业务流程发布

    回忆以前工作流引擎的应用,感觉历历在目啊!当初公司接了一个项目关于政府单位公文流转的管理系统,一开始客户跟我画了十多张业务流程图.话说这十多张业务流程图,涉及的业务范围还蛮多,像用审批授权,开通流程, ...

  7. IOS(苹果手机)使用video播放HLS流,实现在内部播放及全屏播放(即非全屏和全屏播放)。

    需求: 实现PC及移动端播放HLS流,并且可以自动播放,在页面内部播放及全屏播放功能. 初步:PC及安卓机使用hls.js实现hls流自动播放及全屏非全屏播放 首先使用了hls.js插件,可以实现在P ...

  8. 三维GIS引擎地图可视化渲染方案设计

    1.GIS地图可视化流程 GIS地图可视化就是将空间数据转化为地图数据再进行交互处理的方法,下图一展示了地图可视化的可编程渲染的典型管道,原始空间数据必须处理为图形API支持基础图元用以地图渲染.下图 ...

  9. Cesium数据可视化-仓储调度系统可视化部分(附github源码)

    Cesium数据可视化-仓储调度系统可视化部分 目的 仓储调度系统需要一个可视化展示物资运输实况的界面,需要配合GPS设备发送的位置信息,实时绘制物资运输情况和仓储仓库.因此,使用Cesium可视化该 ...

  10. Python全栈 MySQL 数据库 (引擎、事物、pymysql模块、orm)

    ParisGabriel              每天坚持手写  一天一篇  决定坚持几年 为了梦想为了信仰    开局一张图     存储引擎(处理表的处理器)     基本操作:         ...

随机推荐

  1. 图书商城项目练习②后端服务Node/Express/Sqlite

    本系列文章是为学习Vue的项目练习笔记,尽量详细记录一下一个完整项目的开发过程.面向初学者,本人也是初学者,搬砖技术还不成熟.项目在技术上前端为主,包含一些后端代码,从基础的数据库(Sqlite).到 ...

  2. 【WebRtc】获取音视频数据

    首页截图 获取音视频 关键Code 获取摄像头数据 /** * 获取流数据 */ openUserMeida() { var that = this // 判断是否支持获取媒体数据 if (!navi ...

  3. Doris写入数据异常提示actual column number in csv file is less than schema column number

    版本信息: Flink 1.17.1 Doris 1.2.3 Flink Doris Connector 1.4.0 写入方式 采用 String 数据流,依照社区网站的样例代码,在sink之前将数据 ...

  4. tensorflow神经网络归一化方法

    参考https://blog.csdn.net/chary8088/article/details/81542879

  5. 使用Canal同步mysql数据到es

    一.简介 Canal主要用途是基于 MySQL 数据库增量日志解析,提供增量数据订阅和消费. 当前的 canal 支持源端 MySQL 版本包括 5.1.x , 5.5.x , 5.6.x , 5.7 ...

  6. 与AI对话 -- 20230221 -- linux 性能分析相关的软件包

    linux 性能分析相关的软件包有哪些,各自包含了哪些命令 sysstat:sysstat 包含了丰富的监控系统性能的工具,例如 sar(系统性能分析器).iostat(设备 IO 状态分析器).mp ...

  7. shell 代码风格

    以终为始 initramfs_cgz=/srv/initrd/osimage/$os/$os_arch/${os_version%-iso}/$(date +"%Y%m%d").0 ...

  8. 2021-7-29 MySql的简单使用

    创建表格   先判断users表是否存在,然后设置user_id为无符号(UNSIGNED)自动增长(AUTO_INCREMENT)的整型 并通过PRIMARY KEY设置user_id为主键 ENG ...

  9. windows安装uwsgi报错 AttributeError: module 'os' has no attribute 'uname'

    Win10系统不支持安装UWSGI, 不用尝试了 安装 pip install uwsgi windows安装报错 AttributeError: module 'os' has no attribu ...

  10. 基于redis6搭建集群

    前言 系统版本:CentOS 7 redis版本:redis6.2.4,官方tar.gz包 两台服务器: 172.50.11.11 端口7002.7004.7006 172.50.12.11 端口70 ...