diff --git a/.gitignore b/.gitignore index 13261bec..f5f9a2a9 100644 --- a/.gitignore +++ b/.gitignore @@ -59,3 +59,4 @@ effective-pom.xml /.trae/ /datai-scenes/datai-scene-salesforce/docs/reference-code/ /docs/ +/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/resources/lib/ diff --git a/datai-scenes/datai-scene-salesforce/datai-salesforce-auth/pom.xml b/datai-scenes/datai-scene-salesforce/datai-salesforce-auth/pom.xml index c04e93d5..770511e7 100644 --- a/datai-scenes/datai-scene-salesforce/datai-salesforce-auth/pom.xml +++ b/datai-scenes/datai-scene-salesforce/datai-salesforce-auth/pom.xml @@ -17,4 +17,12 @@ UTF-8 + + + com.datai + datai-salesforce-common + 1.0.0 + + + \ No newline at end of file diff --git a/datai-scenes/datai-scene-salesforce/datai-salesforce-auth/src/main/java/com/datai/salesforceauth/model/domain/DataiSfSystemConfig.java b/datai-scenes/datai-scene-salesforce/datai-salesforce-auth/src/main/java/com/datai/salesforceauth/model/domain/DataiSfSystemConfig.java index ec06ab31..ad3b3337 100644 --- a/datai-scenes/datai-scene-salesforce/datai-salesforce-auth/src/main/java/com/datai/salesforceauth/model/domain/DataiSfSystemConfig.java +++ b/datai-scenes/datai-scene-salesforce/datai-salesforce-auth/src/main/java/com/datai/salesforceauth/model/domain/DataiSfSystemConfig.java @@ -1,4 +1,4 @@ -package com.datai.salesforceauth.domain; +package com.datai.salesforceauth.model.domain; import java.time.LocalDateTime; import com.fasterxml.jackson.annotation.JsonFormat; diff --git a/datai-scenes/datai-scene-salesforce/datai-salesforce-auth/src/main/java/com/datai/salesforceauth/model/dto/DataiSfSystemConfigDto.java b/datai-scenes/datai-scene-salesforce/datai-salesforce-auth/src/main/java/com/datai/salesforceauth/model/dto/DataiSfSystemConfigDto.java index ef879535..26492c5f 100644 --- a/datai-scenes/datai-scene-salesforce/datai-salesforce-auth/src/main/java/com/datai/salesforceauth/model/dto/DataiSfSystemConfigDto.java +++ b/datai-scenes/datai-scene-salesforce/datai-salesforce-auth/src/main/java/com/datai/salesforceauth/model/dto/DataiSfSystemConfigDto.java @@ -1,4 +1,4 @@ -package com.datai.salesforceauth.model.dto.dataiSfSystemConfig; +package com.datai.salesforceauth.model.dto; import java.io.Serializable; import java.util.Map; diff --git a/datai-scenes/datai-scene-salesforce/datai-salesforce-auth/src/main/java/com/datai/salesforceauth/model/vo/DataiSfSystemConfigVo.java b/datai-scenes/datai-scene-salesforce/datai-salesforce-auth/src/main/java/com/datai/salesforceauth/model/vo/DataiSfSystemConfigVo.java index d1c1b090..276b5a42 100644 --- a/datai-scenes/datai-scene-salesforce/datai-salesforce-auth/src/main/java/com/datai/salesforceauth/model/vo/DataiSfSystemConfigVo.java +++ b/datai-scenes/datai-scene-salesforce/datai-salesforce-auth/src/main/java/com/datai/salesforceauth/model/vo/DataiSfSystemConfigVo.java @@ -1,4 +1,4 @@ -package com.datai.salesforceauth.model.vo.dataiSfSystemConfig; +package com.datai.salesforceauth.model.vo; import java.io.Serializable; import java.util.Date; diff --git a/datai-scenes/datai-scene-salesforce/datai-salesforce-common/DEPENDENCIES.md b/datai-scenes/datai-scene-salesforce/datai-salesforce-common/DEPENDENCIES.md new file mode 100644 index 00000000..ca4ec0aa --- /dev/null +++ b/datai-scenes/datai-scene-salesforce/datai-salesforce-common/DEPENDENCIES.md @@ -0,0 +1,218 @@ +# Salesforce Common 模块依赖说明 + +## 概述 +本文档详细说明 `datai-salesforce-common` 模块中所有依赖的用途和版本信息。 + +## Salesforce 核心 JAR 包(本地依赖) + +### 1. partner.jar +- **Maven 坐标**: `com.force.api:partner:57.0.0` +- **类型**: 本地 JAR 包(system scope) +- **路径**: `src/main/resources/lib/partner.jar` +- **用途**: Salesforce Partner API + - 提供对 Salesforce 数据的访问接口 + - 支持标准的 CRUD 操作 + - 支持查询、搜索、批量操作 + - 适用于大多数数据访问场景 + +### 2. metadata.jar +- **Maven 坐标**: `com.force.api:metadata:57.0.0` +- **类型**: 本地 JAR 包(system scope) +- **路径**: `src/main/resources/lib/metadata.jar` +- **用途**: Salesforce Metadata API + - 提供对 Salesforce 元数据的访问接口 + - 支持自定义对象的创建、修改、删除 + - 支持字段、页面、布局的元数据操作 + - 适用于动态配置和部署场景 + +### 3. tooling.jar +- **Maven 坐标**: `com.force.api:tooling:57.0.0` +- **类型**: 本地 JAR 包(system scope) +- **路径**: `src/main/resources/lib/tooling.jar` +- **用途**: Salesforce Tooling API + - 提供对开发工具的访问接口 + - 支持代码部署、测试、调试 + - 支持开发者工具集成 + - 适用于开发和管理场景 + +### 4. apex.jar +- **Maven 坐标**: `com.force.api:apex:57.0.0` +- **类型**: 本地 JAR 包(system scope) +- **路径**: `src/main/resources/lib/apex.jar` +- **用途**: Salesforce Apex API + - 提供 Apex 代码的执行接口 + - 支持异步执行、批处理 + - 支持调用 Apex 类和方法 + - 适用于业务逻辑执行场景 + +## 传输层依赖 + +### 5. force-wsc +- **Maven 坐标**: `com.force.api:force-wsc:57.0.0` +- **类型**: Maven 仓库依赖 +- **用途**: Force.com Web Services Connector + - 提供 SOAP Web 服务客户端 + - 处理与 Salesforce 的通信 + - 支持 WS-Security 认证 + - 是所有 Salesforce API 的基础通信层 + +### 6. httpclient +- **Maven 坐标**: `org.apache.httpcomponents:httpclient:4.5.14` +- **类型**: Maven 仓库依赖 +- **用途**: Apache HTTP Client + - 提供高性能 HTTP 客户端 + - 支持连接池、重试机制 + - 支持多种认证方式 + - 用于与 Salesforce API 进行 HTTP 通信 + +### 7. httpcore +- **Maven 坐标**: `org.apache.httpcomponents:httpcore:4.4.16` +- **类型**: Maven 仓库依赖 +- **用途**: Apache HTTP Core + - 提供 HTTP 协议核心实现 + - 支持同步和异步 I/O + - 支持连接管理 + - 是 httpclient 的基础依赖 + +## JSON 处理依赖 + +### 8. jackson-databind +- **Maven 坐标**: `com.fasterxml.jackson.core:jackson-databind:2.15.3` +- **类型**: Maven 仓库依赖 +- **用途**: Jackson 数据绑定 + - 提供 JSON 对象序列化和反序列化 + - 支持复杂对象映射 + - 支持 JSON 到 Java 对象的转换 + - 用于处理 Salesforce API 返回的 JSON 数据 + +### 9. jackson-core +- **Maven 坐标**: `com.fasterxml.jackson.core:jackson-core:2.15.3` +- **类型**: Maven 仓库依赖 +- **用途**: Jackson 核心库 + - 提供 JSON 解析和生成 + - 支持流式处理 + - 是 jackson-databind 的基础依赖 + +### 10. jackson-annotations +- **Maven 坐标**: `com.fasterxml.jackson.core:jackson-annotations:2.15.3` +- **类型**: Maven 仓库依赖 +- **用途**: Jackson 注解 + - 提供 JSON 序列化/反序列化注解 + - 支持 @JsonProperty、@JsonIgnore 等 + - 是 jackson-databind 的基础依赖 + +## 日志依赖 + +### 11. slf4j-api +- **Maven 坐标**: `org.slf4j:slf4j-api:2.0.9` +- **类型**: Maven 仓库依赖 +- **用途**: SLF4J 日志门面 + - 提供统一的日志接口 + - 支持多种日志实现切换 + - 提供占位符、参数化日志 + - 用于记录 Salesforce API 调用日志 + +### 12. logback-classic +- **Maven 坐标**: `ch.qos.logback:logback-classic:1.4.11` +- **类型**: Maven 仓库依赖 +- **用途**: Logback 日志实现 + - 提供 SLF4J 的日志实现 + - 支持多种输出格式 + - 支持日志滚动、归档 + - 用于实际的日志输出 + +## XML 处理依赖 + +### 13. dom4j +- **Maven 坐标**: `org.dom4j:dom4j:2.1.4` +- **类型**: Maven 仓库依赖 +- **用途**: DOM4J XML 解析器 + - 提供高效的 XML 解析和处理 + - 支持 XPath 查询 + - 支持 DOM、SAX 两种模式 + - 用于处理 Salesforce SOAP API 的 XML 消息 + +### 14. jaxb-api +- **Maven 坐标**: `javax.xml.bind:jaxb-api:2.3.1` +- **类型**: Maven 仓库依赖 +- **用途**: JAXB API + - 提供 Java 对象到 XML 的绑定 + - 支持 XML Schema 生成 + - 提供 @XmlRootElement 等注解 + - 用于处理 Salesforce SOAP API 的 XML 数据 + +### 15. jaxb-runtime +- **Maven 坐标**: `org.glassfish.jaxb:jaxb-runtime:2.3.1` +- **类型**: Maven 仓库依赖 +- **用途**: JAXB 运行时 + - 提供 JAXB API 的实现 + - 支持 XML 序列化和反序列化 + - 是 jaxb-api 的基础依赖 + - 用于实际的 XML 处理 + +## 依赖关系图 + +``` +datai-salesforce-common +├── Salesforce 核心 JAR 包 +│ ├── partner.jar (Partner API) +│ ├── metadata.jar (Metadata API) +│ ├── tooling.jar (Tooling API) +│ └── apex.jar (Apex API) +│ +├── 传输层 +│ ├── force-wsc (Web Services Connector) +│ ├── httpclient (HTTP Client) +│ └── httpcore (HTTP Core) +│ +├── JSON 处理 +│ ├── jackson-databind +│ ├── jackson-core +│ └── jackson-annotations +│ +├── 日志 +│ ├── slf4j-api +│ └── logback-classic +│ +└── XML 处理 + ├── dom4j + ├── jaxb-api + └── jaxb-runtime +``` + +## 使用场景 + +### 1. 数据访问场景 +使用 `partner.jar` 进行标准的 CRUD 操作: +- 查询 Account、Contact 等对象 +- 创建、更新、删除记录 +- 批量操作 + +### 2. 元数据管理场景 +使用 `metadata.jar` 管理自定义对象和字段: +- 创建自定义对象 +- 添加自定义字段 +- 部署元数据 + +### 3. 开发工具场景 +使用 `tooling.jar` 进行开发和管理: +- 部署 Apex 代码 +- 运行单元测试 +- 调试代码 + +### 4. 业务逻辑执行场景 +使用 `apex.jar` 执行业务逻辑: +- 调用 Apex 类方法 +- 执行异步操作 +- 批量处理数据 + +## 注意事项 + +1. **本地 JAR 包版本**: 当前假设版本为 57.0.0,如果您的 JAR 包版本不同,请更新 pom.xml 中的版本号 +2. **system scope**: 本地 JAR 包使用 system scope,打包时需要确保 JAR 包存在 +3. **依赖传递**: 其他模块依赖 `datai-salesforce-common` 后,会自动获得所有这些依赖 +4. **版本兼容性**: 确保所有依赖版本之间兼容,避免冲突 + +## 更新日志 + +- 2026-01-21: 初始版本,添加所有 Salesforce 集成相关依赖 diff --git a/datai-scenes/datai-scene-salesforce/datai-salesforce-common/pom.xml b/datai-scenes/datai-scene-salesforce/datai-salesforce-common/pom.xml index b0f83881..12beae06 100644 --- a/datai-scenes/datai-scene-salesforce/datai-salesforce-common/pom.xml +++ b/datai-scenes/datai-scene-salesforce/datai-salesforce-common/pom.xml @@ -17,4 +17,122 @@ UTF-8 - \ No newline at end of file + + + + com.datai + datai-common + + + + commons-beanutils + commons-beanutils + 1.9.4 + + + + com.force.api + force-wsc + 58.0.0 + + + + com.force.api + partner + 57.0.0 + system + ${project.basedir}/src/main/resources/lib/partner.jar + + + + com.force.api + metadata + 57.0.0 + system + ${project.basedir}/src/main/resources/lib/metadata.jar + + + + com.force.api + tooling + 57.0.0 + system + ${project.basedir}/src/main/resources/lib/tooling.jar + + + + com.force.api + apex + 57.0.0 + system + ${project.basedir}/src/main/resources/lib/apex.jar + + + + com.force.api + force-wsc + 57.0.0 + + + + org.apache.httpcomponents + httpclient + 4.5.14 + + + + org.apache.httpcomponents + httpcore + 4.4.16 + + + + com.fasterxml.jackson.core + jackson-databind + 2.15.3 + + + + com.fasterxml.jackson.core + jackson-core + 2.15.3 + + + + com.fasterxml.jackson.core + jackson-annotations + 2.15.3 + + + + org.slf4j + slf4j-api + 2.0.9 + + + + ch.qos.logback + logback-classic + 1.4.11 + + + + org.dom4j + dom4j + 2.1.4 + + + + javax.xml.bind + jaxb-api + 2.3.1 + + + + org.glassfish.jaxb + jaxb-runtime + 2.3.1 + + + + diff --git a/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/BatchSizeLimitException.java b/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/BatchSizeLimitException.java index 82ee2afe..1d23a977 100644 --- a/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/BatchSizeLimitException.java +++ b/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/BatchSizeLimitException.java @@ -1,4 +1,4 @@ -package com.datai.common.exception; +package exception; /** * 批处理大小限制异常类 diff --git a/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/ConfigInitializationException.java b/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/ConfigInitializationException.java index 9101209c..a01ce36a 100644 --- a/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/ConfigInitializationException.java +++ b/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/ConfigInitializationException.java @@ -1,4 +1,4 @@ -package com.datai.common.exception; +package exception; /** * 配置初始化异常类 diff --git a/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/ControllerInitializationException.java b/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/ControllerInitializationException.java index 398510ba..c387b61e 100644 --- a/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/ControllerInitializationException.java +++ b/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/ControllerInitializationException.java @@ -1,5 +1,5 @@ -package com.datai.common.exception; +package exception; /** * 控制器初始化异常类 diff --git a/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/DataAccessObjectException.java b/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/DataAccessObjectException.java index 6c18197e..7ac384d2 100644 --- a/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/DataAccessObjectException.java +++ b/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/DataAccessObjectException.java @@ -1,4 +1,4 @@ -package com.datai.common.exception; +package exception; /** * 数据访问对象异常类 diff --git a/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/DataAccessObjectInitializationException.java b/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/DataAccessObjectInitializationException.java index ae68c965..d9d04989 100644 --- a/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/DataAccessObjectInitializationException.java +++ b/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/DataAccessObjectInitializationException.java @@ -1,5 +1,5 @@ -package com.datai.common.exception; +package exception; /** * 数据访问对象初始化异常类 diff --git a/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/DataAccessRowException.java b/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/DataAccessRowException.java index 8badafeb..596289a1 100644 --- a/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/DataAccessRowException.java +++ b/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/DataAccessRowException.java @@ -23,7 +23,7 @@ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ -package com.datai.common.exception; +package exception; /** * 数据访问行异常类 diff --git a/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/ExtractException.java b/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/ExtractException.java index 8c3d7187..514ac3ef 100644 --- a/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/ExtractException.java +++ b/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/ExtractException.java @@ -1,4 +1,4 @@ -package com.datai.common.exception; +package exception; /** * 数据提取异常类 diff --git a/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/ExtractExceptionOnServer.java b/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/ExtractExceptionOnServer.java index dd96511a..d193834b 100644 --- a/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/ExtractExceptionOnServer.java +++ b/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/ExtractExceptionOnServer.java @@ -1,4 +1,4 @@ -package com.datai.common.exception; +package exception; /** * 服务器端数据提取异常类 diff --git a/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/HttpClientTransportException.java b/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/HttpClientTransportException.java index d17d703c..43874553 100644 --- a/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/HttpClientTransportException.java +++ b/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/HttpClientTransportException.java @@ -1,4 +1,4 @@ -package com.datai.common.exception; +package exception; import java.io.IOException; diff --git a/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/LoadException.java b/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/LoadException.java index 940bc278..e204e904 100644 --- a/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/LoadException.java +++ b/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/LoadException.java @@ -1,4 +1,4 @@ -package com.datai.common.exception; +package exception; /** * 数据加载异常类 diff --git a/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/LoadExceptionOnServer.java b/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/LoadExceptionOnServer.java index 260ced25..5fe35da1 100644 --- a/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/LoadExceptionOnServer.java +++ b/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/LoadExceptionOnServer.java @@ -1,4 +1,4 @@ -package com.datai.common.exception; +package exception; /** * 服务器端数据加载异常类 diff --git a/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/MappingInitializationException.java b/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/MappingInitializationException.java index 844c0164..7a571b09 100644 --- a/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/MappingInitializationException.java +++ b/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/MappingInitializationException.java @@ -1,4 +1,4 @@ -package com.datai.common.exception; +package exception; /** * 映射初始化异常类 diff --git a/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/NotLoggedInException.java b/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/NotLoggedInException.java index f60422fc..7e91f9a4 100644 --- a/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/NotLoggedInException.java +++ b/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/NotLoggedInException.java @@ -1,4 +1,4 @@ -package com.datai.common.exception; +package exception; /** * 未登录异常类 diff --git a/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/OAuthBrowserLoginRunnerException.java b/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/OAuthBrowserLoginRunnerException.java index 4323278a..164fa425 100644 --- a/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/OAuthBrowserLoginRunnerException.java +++ b/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/OAuthBrowserLoginRunnerException.java @@ -1,4 +1,4 @@ -package com.datai.common.exception; +package exception; /** * OAuth浏览器登录运行异常类 diff --git a/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/OperationException.java b/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/OperationException.java index 9164f448..ade88379 100644 --- a/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/OperationException.java +++ b/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/OperationException.java @@ -1,4 +1,4 @@ -package com.datai.common.exception; +package exception; /** * 操作异常类 diff --git a/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/OperationInitializationException.java b/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/OperationInitializationException.java index dffbcd42..ac0bb9c2 100644 --- a/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/OperationInitializationException.java +++ b/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/OperationInitializationException.java @@ -1,4 +1,4 @@ -package com.datai.common.exception; +package exception; /** * 操作初始化异常类 diff --git a/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/ParameterLoadException.java b/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/ParameterLoadException.java index 40ecdc8b..a1013fd0 100644 --- a/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/ParameterLoadException.java +++ b/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/ParameterLoadException.java @@ -1,4 +1,4 @@ -package com.datai.common.exception; +package exception; /** * 参数加载异常类 diff --git a/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/PasswordExpiredException.java b/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/PasswordExpiredException.java index 61c58ffa..f3a1b9cc 100644 --- a/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/PasswordExpiredException.java +++ b/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/PasswordExpiredException.java @@ -1,4 +1,4 @@ -package com.datai.common.exception; +package exception; import com.sforce.ws.ConnectionException; diff --git a/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/ProcessInitializationException.java b/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/ProcessInitializationException.java index 3a0f3c0f..71845e6e 100644 --- a/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/ProcessInitializationException.java +++ b/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/ProcessInitializationException.java @@ -1,4 +1,4 @@ -package com.datai.common.exception; +package exception; /** * 进程初始化异常类 diff --git a/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/RateLimitExceededException.java b/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/RateLimitExceededException.java index 443fa79e..f76b5930 100644 --- a/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/RateLimitExceededException.java +++ b/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/RateLimitExceededException.java @@ -1,4 +1,4 @@ -package com.datai.common.exception; +package exception; /** * API限流异常 diff --git a/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/RelationshipFormatException.java b/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/RelationshipFormatException.java index 1b4758aa..bd538821 100644 --- a/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/RelationshipFormatException.java +++ b/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/RelationshipFormatException.java @@ -1,5 +1,5 @@ -package com.datai.common.exception; +package exception; /** * 关系字段格式异常类 diff --git a/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/SalesforceAuthException.java b/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/SalesforceAuthException.java index a559f969..77a76850 100644 --- a/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/SalesforceAuthException.java +++ b/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/SalesforceAuthException.java @@ -1,4 +1,4 @@ -package com.datai.common.exception; +package exception; /** * Salesforce认证异常类 diff --git a/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/SalesforceCliLoginException.java b/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/SalesforceCliLoginException.java index 86b44416..3b400318 100644 --- a/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/SalesforceCliLoginException.java +++ b/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/SalesforceCliLoginException.java @@ -1,4 +1,4 @@ -package com.datai.common.exception; +package exception; /** * Salesforce CLI登录异常类 diff --git a/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/SalesforceLegacyCredentialLoginException.java b/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/SalesforceLegacyCredentialLoginException.java index 810fb1ac..618b4fcf 100644 --- a/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/SalesforceLegacyCredentialLoginException.java +++ b/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/SalesforceLegacyCredentialLoginException.java @@ -1,4 +1,4 @@ -package com.datai.common.exception; +package exception; /** * Salesforce传统凭据登录异常类 diff --git a/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/SalesforceLoginException.java b/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/SalesforceLoginException.java index ee08a837..6149d932 100644 --- a/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/SalesforceLoginException.java +++ b/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/SalesforceLoginException.java @@ -1,4 +1,4 @@ -package com.datai.common.exception; +package exception; /** * Salesforce登录异常类 diff --git a/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/SalesforceOAuthException.java b/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/SalesforceOAuthException.java index f2a90efb..340ae2ba 100644 --- a/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/SalesforceOAuthException.java +++ b/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/SalesforceOAuthException.java @@ -1,4 +1,4 @@ -package com.datai.common.exception; +package exception; /** * Salesforce OAuth异常类 diff --git a/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/SalesforceSessionIdLoginException.java b/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/SalesforceSessionIdLoginException.java index ab965b11..06b9b6c5 100644 --- a/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/SalesforceSessionIdLoginException.java +++ b/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/SalesforceSessionIdLoginException.java @@ -1,4 +1,4 @@ -package com.datai.common.exception; +package exception; /** * Salesforce Session ID登录异常类 diff --git a/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/UnsupportedDataAccessObjectException.java b/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/UnsupportedDataAccessObjectException.java index 7a4b4dae..77fbfc34 100644 --- a/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/UnsupportedDataAccessObjectException.java +++ b/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/UnsupportedDataAccessObjectException.java @@ -1,4 +1,4 @@ -package com.datai.common.exception; +package exception; /** * 不支持的数据访问对象异常类 diff --git a/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/UnsupportedOperationException.java b/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/UnsupportedOperationException.java index d32548d9..e8bf0fe3 100644 --- a/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/UnsupportedOperationException.java +++ b/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/UnsupportedOperationException.java @@ -1,4 +1,4 @@ -package com.datai.common.exception; +package exception; /** * 不支持的操作异常类 diff --git a/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/XmlBeanFactoryException.java b/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/XmlBeanFactoryException.java index 146d1d94..7a871b7f 100644 --- a/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/XmlBeanFactoryException.java +++ b/datai-scenes/datai-scene-salesforce/datai-salesforce-common/src/main/java/exception/XmlBeanFactoryException.java @@ -1,4 +1,4 @@ -package com.datai.common.exception; +package exception; /** * XML Bean工厂异常类 diff --git a/datai-scenes/datai-scene-salesforce/datai-salesforce-starter/pom.xml b/datai-scenes/datai-scene-salesforce/datai-salesforce-starter/pom.xml index 1e1672d2..29c05fb2 100644 --- a/datai-scenes/datai-scene-salesforce/datai-salesforce-starter/pom.xml +++ b/datai-scenes/datai-scene-salesforce/datai-salesforce-starter/pom.xml @@ -17,4 +17,12 @@ UTF-8 + + + com.datai + datai-salesforce-common + 1.0.0 + + + \ No newline at end of file diff --git a/datai-scenes/datai-scene-salesforce/pom.xml b/datai-scenes/datai-scene-salesforce/pom.xml index 26a10a5e..c70c4d18 100644 --- a/datai-scenes/datai-scene-salesforce/pom.xml +++ b/datai-scenes/datai-scene-salesforce/pom.xml @@ -10,6 +10,12 @@ datai-scene-salesforce + pom + + datai-salesforce-starter + datai-salesforce-auth + datai-salesforce-common + 22 diff --git a/datai-scenes/datai-scene-starter/pom.xml b/datai-scenes/datai-scene-starter/pom.xml index a85cf593..c4f1a515 100644 --- a/datai-scenes/datai-scene-starter/pom.xml +++ b/datai-scenes/datai-scene-starter/pom.xml @@ -32,9 +32,9 @@ com.datai datai-file-starter - - - - + + com.datai + datai-salesforce-starter + diff --git a/datai-scenes/pom.xml b/datai-scenes/pom.xml index 37379697..5be666c3 100644 --- a/datai-scenes/pom.xml +++ b/datai-scenes/pom.xml @@ -10,8 +10,6 @@ datai-scenes - - @@ -42,11 +40,11 @@ ${datai.version} - - - - - + + com.datai + datai-salesforce-starter + ${datai.version} + @@ -56,7 +54,7 @@ datai-scene-file datai-scene-starter - + datai-scene-salesforce pom diff --git a/docs/Authentication.canvas b/docs/Authentication.canvas index 03e1c37d..41829d30 100644 --- a/docs/Authentication.canvas +++ b/docs/Authentication.canvas @@ -5,7 +5,7 @@ {"id":"node_framework_module","type":"text","text":"## 📦 核心框架模块 (datai-framework)\n> [!info] 职责描述\n> 系统核心框架,提供AOP、配置、数据源、安全等基础功能\n\n### 核心组件\n- **AOP切面**: 数据权限、数据源切换、日志记录等\n- **配置**: Druid、MyBatis、安全配置等\n- **数据源**: 动态数据源管理、延迟加载支持\n- **拦截器**: 重复提交拦截器\n- **管理器**: 异步任务管理器、数据源管理器等\n- **安全**: 权限管理、登录服务、令牌服务等\n\n**设计意图**:提供系统的核心框架功能,支撑业务模块的运行","parentNode":"group_framework","x":-800,"y":1000,"width":500,"height":400,"color":"4"}, {"id":"node_models_module","type":"text","text":"## 📦 模型模块集合 (datai-models)\n> [!info] 职责描述\n> 包含多个业务模型模块,支持不同的业务场景\n\n### 子模块\n- **datai-flowable**: 工作流模块\n- **datai-form**: 表单模块\n- **datai-generator**: 代码生成器模块\n- **datai-message**: 消息模块\n- **datai-online**: 在线开发模块\n- **datai-quartz**: 定时任务模块\n\n**设计意图**:模块化设计,支持不同业务场景的快速集成和扩展","parentNode":"group_models","x":-800,"y":1500,"width":500,"height":300,"color":"4"}, {"id":"node_plugins_module","type":"text","text":"## 📦 插件模块集合 (datai-plugins)\n> [!info] 职责描述\n> 提供各种插件支持,增强系统功能\n\n### 子模块\n- **datai-atomikos**: Atomikos事务管理\n- **datai-cache-ehcache**: Ehcache缓存实现\n- **datai-cache-redis**: Redis缓存实现\n- **datai-mybatis-interceptor**: MyBatis拦截器\n- **datai-mybatis-jpa**: MyBatis JPA支持\n- **datai-mybatis-plus**: MyBatis Plus支持\n- **datai-netty**: Netty通信框架\n- **datai-rabbitmq**: RabbitMQ消息队列\n- **datai-websocket**: WebSocket支持\n\n**设计意图**:插件化设计,支持功能的灵活扩展和替换","parentNode":"group_plugins","x":-800,"y":1900,"width":500,"height":350,"color":"4"}, - {"id":"node_scenes_module","type":"text","text":"## 📦 场景模块集合 (datai-scenes)\n> [!info] 职责描述\n> 提供特定业务场景的解决方案\n\n### 子模块\n- **datai-scene-auth**: 认证场景模块\n - OAuth2/JustAuth认证\n - 双因素认证(邮箱/手机)\n- **datai-scene-file**: 文件场景模块\n - 本地文件存储\n - 阿里云OSS\n - MinIO存储\n- **datai-scene-pay**: 支付场景模块\n - 支付宝支付\n - 微信支付\n - 收钱吧支付\n\n**设计意图**:针对特定业务场景提供完整的解决方案,方便快速集成","parentNode":"group_scenes","x":-800,"y":2350,"width":500,"height":350,"color":"4"}, + {"id":"node_scenes_module","type":"text","text":"## 📦 场景模块集合 (datai-scenes)\n> [!info] 职责描述\n> 提供特定业务场景的解决方案\n\n### 子模块\n- **datai-scene-auth**: 认证场景模块\n - OAuth2/JustAuth认证\n - 双因素认证(邮箱/手机)\n- **datai-scene-file**: 文件场景模块\n - 本地文件存储\n - 阿里云OSS\n - MinIO存储\n- **datai-scene-pay**: 支付场景模块\n - 支付宝支付\n - 微信支付\n - 收钱吧支付\n- **datai-scene-salesforce**: Salesforce 场景模块\n - **datai-salesforce-common**: Salesforce 通用组件\n - Salesforce JAR 包集成\n - Salesforce API 封装\n - Salesforce 工具类\n - **datai-salesforce-auth**: Salesforce 认证组件\n - 多系统认证\n - 策略模式登录(OAuth2/Session ID)\n - 源 org 和目标 org 区分\n - 登录历史记录\n - 缓存管理\n - 错误码映射\n - **datai-salesforce-starter**: Salesforce 启动器\n - 自动配置\n - 依赖注入\n\n**设计意图**:针对特定业务场景提供完整的解决方案,方便快速集成","parentNode":"group_scenes","x":-800,"y":2350,"width":500,"height":500,"color":"4"}, {"id":"node_system_module","type":"text","text":"## 📦 系统核心模块 (datai-system)\n> [!info] 职责描述\n> 系统核心功能模块,提供用户、角色、权限、字典等基础功能\n\n### 核心组件\n- **领域模型**: 用户、角色、菜单、部门、岗位、字典等\n- **Mapper层**: 数据访问接口\n- **Service层**: 业务逻辑实现\n\n**设计意图**:提供系统的核心业务功能,支撑其他模块的运行","parentNode":"group_system","x":-800,"y":2800,"width":500,"height":300,"color":"4"}, {"id":"node_auth_controller","type":"text","text":"## 认证控制器\n> [!info] 职责描述\n> 处理系统登录、登出、注册等认证相关请求\n\n### 核心控制器\n- **SysLoginController**: 登录控制器\n- **SysRegisterController**: 注册控制器\n- **SysProfileController**: 用户信息控制器\n\n### 核心功能\n- 用户名密码登录\n- 验证码生成与验证\n- 登录信息管理\n- 用户注册\n\n**设计意图**:提供系统认证相关的REST API接口,支持用户登录、登出和注册功能","parentNode":"group_admin","x":100,"y":100,"width":500,"height":300,"color":"5"}, {"id":"node_system_controller","type":"text","text":"## 系统管理控制器\n> [!info] 职责描述\n> 处理系统管理相关请求\n\n### 核心控制器\n- **SysUserController**: 用户管理\n- **SysRoleController**: 角色管理\n- **SysMenuController**: 菜单管理\n- **SysDeptController**: 部门管理\n- **SysPostController**: 岗位管理\n- **SysDictTypeController**: 字典类型管理\n- **SysDictDataController**: 字典数据管理\n- **SysConfigController**: 配置管理\n- **SysNoticeController**: 通知公告管理\n\n**设计意图**:提供系统管理相关的REST API接口,支持用户、角色、权限等核心功能管理","parentNode":"group_admin","x":100,"y":500,"width":500,"height":400,"color":"5"}, diff --git a/docs/api-docs/README.md b/docs/api-docs/README.md index 7c632595..6b105e76 100644 --- a/docs/api-docs/README.md +++ b/docs/api-docs/README.md @@ -31,7 +31,8 @@ *暂无文档* #### datai-scenes -*暂无文档* +- [2026-01-21-003-01-api](./2026-01-21-003-01-api.md) - Salesforce 多系统配置 API 文档 +- [2026-01-21-003-02-api](./2026-01-21-003-02-api.md) - Salesforce 策略模式登录 API 文档 #### datai-system - [2026-01-21-001-api](./2026-01-21-001-api.md) - 动态数据源延迟加载 API 文档 diff --git a/docs/changelog/README.md b/docs/changelog/README.md index 64248069..4ec9c2ae 100644 --- a/docs/changelog/README.md +++ b/docs/changelog/README.md @@ -10,6 +10,8 @@ ## 变更日志列表 - [2026-01-21-001-changelog](./2026-01-21-001-changelog.md) - 动态数据源延迟加载变更记录 +- [2026-01-21-003-01-changelog](./2026-01-21-003-01-changelog.md) - Salesforce 多系统配置变更记录 +- [2026-01-21-003-02-changelog](./2026-01-21-003-02-changelog.md) - Salesforce 策略模式登录变更记录 ## 返回主索引 [返回项目单一真源](../index.md) \ No newline at end of file diff --git a/docs/decisions/README.md b/docs/decisions/README.md index 008bbfaa..7dcc6725 100644 --- a/docs/decisions/README.md +++ b/docs/decisions/README.md @@ -10,6 +10,8 @@ ## 决策记录列表 - [ADR-001: 动态数据源延迟加载架构决策](./2026-01-21-001-ADR-动态数据源延迟加载.md) - 决定采用数据库配置 + 延迟加载方案实现动态数据源功能 +- [ADR-003-01: Salesforce 多系统配置架构决策](./2026-01-21-003-01-ADR-salesforce-multi-system-config.md) - 决定采用独立表存储、敏感信息加密、系统类型自定义等策略实现 Salesforce 多系统配置功能 +- [ADR-003-02: Salesforce 策略模式登录架构决策](./2026-01-21-003-02-ADR-salesforce-strategy-login.md) - 决定采用策略模式 + 工厂方法模式实现 Salesforce 多系统登录功能,支持 OAuth2 和 Session ID 两种登录策略 ## 返回主索引 [返回项目单一真源](../index.md) \ No newline at end of file diff --git a/docs/design/README.md b/docs/design/README.md index 1fedb3b7..3a29b97f 100644 --- a/docs/design/README.md +++ b/docs/design/README.md @@ -10,6 +10,8 @@ ## 设计文档列表 - [2026-01-21-001-动态数据源延迟加载设计](./2026-01-21-001-动态数据源延迟加载设计.md) - 动态数据源延迟加载技术方案设计,包含架构设计、数据设计、接口设计等 +- [2026-01-21-003-01-salesforce-multi-system-config-design](./2026-01-21-003-01-salesforce-multi-system-config-design.md) - Salesforce 多系统配置技术方案设计,包含架构设计、数据库设计、接口设计、核心逻辑设计等 +- [2026-01-21-003-02-salesforce-strategy-login-design](./2026-01-21-003-02-salesforce-strategy-login-design.md) - Salesforce 策略模式登录技术方案设计,包含策略模式设计、工厂方法设计、接口设计、核心逻辑设计等 ## 返回主索引 [返回项目单一真源](../index.md) \ No newline at end of file diff --git a/docs/index.md b/docs/index.md index 0c7082b1..21bf4623 100644 --- a/docs/index.md +++ b/docs/index.md @@ -87,6 +87,40 @@ datai 是一个基于 Spring Boot 的项目,采用文档驱动开发(Documen - [变更日志](./changelog/2026-01-21-001-changelog.md) - 动态数据源延迟加载变更记录 - [复盘文档](./retros/2026-01-21-001-retro.md) - 动态数据源延迟加载复盘文档 - [API 文档](./api-docs/2026-01-21-001-api.md) - 动态数据源延迟加载 API 文档 +- [2026-01-21-002-项目国际化需求](./requirements/2026-01-21-002-项目国际化需求.md) - 实现项目的全面国际化功能,支持前端、后端、数据库三层国际化,支持中文和英文两种语言 - 进行中 + - [2026-01-21-002-01-前端国际化需求](./requirements/2026-01-21-002-01-前端国际化需求.md) - 实现前端界面的国际化功能,支持界面元素、表单验证、动态内容的国际化 + - [2026-01-21-002-02-后端国际化需求](./requirements/2026-01-21-002-02-后端国际化需求.md) - 实现后端的国际化功能,支持错误消息、日志消息、验证消息、通知消息的国际化 + - [2026-01-21-002-03-数据库国际化需求](./requirements/2026-01-21-002-03-数据库国际化需求.md) - 实现数据库数据的国际化功能,支持字典数据、系统配置、菜单数据的国际化 + - [2026-01-21-002-04-时区国际化需求](./requirements/2026-01-21-002-04-时区国际化需求.md) - 实现时区国际化功能,支持用户设置时区偏好,根据用户时区显示时间 + - [2026-01-21-002-05-货币格式化需求](./requirements/2026-01-21-002-05-货币格式化需求.md) - 实现货币格式化功能,支持根据用户地区显示货币 + - [2026-01-21-002-06-日期格式化需求](./requirements/2026-01-21-002-06-日期格式化需求.md) - 实现日期格式化功能,支持根据用户地区显示日期 + - [2026-01-21-002-07-数字格式化需求](./requirements/2026-01-21-002-07-数字格式化需求.md) - 实现数字格式化功能,支持根据用户地区显示数字 + - [2026-01-21-002-08-语言管理需求](./requirements/2026-01-21-002-08-语言管理需求.md) - 提供语言管理功能,支持添加、编辑、删除语言,支持设置系统默认语言 + - [2026-01-21-002-09-国际化资源管理需求](./requirements/2026-01-21-002-09-国际化资源管理需求.md) - 提供国际化资源管理功能,支持添加、编辑、删除国际化资源,支持批量导入导出 +- [2026-01-21-003-salesforce-multi-system-auth](./requirements/2026-01-21-003-salesforce-multi-system-auth.md) - 实现 Salesforce 多系统认证功能,支持配置多个不同类型的 Salesforce 系统,使用策略模式实现登录,区分源 org 和目标 org,支持缓存过期时间戳校验、结构化缓存键设计、登录状态查询、错误码映射 - 进行中 + - [2026-01-21-003-01-salesforce-multi-system-config](./requirements/2026-01-21-003-01-salesforce-multi-system-config.md) - Salesforce 多系统配置,支持配置多个不同类型的 Salesforce 系统,支持用户自定义系统类型,支持区分源 org 和目标 org,支持敏感信息加密存储 - 代码生成已完成 + - [2026-01-21-003-01-salesforce-multi-system-config-design](./design/2026-01-21-003-01-salesforce-multi-system-config-design.md) - Salesforce 多系统配置技术方案设计,包含架构设计、数据库设计、接口设计、核心逻辑设计等 + - [2026-01-21-003-01-ADR-salesforce-multi-system-config](./decisions/2026-01-21-003-01-ADR-salesforce-multi-system-config.md) - ADR-003-01: Salesforce 多系统配置架构决策 + - [2026-01-21-003-01-datai_sf_system_config](./sql/2026-01-21-003-01-datai_sf_system_config.sql) - Salesforce 系统配置表 SQL 文档 + - [2026-01-21-003-01-salesforce-multi-system-config代码生成提示词](./prompts/2026-01-21-003-01-salesforce-multi-system-config代码生成提示词.md) - Salesforce 多系统配置代码生成提示词 + - [2026-01-21-003-01-session](./sessions/2026-01-21-003-01-session.md) - Salesforce 多系统配置开发会话记录 + - [2026-01-21-003-01-changelog](./changelog/2026-01-21-003-01-changelog.md) - Salesforce 多系统配置变更记录 + - [2026-01-21-003-01-retro](./retros/2026-01-21-003-01-retro.md) - Salesforce 多系统配置复盘文档 + - [2026-01-21-003-01-api](./api-docs/2026-01-21-003-01-api.md) - Salesforce 多系统配置 API 文档 + - [2026-01-21-003-02-salesforce-strategy-login](./requirements/2026-01-21-003-02-salesforce-strategy-login.md) - Salesforce 策略模式登录,使用策略模式实现不同类型的 Salesforce 系统登录,支持 OAuth2 和 Session ID 登录,登录策略工厂使用工厂方法模式 + - [2026-01-21-003-02-salesforce-strategy-login-design](./design/2026-01-21-003-02-salesforce-strategy-login-design.md) - Salesforce 策略模式登录技术方案设计,包含策略模式设计、工厂方法设计、接口设计、核心逻辑设计等 + - [2026-01-21-003-02-ADR-salesforce-strategy-login](./decisions/2026-01-21-003-02-ADR-salesforce-strategy-login.md) - ADR-003-02: Salesforce 策略模式登录架构决策 + - [2026-01-21-003-02-salesforce-strategy-login-database](./sql/2026-01-21-003-02-salesforce-strategy-login-database.md) - Salesforce 策略模式登录数据库结构说明,说明不需要创建新的数据库表,登录信息会回写到已有的 datai_sf_system_config 表中 + - [2026-01-21-003-02-salesforce-strategy-login代码生成提示词](./prompts/2026-01-21-003-02-salesforce-strategy-login代码生成提示词.md) - Salesforce 策略模式登录代码生成提示词 + - [2026-01-21-003-02-session](./sessions/2026-01-21-003-02-session.md) - Salesforce 策略模式登录开发会话记录 + - [2026-01-21-003-02-changelog](./changelog/2026-01-21-003-02-changelog.md) - Salesforce 策略模式登录变更记录 + - [2026-01-21-003-02-retro](./retros/2026-01-21-003-02-retro.md) - Salesforce 策略模式登录复盘文档 + - [2026-01-21-003-02-api](./api-docs/2026-01-21-003-02-api.md) - Salesforce 策略模式登录 API 文档 + - [2026-01-21-003-03-salesforce-login-history](./requirements/2026-01-21-003-03-salesforce-login-history.md) - Salesforce 登录历史,记录所有登录历史信息,包含审计信息,支持选择历史登录成功信息快速登录 + - [2026-01-21-003-04-salesforce-cache-optimization](./requirements/2026-01-21-003-04-salesforce-cache-optimization.md) - Salesforce 缓存优化,登录成功后将 SF 登录信息保存到 Redis 缓存,使用时校验有效性,结构化缓存键设计,缓存刷新和清理 + - [2026-01-21-003-05-salesforce-session-management](./requirements/2026-01-21-003-05-salesforce-session-management.md) - Salesforce 会话管理,支持会话管理,会话失效时自动重新登录,获取当前 Session ID 和 Instance URL + - [2026-01-21-003-06-salesforce-login-status-query](./requirements/2026-01-21-003-06-salesforce-login-status-query.md) - Salesforce 登录状态查询,提供登录状态查询接口,显示每个系统的登录状态,Session ID 脱敏处理 + - [2026-01-21-003-07-salesforce-error-code-mapping](./requirements/2026-01-21-003-07-salesforce-error-code-mapping.md) - Salesforce 错误码映射,建立完整的错误码映射表,提供友好的错误提示,支持错误重试机制 ## 更新日志 - 2026-01-21: 初始化项目单一真源结构 @@ -98,6 +132,10 @@ datai 是一个基于 Spring Boot 的项目,采用文档驱动开发(Documen - 2026-01-21: 新增变更日志 - 动态数据源延迟加载变更记录 - 2026-01-21: 新增复盘文档 - 动态数据源延迟加载复盘 - 2026-01-21: 新增 API 文档 - 动态数据源延迟加载 API +- 2026-01-21: 新增架构决策 - ADR-003-01: Salesforce 多系统配置 +- 2026-01-21: 新增数据库脚本 - datai_sf_system_config 表 +- 2026-01-21: 新增代码生成提示词 - Salesforce 多系统配置 +- 2026-01-22: 新增设计文档 - Salesforce 策略模式登录技术方案 ## 使用说明 1. 本文档是项目的单一真源,包含项目的所有信息 diff --git a/docs/prompts/README.md b/docs/prompts/README.md index d14bff24..1232bf26 100644 --- a/docs/prompts/README.md +++ b/docs/prompts/README.md @@ -10,6 +10,8 @@ ## 提示词列表 - [2026-01-21-001-动态数据源延迟加载代码生成提示词](./2026-01-21-001-动态数据源延迟加载代码生成提示词.md) - 用于生成动态数据源延迟加载功能的完整业务代码,包括实体类、Mapper、Service、Controller 等所有相关代码 +- [2026-01-21-003-01-salesforce-multi-system-config代码生成提示词](./2026-01-21-003-01-salesforce-multi-system-config代码生成提示词.md) - 用于生成 Salesforce 多系统配置功能的完整业务代码,包括实体类、Mapper、Service、Controller 等所有相关代码 +- [2026-01-21-003-02-salesforce-strategy-login代码生成提示词](./2026-01-21-003-02-salesforce-strategy-login代码生成提示词.md) - 用于生成 Salesforce 策略模式登录功能的完整业务代码,包括策略层、服务层、控制层、模型层、异常层等所有相关代码 ## 返回主索引 [返回项目单一真源](../index.md) \ No newline at end of file diff --git a/docs/requirements/README.md b/docs/requirements/README.md index 1052e6ee..3cd99406 100644 --- a/docs/requirements/README.md +++ b/docs/requirements/README.md @@ -10,6 +10,24 @@ ## 需求列表 - [2026-01-21-001-动态数据源延迟加载](./2026-01-21-001-动态数据源延迟加载.md) - 实现动态数据源的延迟加载机制,支持应用启动时只加载主库,从库按需动态加载和切换 +- [2026-01-21-002-项目国际化需求](./2026-01-21-002-项目国际化需求.md) - 实现项目的全面国际化功能,支持前端、后端、数据库三层国际化,支持中文和英文两种语言 + - [2026-01-21-002-01-前端国际化需求](./2026-01-21-002-01-前端国际化需求.md) - 实现前端界面的国际化功能,支持界面元素、表单验证、动态内容的国际化 + - [2026-01-21-002-02-后端国际化需求](./2026-01-21-002-02-后端国际化需求.md) - 实现后端的国际化功能,支持错误消息、日志消息、验证消息、通知消息的国际化 + - [2026-01-21-002-03-数据库国际化需求](./2026-01-21-002-03-数据库国际化需求.md) - 实现数据库数据的国际化功能,支持字典数据、系统配置、菜单数据的国际化 + - [2026-01-21-002-04-时区国际化需求](./2026-01-21-002-04-时区国际化需求.md) - 实现时区国际化功能,支持用户设置时区偏好,根据用户时区显示时间 + - [2026-01-21-002-05-货币格式化需求](./2026-01-21-002-05-货币格式化需求.md) - 实现货币格式化功能,支持根据用户地区显示货币 + - [2026-01-21-002-06-日期格式化需求](./2026-01-21-002-06-日期格式化需求.md) - 实现日期格式化功能,支持根据用户地区显示日期 + - [2026-01-21-002-07-数字格式化需求](./2026-01-21-002-07-数字格式化需求.md) - 实现数字格式化功能,支持根据用户地区显示数字 + - [2026-01-21-002-08-语言管理需求](./2026-01-21-002-08-语言管理需求.md) - 提供语言管理功能,支持添加、编辑、删除语言,支持设置系统默认语言 + - [2026-01-21-002-09-国际化资源管理需求](./2026-01-21-002-09-国际化资源管理需求.md) - 提供国际化资源管理功能,支持添加、编辑、删除国际化资源,支持批量导入导出 +- [2026-01-21-003-salesforce-multi-system-auth](./2026-01-21-003-salesforce-multi-system-auth.md) - 实现 Salesforce 多系统认证功能,支持配置多个不同类型的 Salesforce 系统,使用策略模式实现登录,区分源 org 和目标 org,支持缓存过期时间戳校验、结构化缓存键设计、登录状态查询、错误码映射 + - [2026-01-21-003-01-salesforce-multi-system-config](./2026-01-21-003-01-salesforce-multi-system-config.md) - Salesforce 多系统配置,支持配置多个不同类型的 Salesforce 系统,支持用户自定义系统类型,支持区分源 org 和目标 org,支持敏感信息加密存储 + - [2026-01-21-003-02-salesforce-strategy-login](./2026-01-21-003-02-salesforce-strategy-login.md) - Salesforce 策略模式登录,使用策略模式实现不同类型的 Salesforce 系统登录,支持 OAuth2 和 Session ID 登录,登录策略工厂使用工厂方法模式 + - [2026-01-21-003-03-salesforce-login-history](./2026-01-21-003-03-salesforce-login-history.md) - Salesforce 登录历史,记录所有登录历史信息,包含审计信息,支持选择历史登录成功信息快速登录 + - [2026-01-21-003-04-salesforce-cache-optimization](./2026-01-21-003-04-salesforce-cache-optimization.md) - Salesforce 缓存优化,登录成功后将 SF 登录信息保存到 Redis 缓存,使用时校验有效性,结构化缓存键设计,缓存刷新和清理 + - [2026-01-21-003-05-salesforce-session-management](./2026-01-21-003-05-salesforce-session-management.md) - Salesforce 会话管理,支持会话管理,会话失效时自动重新登录,获取当前 Session ID 和 Instance URL + - [2026-01-21-003-06-salesforce-login-status-query](./2026-01-21-003-06-salesforce-login-status-query.md) - Salesforce 登录状态查询,提供登录状态查询接口,显示每个系统的登录状态,Session ID 脱敏处理 + - [2026-01-21-003-07-salesforce-error-code-mapping](./2026-01-21-003-07-salesforce-error-code-mapping.md) - Salesforce 错误码映射,建立完整的错误码映射表,提供友好的错误提示,支持错误重试机制 ## 返回主索引 [返回项目单一真源](../index.md) \ No newline at end of file diff --git a/docs/retros/README.md b/docs/retros/README.md index 6fb9c6b4..8f1d4a9d 100644 --- a/docs/retros/README.md +++ b/docs/retros/README.md @@ -10,6 +10,8 @@ ## 复盘文档列表 - [2026-01-21-001-retro](./2026-01-21-001-retro.md) - 动态数据源延迟加载复盘文档 +- [2026-01-21-003-01-retro](./2026-01-21-003-01-retro.md) - Salesforce 多系统配置复盘文档 +- [2026-01-21-003-02-retro](./2026-01-21-003-02-retro.md) - Salesforce 策略模式登录复盘文档 ## 返回主索引 [返回项目单一真源](../index.md) \ No newline at end of file diff --git a/docs/sessions/README.md b/docs/sessions/README.md index 91ce6ea7..be86cbb9 100644 --- a/docs/sessions/README.md +++ b/docs/sessions/README.md @@ -10,6 +10,8 @@ ## 会话列表 - [2026-01-21-001-session.md](./2026-01-21-001-session.md) - 动态数据源延迟加载开发会话 +- [2026-01-21-003-01-session.md](./2026-01-21-003-01-session.md) - Salesforce 多系统配置开发会话 +- [2026-01-21-003-02-session.md](./2026-01-21-003-02-session.md) - Salesforce 策略模式登录开发会话 ## 返回主索引 [返回项目单一真源](../index.md) \ No newline at end of file diff --git a/docs/sql/README.md b/docs/sql/README.md index 88aea3ca..f09a4e1b 100644 --- a/docs/sql/README.md +++ b/docs/sql/README.md @@ -10,6 +10,8 @@ ## SQL 文档列表 - [2026-01-21-001-sys_datasource_config.sql](./2026-01-21-001-sys_datasource_config.sql) - 数据源配置表 SQL 文档,包含建表语句、初始化数据、查询语句、更新语句、插入语句、删除语句等 +- [2026-01-21-003-01-datai_sf_system_config.sql](./2026-01-21-003-01-datai_sf_system_config.sql) - Salesforce 系统配置表 SQL 文档,包含建表语句、初始化数据、查询语句、更新语句、插入语句、删除语句等 +- [2026-01-21-003-02-salesforce-strategy-login-database.md](./2026-01-21-003-02-salesforce-strategy-login-database.md) - Salesforce 策略模式登录数据库结构说明,说明不需要创建新的数据库表,登录信息会回写到已有的 datai_sf_system_config 表中 ## 返回主索引 [返回项目单一真源](../index.md) \ No newline at end of file