diff --git a/LICENSE b/LICENSE index 82a4eaa..f49a4e1 100644 --- a/LICENSE +++ b/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. \ No newline at end of file diff --git a/README.md b/README.md index ab227dc..0484699 100644 --- a/README.md +++ b/README.md @@ -1,132 +1,277 @@ -

- - logo - - + - - logo - -

-

datai v3.8.7.3.2

-

基于SpringBoot3+Vue3前后端分离的Java快速开发框架

-

- -

+# 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 过滤器的查询和管理 - - - - - - - - - - - - - - - - - -
+#### 批次管理 +- **批次创建**: 创建数据同步批次 +- **批次数据插入**: 将本地数据插入到 Salesforce,保存返回 ID +- **批次数据更新**: 使用保存的 ID 更新 Salesforce 数据 +- **批次重试**: 失败批次的重试机制 +- **批次历史**: 批次操作历史记录 -### 原有功能演示 +#### 实时同步 +- **Pub/Sub API**: Salesforce Event Bus 实时数据订阅 +- **事件处理**: CDC 事件的接收和处理 +- **数据同步**: 实时数据同步到本地数据库 +- **服务管理**: 实时同步服务的启动、停止和重启 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+#### 监控日志 +- **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) diff --git a/doc/salesforce/integration/0001-api-call-log-statistics.md b/doc/salesforce/integration/0001-api-call-log-statistics.md index d57ee58..cd5d5c7 100644 --- a/doc/salesforce/integration/0001-api-call-log-statistics.md +++ b/doc/salesforce/integration/0001-api-call-log-statistics.md @@ -163,7 +163,7 @@ curl -X GET "http://localhost:8080/integration/apilog/statistics?apiType=REST&st ### 测试环境 - **环境**: 开发环境 -- **版本**: v3.8.9-G +- **版本**: v1.0.0 ### 测试用例