feat:提交项目说明
This commit is contained in:
parent
f3389e6a18
commit
31a5d45819
214
LICENSE
214
LICENSE
@ -1,21 +1,201 @@
|
||||
MIT License
|
||||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
Copyright (c) 2024 Dftre
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
1. Definitions.
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
APPENDIX: How to apply the Apache License to your work.
|
||||
|
||||
To apply the Apache License to your work, attach the following
|
||||
boilerplate notice, with the fields enclosed by brackets "[]"
|
||||
replaced with your own identifying information. (Don't include
|
||||
the brackets!) The text should be enclosed in the appropriate
|
||||
comment syntax for the file format. We also recommend that a
|
||||
file or class name and description of purpose be included on the
|
||||
same "printed page" as the copyright notice for easier
|
||||
identification within third-party archives.
|
||||
|
||||
Copyright [yyyy] [name of copyright owner]
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
371
README.md
371
README.md
@ -1,132 +1,277 @@
|
||||
<p align="center">
|
||||
<span>
|
||||
<img alt="logo" src="https://oscimg.oschina.net/oscnet/up-d3d0a9303e11d522a06cd263f3079027715.png">
|
||||
</span>
|
||||
<span>+</span>
|
||||
<span>
|
||||
<img alt="logo" src="./doc/image/logo.png">
|
||||
</span>
|
||||
</p>
|
||||
<h1 align="center" style="margin: 30px 0 30px; font-weight: bold;">datai v3.8.7.3.2</h1>
|
||||
<h4 align="center">基于SpringBoot3+Vue3前后端分离的Java快速开发框架</h4>
|
||||
<p align="center">
|
||||
<img src="https://img.shields.io/github/license/mashape/apistatus.svg">
|
||||
</p>
|
||||
# Datai - Salesforce 集成系统
|
||||
|
||||
# 当前版本是3.8.7.3
|
||||
## 项目概述
|
||||
|
||||
本人的其他两个推荐搭配的项目
|
||||
Datai 是一个基于若依Geek框架构建的企业级管理系统,采用模块化架构设计,提供可扩展的插件和场景模块。系统集成了 Salesforce 平台,支持多种 API 交互方式,实现数据同步、认证管理和元数据处理等核心功能。
|
||||
|
||||
1. [RuoYi-App-Geek: 这是若依极客生态的小程序版本 (gitee.com)](https://gitee.com/geek-xd/geek-uniapp-vue3-uview-plus-uchart)
|
||||
2. [RuoYi-SpringBoot3-Geek: 这是若依极客生态的SpringBoot3版本 (gitee.com)](https://gitee.com/geek-xd/ruoyi-spring-boot3-geek.git)
|
||||
**当前实现状态**:项目目前专注于从 Salesforce 源系统同步数据到本地数据库,包括元数据管理、批量数据同步、实时数据同步等功能。
|
||||
|
||||
与本项目同为一个作者开发,兼容性最好,学习成本最低
|
||||
## 技术栈
|
||||
|
||||
## 前端运行
|
||||
| 技术 | 版本 | 说明 |
|
||||
|------|------|------|
|
||||
| Java | 21 / 22 | 根项目使用 Java 21,Salesforce 模块使用 Java 22 |
|
||||
| Spring Boot | 3.5.7 | 核心框架 |
|
||||
| MyBatis | 3.5.16 | 持久层框架 |
|
||||
| MySQL | 8.3.0 | 关系型数据库 |
|
||||
| PostgreSQL | 42.7.7 | 关系型数据库 |
|
||||
| Knife4j | 4.5.0 | API 文档工具 |
|
||||
| Druid | 1.2.27 | 数据库连接池 |
|
||||
| Maven | - | 构建工具 |
|
||||
| Salesforce Partner API | 0.0.1 | Salesforce SOAP API 客户端 |
|
||||
| Salesforce Pub/Sub Client | 0.2.21 | Salesforce CDC 实时同步客户端 |
|
||||
| Apache Avro | 1.11.3 | 数据序列化格式 |
|
||||
| Fastjson | 2.0.58 | JSON 解析器 |
|
||||
| JWT | 0.12.6 | Token 生成与解析 |
|
||||
| PageHelper | 2.1.1 | 分页插件 |
|
||||
|
||||
```bash
|
||||
# 克隆项目
|
||||
git clone https://gitee.com/geek-xd/datai-vue3.git
|
||||
## 项目结构
|
||||
|
||||
# 进入项目目录
|
||||
cd RuoYi-Vue3
|
||||
|
||||
# 安装依赖
|
||||
yarn --registry=https://registry.npmmirror.com
|
||||
|
||||
# 启动服务
|
||||
yarn dev
|
||||
|
||||
# 构建测试环境 yarn build:stage
|
||||
# 构建生产环境 yarn build:prod
|
||||
# 前端访问地址 http://localhost:80
|
||||
```
|
||||
datai/
|
||||
├── datai-admin/ # 管理后台启动模块
|
||||
├── datai-framework/ # 框架核心模块
|
||||
├── datai-system/ # 系统管理模块
|
||||
├── datai-common/ # 通用工具模块
|
||||
├── datai-scenes/ # 场景模块
|
||||
│ ├── datai-scene-salesforce/ # Salesforce 集成场景
|
||||
│ │ ├── datai-salesforce-auth/ # 认证相关模块
|
||||
│ │ ├── datai-salesforce-common/ # 通用工具和常量
|
||||
│ │ ├── datai-salesforce-integration/ # 核心集成模块
|
||||
│ │ ├── datai-salesforce-setting/ # 配置管理模块
|
||||
│ │ └── datai-salesforce-starter/ # 启动器模块
|
||||
│ ├── datai-scene-auth/ # 认证场景
|
||||
│ │ ├── datai-auth-common/ # 认证通用模块
|
||||
│ │ ├── datai-auth-starter/ # 认证启动器
|
||||
│ │ ├── datai-oauth-justauth/ # JustAuth OAuth
|
||||
│ │ ├── datai-oauth-wx/ # 微信 OAuth
|
||||
│ │ ├── datai-tfa-email/ # 邮箱双因子认证
|
||||
│ │ └── datai-tfa-phone/ # 手机双因子认证
|
||||
│ ├── datai-scene-pay/ # 支付场景
|
||||
│ │ ├── datai-pay-common/ # 支付通用模块
|
||||
│ │ ├── datai-pay-starter/ # 支付启动器
|
||||
│ │ ├── datai-pay-alipay/ # 支付宝支付
|
||||
│ │ ├── datai-pay-wx/ # 微信支付
|
||||
│ │ └── datai-pay-sqb/ # 收钱吧支付
|
||||
│ └── datai-scene-file/ # 文件场景
|
||||
│ ├── datai-file-common/ # 文件通用模块
|
||||
│ ├── datai-file-starter/ # 文件启动器
|
||||
│ ├── datai-file-local/ # 本地文件存储
|
||||
│ ├── datai-file-minio/ # MinIO 文件存储
|
||||
│ └── datai-file-aliyun-oss/ # 阿里云 OSS 文件存储
|
||||
├── datai-plugins/ # 插件模块
|
||||
│ ├── datai-plugins-starter/ # 插件启动器
|
||||
│ ├── datai-mybatis-plus/ # MyBatis Plus 插件
|
||||
│ ├── datai-cache-redis/ # Redis 缓存插件
|
||||
│ ├── datai-cache-ehcache/ # Ehcache 缓存插件
|
||||
│ ├── datai-rabbitmq/ # RabbitMQ 消息队列插件
|
||||
│ ├── datai-websocket/ # WebSocket 插件
|
||||
│ ├── datai-netty/ # Netty 网络插件
|
||||
│ └── datai-atomikos/ # Atomikos 分布式事务插件
|
||||
└── datai-models/ # 模型模块
|
||||
├── datai-models-starter/ # 模型启动器
|
||||
├── datai-quartz/ # Quartz 定时任务
|
||||
├── datai-form/ # 表单管理
|
||||
├── datai-message/ # 消息管理
|
||||
├── datai-generator/ # 代码生成器
|
||||
├── datai-online/ # 在线用户
|
||||
└── datai-flowable/ # 工作流
|
||||
```
|
||||
|
||||
## Electron
|
||||
## 核心功能
|
||||
|
||||
electron项目已经迁移至:
|
||||
### Salesforce 集成模块(当前实现)
|
||||
|
||||
https://gitee.com/geek-xd/datai-electron.git
|
||||
提供与 Salesforce 源系统的数据集成解决方案,支持从 Salesforce 同步数据到本地数据库。
|
||||
|
||||
## 内置功能
|
||||
#### 认证管理
|
||||
- **多种登录方式**: OAuth2、SessionId、CLI、Legacy Credential
|
||||
- **会话管理**: 登录会话的创建、查询和销毁
|
||||
- **历史记录**: 登录历史记录的查询和统计
|
||||
|
||||
1. 用户管理:用户是系统操作者,该功能主要完成系统用户配置。
|
||||
2. 部门管理:配置系统组织机构(公司、部门、小组),树结构展现支持数据权限。
|
||||
3. 岗位管理:配置系统用户所属担任职务。
|
||||
4. 菜单管理:配置系统菜单,操作权限,按钮权限标识等。
|
||||
5. 角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。
|
||||
6. 字典管理:对系统中经常使用的一些较为固定的数据进行维护。
|
||||
7. 参数管理:对系统动态配置常用参数。
|
||||
8. 通知公告:系统通知公告信息发布维护。
|
||||
9. 操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。
|
||||
10. 登录日志:系统登录日志记录查询包含登录异常。
|
||||
11. 在线用户:当前系统中活跃用户状态监控。
|
||||
12. 定时任务:在线(添加、修改、删除)任务调度包含执行结果日志。
|
||||
13. 代码生成:前后端代码的生成(java、html、xml、sql)支持CRUD下载 。
|
||||
14. 系统接口:根据业务代码自动生成相关的api接口文档。
|
||||
15. 服务监控:监视当前系统CPU、内存、磁盘、堆栈等相关信息。
|
||||
16. 缓存监控:对系统的缓存信息查询,命令统计等。
|
||||
17. 在线构建器:拖动表单元素生成相应的HTML代码。
|
||||
18. 连接池监视:监视当前系统数据库连接池状态,可进行分析SQL找出系统性能瓶颈。
|
||||
#### 数据同步(源系统 → 本地)
|
||||
- **Bulk API v1/v2**: 批量数据同步,支持大规模数据导入导出
|
||||
- **Partner API**: SOAP API 数据交互,支持 CRUD 操作
|
||||
- **REST API**: RESTful API 数据交互
|
||||
- **CDC 实时同步**: Change Data Capture 实时数据同步
|
||||
|
||||
### 新加功能和增强功能演示
|
||||
#### 元数据管理
|
||||
- **对象管理**: Salesforce 对象的查询、同步和结构创建
|
||||
- **字段管理**: 对象字段的查询和管理
|
||||
- **Picklist 管理**: Picklist 值的查询和管理
|
||||
- **Lookup 过滤器**: Lookup 过滤器的查询和管理
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<td><img src="./doc/image/message.png"/></td>
|
||||
<td><img src="./doc/image/flowable.png"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="./doc/image/online-mb-list.png"/></td>
|
||||
<td><img src="./doc/image/online-mb-edit.png"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="./doc/image/online-mb-code.png"/></td>
|
||||
<td><img src="./doc/image/form-edit.png"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="./doc/image/code-edit.png"/></td>
|
||||
<td><img src="./doc/image/code-show.png"/></td>
|
||||
</tr>
|
||||
</table>
|
||||
#### 批次管理
|
||||
- **批次创建**: 创建数据同步批次
|
||||
- **批次数据插入**: 将本地数据插入到 Salesforce,保存返回 ID
|
||||
- **批次数据更新**: 使用保存的 ID 更新 Salesforce 数据
|
||||
- **批次重试**: 失败批次的重试机制
|
||||
- **批次历史**: 批次操作历史记录
|
||||
|
||||
### 原有功能演示
|
||||
#### 实时同步
|
||||
- **Pub/Sub API**: Salesforce Event Bus 实时数据订阅
|
||||
- **事件处理**: CDC 事件的接收和处理
|
||||
- **数据同步**: 实时数据同步到本地数据库
|
||||
- **服务管理**: 实时同步服务的启动、停止和重启
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<td><img src="https://oscimg.oschina.net/oscnet/cd1f90be5f2684f4560c9519c0f2a232ee8.jpg"/></td>
|
||||
<td><img src="https://oscimg.oschina.net/oscnet/1cbcf0e6f257c7d3a063c0e3f2ff989e4b3.jpg"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="https://oscimg.oschina.net/oscnet/up-8074972883b5ba0622e13246738ebba237a.png"/></td>
|
||||
<td><img src="https://oscimg.oschina.net/oscnet/up-9f88719cdfca9af2e58b352a20e23d43b12.png"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="https://oscimg.oschina.net/oscnet/up-39bf2584ec3a529b0d5a3b70d15c9b37646.png"/></td>
|
||||
<td><img src="https://oscimg.oschina.net/oscnet/up-936ec82d1f4872e1bc980927654b6007307.png"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="https://oscimg.oschina.net/oscnet/up-b2d62ceb95d2dd9b3fbe157bb70d26001e9.png"/></td>
|
||||
<td><img src="https://oscimg.oschina.net/oscnet/up-d67451d308b7a79ad6819723396f7c3d77a.png"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="https://oscimg.oschina.net/oscnet/5e8c387724954459291aafd5eb52b456f53.jpg"/></td>
|
||||
<td><img src="https://oscimg.oschina.net/oscnet/644e78da53c2e92a95dfda4f76e6d117c4b.jpg"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="https://oscimg.oschina.net/oscnet/up-8370a0d02977eebf6dbf854c8450293c937.png"/></td>
|
||||
<td><img src="https://oscimg.oschina.net/oscnet/up-49003ed83f60f633e7153609a53a2b644f7.png"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="https://oscimg.oschina.net/oscnet/up-d4fe726319ece268d4746602c39cffc0621.png"/></td>
|
||||
<td><img src="https://oscimg.oschina.net/oscnet/up-c195234bbcd30be6927f037a6755e6ab69c.png"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="https://oscimg.oschina.net/oscnet/b6115bc8c31de52951982e509930b20684a.jpg"/></td>
|
||||
<td><img src="https://oscimg.oschina.net/oscnet/up-5e4daac0bb59612c5038448acbcef235e3a.png"/></td>
|
||||
</tr>
|
||||
</table>
|
||||
#### 监控日志
|
||||
- **API 调用日志**: Salesforce API 调用记录和统计
|
||||
- **同步日志**: 数据同步操作日志
|
||||
- **速率限制监控**: Salesforce API 速率限制监控
|
||||
- **实时同步日志**: CDC 实时同步日志
|
||||
|
||||
# 联系我们:
|
||||
### 开发计划
|
||||
|
||||
QQ交流群:744785891
|
||||
#### 1. 数据推送到目标 Salesforce 系统
|
||||
- **目标系统认证**: 支持目标 Salesforce 系统的多种认证方式
|
||||
- **数据推送**: 支持将本地数据批量推送到目标 Salesforce 系统
|
||||
- **双向同步**: 实现源系统 → 本地 → 目标系统的数据流转
|
||||
- **数据映射**: 支持源系统和目标系统之间的字段映射
|
||||
- **推送监控**: 数据推送任务的监控和日志记录
|
||||
|
||||
#### 2. 源 Salesforce 系统文件下载
|
||||
- **文件元数据**: 获取 Salesforce 附件和文档的元数据信息
|
||||
- **文件下载**: 支持批量下载 Salesforce 中的文件(Attachment、Document、ContentVersion)
|
||||
- **文件存储**: 支持本地存储、MinIO、阿里云 OSS 等多种存储方式
|
||||
- **文件同步**: 文件与数据的关联同步
|
||||
- **下载监控**: 文件下载任务的监控和进度追踪
|
||||
|
||||
#### 3. User 权限同步集成系统
|
||||
- **权限元数据**: 同步 Salesforce User、Profile、PermissionSet、Role 等权限相关对象
|
||||
- **权限映射**: 将 Salesforce 权限映射到系统用户权限
|
||||
- **数据权限控制**: 基于用户权限控制数据访问范围
|
||||
- **权限同步**: 实时同步用户权限变更
|
||||
- **权限审计**: 权限变更的审计日志
|
||||
|
||||
#### 4. 集成可视化报表插件
|
||||
- **报表设计器**: 可视化拖拽式报表设计器,支持自定义报表布局
|
||||
- **数据源配置**: 支持从本地数据库和 Salesforce 系统配置数据源
|
||||
- **图表组件**: 提供丰富的图表类型(柱状图、折线图、饼图、表格等)
|
||||
- **数据筛选**: 支持动态筛选条件和参数化查询
|
||||
- **报表导出**: 支持导出为 PDF、Excel、图片等多种格式
|
||||
- **报表分享**: 支持报表分享和权限控制
|
||||
- **实时刷新**: 支持报表数据的实时刷新和定时更新
|
||||
- **报表模板**: 提供常用报表模板,快速生成标准报表
|
||||
|
||||
### 认证场景模块
|
||||
|
||||
- **OAuth 集成**: JustAuth 和微信 OAuth 登录
|
||||
- **双因子认证**: 邮箱和手机双因子认证
|
||||
- **用户管理**: OAuth 用户信息管理
|
||||
|
||||
|
||||
### 文件场景模块
|
||||
|
||||
- **本地存储**: 本地文件系统存储
|
||||
- **MinIO 存储**: MinIO 对象存储
|
||||
- **阿里云 OSS**: 阿里云对象存储服务
|
||||
- **文件管理**: 文件上传、下载和管理
|
||||
|
||||
### 插件模块
|
||||
|
||||
- **MyBatis Plus**: MyBatis 增强工具
|
||||
- **Redis 缓存**: Redis 分布式缓存
|
||||
- **Ehcache 缓存**: Ehcache 本地缓存
|
||||
- **RabbitMQ**: 消息队列中间件
|
||||
- **WebSocket**: WebSocket 实时通信
|
||||
- **Netty**: Netty 网络框架
|
||||
- **Atomikos**: 分布式事务管理
|
||||
|
||||
### 模型模块
|
||||
|
||||
- **Quartz**: 定时任务调度
|
||||
- **表单管理**: 动态表单生成和管理
|
||||
- **消息管理**: 系统消息管理
|
||||
- **代码生成器**: 代码自动生成工具
|
||||
- **在线用户**: 在线用户管理
|
||||
- **工作流**: Flowable 工作流引擎
|
||||
|
||||
## 快速开始
|
||||
|
||||
### 环境要求
|
||||
|
||||
- JDK 21+
|
||||
- Maven 3.6+
|
||||
- MySQL 8.3.0+ 或 PostgreSQL 42.7.7+
|
||||
- Redis(可选,用于缓存)
|
||||
|
||||
### 配置说明
|
||||
|
||||
#### 关键配置项
|
||||
|
||||
| 配置项 | 默认值 | 说明 |
|
||||
|--------|--------|------|
|
||||
| server.port | 8080 | 服务端口 |
|
||||
| datai.profile | D:/datai/uploadPath | 文件上传路径 |
|
||||
| datai.fileServer | local | 文件服务类型(local/minio/oss) |
|
||||
| datai.fileMaxSize | 50 | 文件上传最大大小(MB) |
|
||||
| spring.cache.type | redis | 缓存类型(redis/jcache) |
|
||||
| token.expireTime | 1440 | Token 有效期(分钟) |
|
||||
| pagehelper.helperDialect | mysql | 数据库方言 |
|
||||
|
||||
#### 启用配置文件
|
||||
|
||||
- `application-druid.yml`: 数据库连接池配置
|
||||
- `application-file.yml`: 文件服务配置
|
||||
- `application-auth.yml`: 认证配置
|
||||
- `application-pay.yml`: 支付配置
|
||||
- `application-plugins.yml`: 插件配置
|
||||
- `application-model.yml`: 模型配置
|
||||
- `application-apidoc.yml`: API 文档配置
|
||||
|
||||
### 构建项目
|
||||
|
||||
```bash
|
||||
mvn clean install
|
||||
```
|
||||
|
||||
### 运行项目
|
||||
|
||||
```bash
|
||||
cd datai-admin
|
||||
mvn spring-boot:run
|
||||
```
|
||||
|
||||
启动成功后,访问:
|
||||
- 应用地址: http://localhost:8080
|
||||
- API 文档: http://localhost:8080/doc.html
|
||||
|
||||
## 文档
|
||||
|
||||
### 项目规则
|
||||
|
||||
项目采用基于单一真源 (Single Source of Truth) 的 Workflow,所有项目相关文档和决策均集中在 `docs/` 目录中。
|
||||
|
||||
### Salesforce 模块文档
|
||||
|
||||
详细文档请参考 [Salesforce 集成模块文档中心](datai-scenes/datai-scene-salesforce/docs/index.md)
|
||||
|
||||
- **唯一入口**: [datai-scene-salesforce/docs/index.md](datai-scenes/datai-scene-salesforce/docs/index.md)
|
||||
- **架构看板**: [datai-scene-salesforce/docs/Authentication.canvas](datai-scenes/datai-scene-salesforce/docs/Authentication.canvas)
|
||||
- **接口文档**: [datai-scene-salesforce/docs/api-docs/](datai-scenes/datai-scene-salesforce/docs/api-docs/)
|
||||
|
||||
### 文档目录
|
||||
|
||||
- **需求文档**: [datai-scenes/datai-scene-salesforce/docs/requirements/](datai-scenes/datai-scene-salesforce/docs/requirements/)
|
||||
- **设计文档**: [datai-scenes/datai-scene-salesforce/docs/design/](datai-scenes/datai-scene-salesforce/docs/design/)
|
||||
- **架构决策**: [datai-scenes/datai-scene-salesforce/docs/decisions/adr/](datai-scenes/datai-scene-salesforce/docs/decisions/adr/)
|
||||
- **提示词库**: [datai-scenes/datai-scene-salesforce/docs/prompts/](datai-scenes/datai-scene-salesforce/docs/prompts/)
|
||||
- **会话记录**: [datai-scenes/datai-scene-salesforce/docs/sessions/](datai-scenes/datai-scene-salesforce/docs/sessions/)
|
||||
- **变更日志**: [datai-scenes/datai-scene-salesforce/docs/changelog/](datai-scenes/datai-scene-salesforce/docs/changelog/)
|
||||
|
||||
## 贡献指南
|
||||
|
||||
请参考 [CONTRIBUTING.md](CONTRIBUTING.md) 了解如何参与项目贡献。
|
||||
|
||||
## 变更日志
|
||||
|
||||
请参考 [CHANGELOG.md](CHANGELOG.md) 查看项目变更记录。
|
||||
|
||||
## 许可证
|
||||
|
||||
本项目基于若依Geek框架开发,遵循相应的开源许可证。
|
||||
|
||||
## 联系方式
|
||||
|
||||
- 项目地址: https://gitee.com/geek-xd/datai-springboot3.git
|
||||
- 文档中心: [datai-scenes/datai-scene-salesforce/docs/index.md](datai-scenes/datai-scene-salesforce/docs/index.md)
|
||||
|
||||
@ -163,7 +163,7 @@ curl -X GET "http://localhost:8080/integration/apilog/statistics?apiType=REST&st
|
||||
### 测试环境
|
||||
|
||||
- **环境**: 开发环境
|
||||
- **版本**: v3.8.9-G
|
||||
- **版本**: v1.0.0
|
||||
|
||||
### 测试用例
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user