XueYi-Cloud 多租户Saas快速开发平台 整合芋道工作流微服务 实现全面化工作流微服务引擎 可快速开发


简介

基于SpringBoot | Mybatis-Plus | RabbitMQ | Vue2 | Element-UI | flowable 的多租户SaaS 开发框架,已支持消息队列、数据权限、动态源、多租户、工作流、数据物理&逻辑双隔离等,为企业级多租户Saas及集团化应用提供快速开发解决方案。
整合雪忆微服务平台和芋道框架,将芋道单独作为一个微服务集成到雪忆服务平台

😜 给项目点点 Star 吧,这是对我最大的鼓励和支持!

完整代码下载地址:基于SpringBoot+Mybatis-Plus+ Vue2的多租户SaaS 开发框架

特性

  • 多租户Saas: 物理隔离&&逻辑隔离 — 共享多租户&&隔离多租户
  • 动态多源策略:租户-策略-数据源 — 动态源增减与租户策略配置
  • 素材管理模块:素材集中管理 — 文件&&图片统一管理,配置
  • 权限控制优化:角色-模块-菜单 — 优化角色控制逻辑
  • 租户菜单层级:租管可动态指定租户可用模块或菜单
  • 组织管理优化:部门-岗位-用户 — 更完善的组织架构操作与管理逻辑
  • 微聚合多前端:前端素材&&组件公用 — 降低系统重复冗余
  • 分布式主键: Snowflake全局唯一标识 — 保证全局唯一性&&信息安全
  • 工作流引擎:工作流微服务组件可调用微服务接口和利用消息队列回调 — 微服务式开发

预览

  • 普通账户

企业账号:xueYi
员工账号:admin
密码:admin123

  • 租管账户

企业账号:administrator
员工账号:admin
密码:admin123

结构

  • 采用前后端分离的模式,微服务版本前端。
  • 后端采用Spring Boot、Spring Cloud & Alibaba。
  • 注册中心、配置中心选型Nanos,权限认证使用Redis。
  • 流量控制框架选型Sentinel,分布式事务选型Seata。
  • 工作流框架采用flowable。

注意

  • 注意修改数据库url和redis、nacos 相关配置

开发说明

  • 1.新建nacos命名空间ID=d851ed8e-9a7e-4304-820a-81a91d418435,导入nacos_config_export文件。
  • 2.修改各模块yml文件里面的nacos空间ID(如果nacos命名空间ID=d851ed8e-9a7e-4304-820a-81a91d418435不用修改)。
  • 3.新建数据库xueyi_wf_pro(名称随意,此库是芋道工作流服务使用的数据库),导入sql文件夹下的xueyi_wf_pro.sql文件。
  • 4.新建数据库xueyi_cloud(名称随意,此库是雪忆服务使用的数据库,如果再开发其他微服务可以在此数据库下建表,也可以新建数据库),导入sql文件夹下的其他文件。
  • 5.修改nacos空间下application-bpm-dev.yml文件里面的redis配置和nacos地址。(芋道环境redis必须5.0版本以上,否则无法启动)
  • 6.修改nacos空间下application-bpm-datasource-dev.yml文件里面的mysql数据库配置,url和密码等。(带bpm的文件为工作流微服务的配置文件,其他的为雪忆微服务的配置文件)
  • 7.修改nacos空间下application-secret-dev.yml文件里面的redis配置和nacos地址和数据库mysql相关配置。
  • 8.(切记不做启动不了system项目)修改第四步创建的数据库xueyi_cloud(也可以是其他名字)库下的te_source数据表数据,把url_prepend字段改成上一步(第7步)里面配的数据库url,把password字段改成上一步配的密码。
  • 9.xueyi-rebar项目是demo项目演示如何使用工作流微服务。(其中1./submit方法演示如何通过feign接口调用工作流微服务发起流程,2. CallbackChannelConsumer类里面的onMessage方法演示了如何通过Mq接收工作流审批回调方法。)
com.xueyi     
├── xueyi-ui              // 前端框架 [80]
├── xueyi-gateway         // 网关模块 [8080]
├── xueyi-auth            // 认证中心 [9200]
├── xueyi-api             // 接口模块
│       ├── xueyi-api-system                          // 系统接口
│       ├── xueyi-api-tenant                          // 租管接口
│       └── xueyi-api-job                             // 调度接口
├── xueyi-common          // 通用模块
│       ├── xueyi-common-core                         // 核心模块
│               ├── alibaba-easyexcel                 // 阿里巴巴EasyExcel插件(by gaorongyi)
│       ├── xueyi-common-datascope                    // 权限范围
│       ├── xueyi-common-datasource                   // 多数据源
│       ├── xueyi-common-log                          // 日志记录
│       ├── xueyi-common-redis                        // 缓存服务
│               ├── redisson                          // 分布式锁服务(by gaorongyi)
│               ├── CacheModel                        // 通用缓存模型(by gaorongyi)
│       ├── xueyi-common-security                     // 安全模块
│       ├── xueyi-common-flowable                     // 安全模块
│       ├── xueyi-common-swagger                      // 系统接口
│       └── xueyi-common-web   
├── xueyi-bpm         // 工作流模块
│       ├── yudao-module-bpm-api                                // 文件服务 [9300]
│       ├── yudao-module-bpm-base                                // 代码生成 [9400]
│       ├── yudao-module-bpm-biz-flowable                               // 基类封装
├── xueyi-modules         // 业务模块
│       ├── xueyi-file                                // 文件服务 [9300]
│       ├── xueyi-gen                                 // 代码生成 [9400]
│       ├── xueyi-job                                 // 定时任务 [9500]
│       ├── xueyi-rebar         //业务模块仅供工作流引用参考                                // 定时任务 [9500]
│       ├── xueyi-system                              // 系统模块 [9600]
│               ├── authority                         // 权限模块
│               ├── dict                              // 参数字典
│               ├── material                          // 素材模块
│               ├── monitor                           // 监控模块
│               ├── notice                            // 公告模块
│               └── organize                          // 组织模块
│       └── xueyi-tenant                              // 租管模块 [9700]
│               ├── source                            // 多数据源
│               └── tenant                            // 租户策略
├── xueyi-visual          // 图形化管理模块
│       └── xueyi-visual-monitor                      // 监控中心 [9100]
└── pom.xml                // 公共依赖

完整代码下载地址:基于SpringBoot+Mybatis-Plus+ Vue2的多租户SaaS 开发框架