--- name: PROMPT-007 description: 查询不同类型ORG登录历史及自动登录功能实现 version: 1.0.0 --- # 提示词: 查询不同类型ORG登录历史及自动登录功能实现 ## 元数据 (Metadata) - **name**: login-history-query-and-auto-login - **description**: 为查询不同类型ORG登录历史及自动登录功能需求生成代码实现 - **version**: 1.0.0 - **author**: SSOT Architect - **lastUpdated**: 2026-01-16 ## 目标 (Goal) 为"查询不同类型ORG登录历史及自动登录功能"需求生成代码实现,包括 Controller 层和 Service 层的新方法。 ## 上下文链接 (Context Links) ### 必须引用的文档 - [REQ-007](../../requirements/REQ-007.md) - 需求文档,定义了功能需求和验收标准 - [ADR-007](../../decisions/adr/0007-login-history-query-and-auto-login.md) - 架构决策,定义了技术方案和实施计划 ### 参考文档 - [DataISfLoginController.java](../../datai-salesforce-auth/src/main/java/com/datai/auth/controller/DataISfLoginController.java) - 现有的登录控制器,作为参考 ### 代码参考 - [DataISfLoginController.java](../../datai-salesforce-auth/src/main/java/com/datai/auth/controller/DataISfLoginController.java) - 参考现有代码风格 ## 输入变量 (Inputs) ### 必填变量 无 ### 可选变量 无 ## 提示词内容 (Prompt Content) ```markdown 你是 Java 后端开发专家,负责为 Salesforce 集成系统实现查询不同类型ORG登录历史及自动登录功能。 ## 上下文信息 基于以下文档: - [REQ-007](../../requirements/REQ-007.md) - 需求文档,定义了功能需求和验收标准 - [ADR-007](../../decisions/adr/0007-login-history-query-and-auto-login.md) - 架构决策,定义了技术方案和实施计划 ## 搜索策略 在开始执行前,请搜索以下文件作为参考: 1. 搜索关键词:`DataISfLoginController`,文件类型:Java 2. 搜索关键词:`IDataiSfLoginHistoryService`,文件类型:Java 3. 搜索关键词:`DataiSfLoginHistory`,文件类型:Java ## 任务描述 请根据 ADR-007 中定义的技术方案,为 `DataISfLoginController` 添加以下两个接口: ### 接口1: 查询不同类型org成功登录历史 **接口路径**: `GET /salesforce/login/history/success/{orgType}` **功能描述**: 查询指定类型的成功登录历史记录 **实现要求**: 1. 使用 `@GetMapping` 注解 2. 使用 `@Operation` 注解添加接口描述 3. 使用 `@PathVariable` 接收 orgType 参数 4. 调用 `loginHistoryService.selectSuccessLoginHistoryByOrgType(orgType)` 方法 5. 返回 `AjaxResult.success("查询成功", historyList)` 6. 添加详细的日志记录 7. 添加异常处理 ### 接口2: 根据对应登录成功历史登录不同的org **接口路径**: `POST /salesforce/login/autoLoginByHistory` **功能描述**: 根据指定的登录历史记录自动登录到对应ORG **实现要求**: 1. 使用 `@PostMapping` 注解 2. 使用 `@Operation` 注解添加接口描述 3. 使用 `@RequestBody` 接收请求参数(Map,包含 historyId) 4. 调用 `loginHistoryService.selectDataiSfLoginHistoryById(historyId)` 方法查询历史记录 5. 如果历史记录不存在,返回错误信息 6. 调用 `salesforceLoginService.autoLogin(historyId)` 方法执行自动登录 7. 返回 `AjaxResult.success("自动登录成功", result)` 8. 添加详细的日志记录 9. 添加异常处理 同时,请在 `IDataiSfLoginHistoryService` 接口中添加以下两个方法: ### Service 方法1: 查询成功登录历史 ```java List selectSuccessLoginHistoryByOrgType(String orgType); ``` ### Service 方法2: 根据ID查询登录历史 ```java DataiSfLoginHistory selectDataiSfLoginHistoryById(Long id); ``` ## 执行步骤 1. 搜索并阅读 `DataISfLoginController.java` 文件 2. 搜索并阅读 `IDataiSfLoginHistoryService.java` 文件 3. 搜索并阅读 `DataiSfLoginHistory.java` 文件 4. 为 `DataISfLoginController` 添加两个新接口 5. 为 `IDataiSfLoginHistoryService` 添加两个新方法签名 6. 为 `DataiSfLoginHistoryServiceImpl` 添加两个新方法实现 7. 确保代码风格与现有代码一致 8. 添加详细的注释和日志 ## 输出要求 - 必须符合现有代码风格 - 必须包含完整的注释 - 必须包含异常处理 - 必须包含日志记录 - 必须使用现有的工具类(AjaxResult、Logger) - 必须遵循 Spring Boot 和 MyBatis Plus 的最佳实践 ## 输出格式 请按照以下格式输出: ### 1. DataISfLoginController 新增代码 ```java // 在 DataISfLoginController 中添加的代码 ``` ### 2. IDataiSfLoginHistoryService 新增代码 ```java // 在 IDataiSfLoginHistoryService 中添加的代码 ``` ### 3. DataiSfLoginHistoryServiceImpl 新增代码 ```java // 在 DataiSfLoginHistoryServiceImpl 中添加的代码 ``` ### 4. Mapper XML 新增代码(如果需要) ```xml ``` ``` ## 输出定义 (Output Definition) ### 输出格式 Java Code ### 输出结构 1. DataISfLoginController 新增代码 2. IDataiSfLoginHistoryService 新增代码 3. DataiSfLoginHistoryServiceImpl 新增代码 4. Mapper XML 新增代码(如果需要) ### 输出要求 - 必须符合现有代码风格 - 必须包含完整的注释 - 必须包含异常处理 - 必须包含日志记录 - 必须使用现有的工具类(AjaxResult、Logger) - 必须遵循 Spring Boot 和 MyBatis Plus 的最佳实践 ### 输出示例 ```java @Operation(summary = "查询不同类型ORG成功登录历史") @GetMapping("/history/success/{orgType}") public AjaxResult getSuccessLoginHistoryByOrgType(@PathVariable String orgType) { logger.info("接收到查询登录历史请求,ORG类型: {}", orgType); try { List historyList = loginHistoryService.selectSuccessLoginHistoryByOrgType(orgType); return AjaxResult.success("查询成功", historyList); } catch (Exception e) { logger.error("查询登录历史请求处理失败: {}", e.getMessage(), e); return AjaxResult.error("查询失败: " + e.getMessage()); } } ``` ## 版本历史 (Version History) | 版本 | 日期 | 变更内容 | 变更人 | |------|------|----------|--------| | 1.0.0 | 2026-01-16 | 初始版本 | SSOT Architect |