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 开发框架