当前位置: 首页 > news >正文

ruoyi-vue2集成DMN规则引擎实现Dish智能出餐决策

前言

DMN决策引擎的核心价值在于将复杂的业务决策逻辑从程序代码中剥离出来,通过标准化的模型进行可视化管理和执行。它在实战中的应用非常广泛,特别是在需要频繁调整业务规则、追求流程自动化与智能化的场景中。

具体应用场景有:
金融与风控​: 信贷审批、金融风险评估、反洗钱检查、
供应链与生产​: 保险定价、供应链管理、生产调度
营销与客户服务​: 客户分群、精准营销
其他创新场景​: 教育分班、智能餐饮

今天我们以一个经典的案例智能餐饮来讲解实战中的用法。

决策规则

请点击这个Dish查询规则建模,以下我们拆解一下这个DMN规则表的含义。

这个Dish决策表规则是根据当前的气温(tempeature)和日期类型(dayType)决策上什么餐食。主要有三个决策表构成, 核心是Dish-Decision表。 Season Dicision和Guest Count 以输出结果传递给Dish Decision决策表。 Season Dicision规则描述: tempeature>30, 得到season: Summary tempeature<10, 得到season: Winter tempeature=[10..30] 得到season: Spring Guest Count规则描述: dayType="Weekday", 客人数量(guestCount): 4 dayType="Holiday", 客人数量(guestCount): 10 dayType="Weekend", 客人数量(guestCount): 15 Dish-Decision规则描述: season=winter, guestCount<=8, desiredDish='Spareribs' season=winter, guestCount>8, desiredDish='Pasta' season=Summer, guestCount>10, desiredDish='Light salad' season=Summer, guestCount<=10, desiredDish='Beans salad' season=Spring, guestCount<10, desiredDish='Stew' season=Spring, guestCount>=10, desiredDish='Steak'

流程建模

  • 需求描述
我们现在模拟一个流程, 用户输入当天的气温和日期类型(工作日,假期,周末), 系统决策提供什么类型的餐食。
  • 模型结构

  • 模型定义
<?xml version="1.0" encoding="UTF-8"?><bpmn:definitionsxmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL"xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI"xmlns:dc="http://www.omg.org/spec/DD/20100524/DC"xmlns:camunda="http://camunda.org/schema/1.0/bpmn"xmlns:di="http://www.omg.org/spec/DD/20100524/DI"id="Definitions_1"targetNamespace="http://bpmn.io/schema/bpmn"><bpmn:processid="Process_8887"name="出餐决策"isExecutable="true"><bpmn:startEventid="Event_1i7sxll"><bpmn:outgoing>Flow_1rzb9vm</bpmn:outgoing></bpmn:startEvent><bpmn:sequenceFlowid="Flow_1rzb9vm"sourceRef="Event_1i7sxll"targetRef="Activity_0fzwoab"/><bpmn:userTaskid="Activity_0fzwoab"name="就餐信息"camunda:assignee="${startUser}"><bpmn:extensionElements><camunda:formData><camunda:formFieldid="temperature"label="气温"type="long"/><camunda:formFieldid="dayType"label="日期"type="string"/></camunda:formData></bpmn:extensionElements><bpmn:incoming>Flow_1rzb9vm</bpmn:incoming><bpmn:outgoing>Flow_0v0zyja</bpmn:outgoing></bpmn:userTask><bpmn:sequenceFlowid="Flow_0v0zyja"sourceRef="Activity_0fzwoab"targetRef="Activity_08c0387"/><bpmn:businessRuleTaskid="Activity_08c0387"name="决策规则"camunda:resultVariable="desiredDish"camunda:decisionRef="dish-decision"camunda:mapDecisionResult="singleEntry"><bpmn:incoming>Flow_0v0zyja</bpmn:incoming><bpmn:outgoing>Flow_1ajvk92</bpmn:outgoing></bpmn:businessRuleTask><bpmn:sequenceFlowid="Flow_1ajvk92"sourceRef="Activity_08c0387"targetRef="Activity_0jobe9d"/><bpmn:serviceTaskid="Activity_0jobe9d"name="出餐程序"camunda:delegateExpression="${dishTask}"><bpmn:incoming>Flow_1ajvk92</bpmn:incoming><bpmn:outgoing>Flow_0r2ykge</bpmn:outgoing></bpmn:serviceTask><bpmn:endEventid="Event_0x2ftot"><bpmn:incoming>Flow_0r2ykge</bpmn:incoming></bpmn:endEvent><bpmn:sequenceFlowid="Flow_0r2ykge"sourceRef="Activity_0jobe9d"targetRef="Event_0x2ftot"/></bpmn:process></bpmn:definitions>
  • 运行结果

运行结果解释: 用户输入的气温15度,根据Season Dicision可以得到是=Spring 用户输入的日期类型weekday, 根据Guest Count可以得到客人数量=4 根据season=spring, guestCount=4,根据Dish Decision可以得到=stew 完全符合预期!

访问若依工作流点击顶部,演示系统立即体验!

http://www.cnnetsun.cn/news/84538.html

相关文章:

  • 用AI自动生成PyTorch的nn.Sequential模型架构
  • 48、PXE 引导与进程控制:原理、实现与注意事项
  • Qwen3-14B本地部署指南:从拉取镜像到生产优化
  • C++游戏开发效率对比:传统编程 vs AI辅助
  • 快速验证机器人创意:基于小鱼ROS的敏捷开发方案
  • Ubuntu22.04部署VLLM+Qwen3系列模型并接入Dify
  • 5分钟快速验证:单臂路由概念验证实验室
  • 手机写小说软件2025推荐,多维度解析
  • AI如何帮你快速实现Redisson分布式锁?
  • 10个Windows资源管理器快捷键提升办公效率200%
  • 3分钟极速配置:Mac安装JDK1.8的高效方法对比
  • TRUNCATE vs DELETE:百万数据清理效率对比实验
  • 零基础理解GPG版本错误:从报错到解决的完整指南
  • HttpCanary零基础入门:10分钟学会抓包
  • 1小时搭建DBC可视化工具:快马平台实战
  • MySQL窗口函数入门:从零开始学排名分析
  • Selenium新手必看:SessionNotCreatedException完全解决指南
  • 告别复杂配置:小鱼一键安装ROS效率提升300%
  • 7、Linux文件系统探秘:从基础到实践
  • 一键部署Stable Diffusion 3.5大模型文生图
  • 零基础入门:用Trae McP轻松玩转音频处理
  • 中国首个智能体效能评估标准启动:谁掌握标准,谁就掌握未来
  • AI助力ROS开发:小鱼一键安装的智能优化方案
  • AI助力Python语法学习:从入门到精通
  • 用位运算快速实现创意编程原型
  • 物联网设备架构与安全关键技术解析
  • 推送太多也是烦恼?招标平台时代的企业“注意力管理”指南
  • 从“金桂奖”看金融创新:中和农信如何为乡村振兴引来金融“活水”
  • SpringBoot 整合 ElasticSearch,给搜索插上“光速翅膀”
  • 我宣布,RAGFlow 是目前个人知识库的终极解决方案