# openlogic **Repository Path**: wei-yongpe/openlogic ## Basic Information - **Project Name**: openlogic - **Description**: 基于solon3.0.7,mybtais-flex,sa-token的国产决策引擎。为了帮助快速构建企业决策引擎,智能决策。 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 21 - **Forks**: 6 - **Created**: 2025-02-05 - **Last Updated**: 2025-06-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: Java, JavaScript, Vue ## README

OpenLogic

v3.0.2

基于 Solon 和 Vue 前后端分离的分布式微服务架构

Fork me on Gitee

## 平台简介 OpenLogic是一套开源的决策引擎开放系统。 * 采用前后端分离的模式,微服务架构。 * 具备与若依相同的后台管理功能。 * 后端技术栈:Solon、Solon Cloud、HikariCP、Mybatis-Flex、Redis、Sa-Token、Hutool、rabbitMq等。 * 前端技术栈:Vue、Vue-Router、Vuex/Pinia、Element-UI/Element-Plus、Axios等。 ## 平台优势 * 仿照若依开发,轻松上手。 * 后端打包体积更小,启动速度更快,运行时内存占用更低,并发更高。 ## 版本分支 * 默认`master`分支,后端采用`Maven`作为构建工具。 * `release`分支,正式发行版,后端采用`Maven`作为构建工具。 * `developer`分支,开发调试分支,后端采用`Maven`作为构建工具。 > 不建议直接`clone`分支代码,推荐下载`发行版`或`标签`中的最新版本。 ## 系统模块 ~~~ com.openlogic ├── openlogic-api // 接口模块 │ └── openlogic-api-bom // 接口模块定义依赖管理 │ └── openlogic-api-system // 系统接口 ├── openlogic-auth // 认证中心 [8101] ├── openlogic-cloud-ui // 前端框架(vue2版) [80] ├── openlogic-cloud-ui-vue3 // 前端框架(vue3版) [80] ├── openlogic-common // 通用模块 │ └── openlogic-common-bom // 公共模块通用依赖管理 │ └── openlogic-common-core // 核心模块 │ └── openlogic-common-datasource // 多数据源 │ └── openlogic-common-plugins // 插件管理-基于jdk的SPI机制 │ └── openlogic-common-plugins-spi // 数据源插件(MYSQL,ORACLE,EXCEL) │ └── openlogic-common-plugins-db // 数据源插件依赖管理 │ └── openlogic-common-plugins-db-api // 数据源插件公共api │ └── openlogic-common-plugins-db-mysql // mysql数据源插件 │ └── openlogic-common-plugins-db-excel // excel数据源插件 │ └── openlogic-common-plugins-db-oracle // oracle数据源插件(待开发) │ └── openlogic-common-log // 日志记录 │ └── openlogic-common-logic // 决策引擎 │ └── openlogic-common-mq // 消息队列 │ └── openlogic-common-mq-bom // 消息队列依赖管理 │ └── openlogic-common-mq-rabbit // rabbitmq消息队列 │ └── openlogic-common-redis // 缓存服务 │ └── openlogic-common-security // 安全模块 │ └── openlogic-common-swagger // 文档模块 ├── openlogic-gateway // 网关模块 [8080] ├── openlogic-modules // 业务模块 │ └── openlogic-modules-demo // 演示服务 [8103] │ └── openlogic-modules-docs // 文档服务 [8095] │ └── openlogic-modules-file // 文件服务 [8091] │ └── openlogic-modules-gen // 代码生成 [8092] │ └── openlogic-modules-flow // 流程引擎 [8299] │ └── openlogic-modules-logic // 决策服务 [8156] │ └── openlogic-modules-schedule // 任务调度 [8093] │ └── openlogic-modules-system // 系统服务 [8102] ├── openlogic-visual // 图形化管理模块 │ └── openlogic-visual-monitor // 监控中心 [8094] │ └── openlogic-visual-registry // 注册中心 [8848] ├── pom.xml // 公共依赖 ~~~ ## 内置功能 1. 用户管理:用户是系统操作者,该功能主要完成系统用户配置。 2. 部门管理:配置系统组织机构(公司、部门、小组),树结构展现支持数据权限。 3. 岗位管理:配置系统用户所属担任职务。 4. 菜单管理:配置系统菜单,操作权限,按钮权限标识等。 5. 角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。 6. 字典管理:对系统中经常使用的一些较为固定的数据进行维护。 7. 参数管理:对系统动态配置常用参数。 8. 通知公告:系统通知公告信息发布维护。 9. 操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。 10. 登录日志:系统登录日志记录查询包含登录异常。 11. 在线构建:拖动表单元素生成相应的HTML代码。 12. 代码生成:前后端代码的生成(java、html、xml、sql)支持CRUD下载。 13. 定时任务:任务调度。 14. 服务监控:监视当前系统CPU、内存、磁盘、堆栈等相关信息。 15. 系统接口:根据业务代码自动生成相关的api接口文档。 16. 在线用户:当前系统中活跃用户状态监控。 17. 流程引擎:基于warm-flow1.6.6,实现流程发起,代办,审批,会签等 18. 决策引擎:基于aviator实现业务决策。 ## 版本要求 | | 要求 | 推荐 | | :--: | :--: | :--: | | JDK | >= 1.8 | 17 | | Maven | >= 3.6.3 | 3.8.6 | | Node | >= 14 | 14.21.3 | | MySQL | >= 5.6 | 5.6.36 | | Redis | >= 3 | 3.2.100 | | RabbitMQ | >= 3 | 4.0.5 | ## nacos注册中心说明 nacos采用抽取官方的console模块,独立启动。 >**为什么将nacos单独抽取出来?** > 1. 方便兼容国产信创的适配,可以利用nacos的datasource-plugin进行扩展更多的国产数据库 > 2. 可以进行二开对nacos,比如ui以及控制台的面板等 说明:nacos对官方的console模块进行修改后重新打包,nacos代码地址:https://github.com/alibaba/nacos nacos多数据源插件扩展,可以参考:https://gitee.com/wei-yongpe/nacos_database_pg_extends/tree/0.0.2/ ## 工作流说明 工作流采用warm-flow国产工作流引擎,Dromara Warm-Flow国产工作流引擎🎉,其特点简洁轻量,五脏俱全,可扩展,是一个可通过jar引入设计器的工作流。 实现功能: - 审批功能:支持通过、退回、任意跳转、转办、终止、会签、票签、委派和加减签、互斥和并行网关 - 流程图:流程引擎自带流程图,数据入库,并行支持扩展 - 流程设计器:可通过jar包形式快速集成到项目,减少繁琐代码搬运和适配 - orm框架采用mybatis-flex warm-flow核心api说明:https://warm-flow.dromara.org/master/primary/api.html > **备注:**warm-flow官方提供的mybatis-flex插件支持的solon版本较低`(2.8.4)`,这里我对官方mybatis-flex-solon插件进行改造,`支持solon3.x` > **地址:**warm-flow-mybatis-flex-solon3插件地址:https://gitee.com/wei-yongpe/warm-flow-mybatis-flex-solon3 ## 网关说明 solon官方对网关的介绍,在solon2.x版本推荐适用业务网关,类似Spring-Cloud-Gateway,但在solon3.x版本后,随着云原生技术的成熟,出现了像ingress,higress这类的流量网关和云原生网关。

目前系统支持的网关架构: - nginx(流量网关)+gateway(业务网关) openlogic3.0.2支持采用higress云原生网关统一管理流量,安全和业务转发,具体操作见操作手册。 ## AI大模型 疯狂敲码中...`预计3.2.0版本后支持` ## 决策说明 文档待补充... ## 预览

## 特别感谢 源于开源,回归开源 - 感谢**若依**开源的ruoyi-cloud: https://gitee.com/y_project/RuoYi-Cloud - 感谢**solon**面向全场景的 Java 企业级应用开发框架:https://gitee.com/opensolon/solon - 感谢**warm-flow**开源的warm-flow工作流: https://gitee.com/dromara/warm-flow