非全自研可视化表达引擎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个场景聚餐一次;
成为一名优秀的程序员!
非全自研可视化表达引擎RuleLinK可视化之路的更多相关文章
- OSG 初始化为非全屏窗口
OSG默认的窗口时全屏的,调试的时候不方便. 在网上看到一段代码,可以非全屏显示 int _tmain(int argc, _TCHAR* argv[]){ osgViewer::Viewer vie ...
- GIS案例学习笔记-三维生成和可视化表达
GIS案例学习笔记-三维生成和可视化表达 联系方式:谢老师,135-4855-4328,xiexiaokui#qq.com 目的:针对栅格或者矢量数值型数据,进行三维可视化表达 操作时间:15分钟 案 ...
- 表格中的checkbox复选框 全选非全选 公共方法 及提交选中结果
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...
- 微信非全屏播放设置(仅Iphone)
由于微信X5内核强制视频全屏,用X5自带内核播放,一般内嵌视频打开播放就会被全屏. ihpone里面可以通过设置 x-webkit-airplay="true" webkit-pl ...
- 让DuiLib CheckBox支持全选、全不选、非全选三种状态
原文 https://blog.csdn.net/EveyX/article/details/38433783 DuiLib官方库中的Checkbox只有Checked和Uncheck两种状态,但我们 ...
- Java工作流引擎结合可视化表单开发,10分钟完成一个业务流程发布
回忆以前工作流引擎的应用,感觉历历在目啊!当初公司接了一个项目关于政府单位公文流转的管理系统,一开始客户跟我画了十多张业务流程图.话说这十多张业务流程图,涉及的业务范围还蛮多,像用审批授权,开通流程, ...
- IOS(苹果手机)使用video播放HLS流,实现在内部播放及全屏播放(即非全屏和全屏播放)。
需求: 实现PC及移动端播放HLS流,并且可以自动播放,在页面内部播放及全屏播放功能. 初步:PC及安卓机使用hls.js实现hls流自动播放及全屏非全屏播放 首先使用了hls.js插件,可以实现在P ...
- 三维GIS引擎地图可视化渲染方案设计
1.GIS地图可视化流程 GIS地图可视化就是将空间数据转化为地图数据再进行交互处理的方法,下图一展示了地图可视化的可编程渲染的典型管道,原始空间数据必须处理为图形API支持基础图元用以地图渲染.下图 ...
- Cesium数据可视化-仓储调度系统可视化部分(附github源码)
Cesium数据可视化-仓储调度系统可视化部分 目的 仓储调度系统需要一个可视化展示物资运输实况的界面,需要配合GPS设备发送的位置信息,实时绘制物资运输情况和仓储仓库.因此,使用Cesium可视化该 ...
- Python全栈 MySQL 数据库 (引擎、事物、pymysql模块、orm)
ParisGabriel 每天坚持手写 一天一篇 决定坚持几年 为了梦想为了信仰 开局一张图 存储引擎(处理表的处理器) 基本操作: ...
随机推荐
- WPF复习知识点记录
WPF复习知识点记录 由于近几年主要在做Web项目,客户端的项目主要是以维护为主,感觉对于基础知识的掌握没有那么牢靠,趁着这个周末重新复习下WPF的相关知识. 文章内容主要来自大佬刘铁锰老师的经典著作 ...
- JS逆向实战20——某头条jsvm逆向
声明 本文章中所有内容仅供学习交流,抓包内容.敏感网址.数据接口均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请联系我立即删除! 网站 目标网站:aHR0c ...
- Django App使用
App - 基本使用 作用主要用于业务功能模块开发 创建App > python manage.py startapp app01 创建成功后默认生成以下文件 默认文件讲解: 1. models ...
- ls 和 du显示文件大小不一样
查看当前文件系统的磁盘使用 df -k / Filesystem 1K-blocks Used Available Use% Mounted on /dev/nvme0n1p2 97844508 37 ...
- 使用wsl 清理windows 下的C盘
大文件删除思路 ## 在wsl 中可以看到,C盘已经挂载了,挂载点为/mnt/c dewan@wsl ~% df /mnt/c Filesystem Size Used Avail Use% Moun ...
- 学好Linux的必经之路
学好Linux的必经之路 学习动机的培养对于一个人学习习惯的形成有着重要的作用.当我们在学习某一个事物时,建立属于我们自己的学习方法,以此培养我们学习Linux系统的学习动机. 当前,Linux系统属 ...
- 数据分析师如何用SQL解决业务问题?
本文来自问答. 提问:数据分析人员需要掌握sql到什么程度? 请问做一名数据分析人员,在sql方面需要掌握到什么程度呢?会增删改查就可以了吗?还是说关于开发的内容也要会?不同阶段会有不同的要求吗? 正 ...
- FreeRTOS 基于 ARMv8-M 对 MPU 的应用
一.前言 ARMv8-M 支持 MPU,FreeRTOS 也添加了对这些 MPU 的应用代码.这里用来记录 FreeRTOS 对 MPU 应用方式的探究结果. 二.ArmV8-M MPU 介绍 ARM ...
- CentOS7系统初始化个人配置
以下内容为个人最小化安装后的配置步骤 更换yum源为阿里云 yum install -y epel-release lrzsz wget yum-axelget mv /etc/yum.repos.d ...
- redis开启多线程
在Redis 6.0中,非常受关注的第一个新特性就是多线程. 在Redis 6.0中,多线程默认是禁用的,只使用主线程.如果需要使用多线程功能,需要在 redis.conf文件中进行配置(重启服务). ...