| | |
| | | import com.vincent.rsf.server.ai.dto.AiPromptPreviewDto; |
| | | import com.vincent.rsf.server.ai.dto.AiPromptPreviewRequest; |
| | | import com.vincent.rsf.server.ai.entity.AiMcpMount; |
| | | import com.vincent.rsf.server.ai.entity.AiParam; |
| | | import com.vincent.rsf.server.ai.entity.AiPrompt; |
| | | import com.vincent.rsf.server.ai.dto.AiResolvedConfig; |
| | | import com.vincent.rsf.server.ai.service.AiConfigOpsService; |
| | | import com.vincent.rsf.server.ai.service.AiConfigResolverService; |
| | | import com.vincent.rsf.server.ai.service.AiMcpMountService; |
| | | import com.vincent.rsf.server.ai.service.AiParamService; |
| | | import com.vincent.rsf.server.ai.service.AiPromptService; |
| | | import lombok.RequiredArgsConstructor; |
| | | import org.springframework.stereotype.Service; |
| | |
| | | @RequiredArgsConstructor |
| | | public class AiConfigOpsServiceImpl implements AiConfigOpsService { |
| | | |
| | | private final AiParamService aiParamService; |
| | | private final AiPromptService aiPromptService; |
| | | private final AiMcpMountService aiMcpMountService; |
| | | private final AiConfigResolverService aiConfigResolverService; |
| | | private final AiPromptRenderSupport aiPromptRenderSupport; |
| | | private final AiPromptService aiPromptService; |
| | | |
| | | @Override |
| | | public AiConfigSummaryDto getSummary(String promptCode, Long tenantId) { |
| | | String finalPromptCode = StringUtils.hasText(promptCode) ? promptCode : AiDefaults.DEFAULT_PROMPT_CODE; |
| | | AiParam activeParam = aiParamService.getActiveParam(tenantId); |
| | | AiPrompt activePrompt = aiPromptService.getActivePrompt(finalPromptCode, tenantId); |
| | | List<AiMcpMount> mounts = aiMcpMountService.listActiveMounts(tenantId); |
| | | AiResolvedConfig resolvedConfig = aiConfigResolverService.resolve(finalPromptCode, tenantId); |
| | | List<AiMcpMount> mounts = resolvedConfig.getMcpMounts(); |
| | | return AiConfigSummaryDto.builder() |
| | | .promptCode(activePrompt.getCode()) |
| | | .promptName(activePrompt.getName()) |
| | | .promptScene(activePrompt.getScene()) |
| | | .activeParamName(activeParam.getName()) |
| | | .activeModel(activeParam.getModel()) |
| | | .activeParamUpdatedAt(activeParam.getUpdateTime$()) |
| | | .activeParamUpdatedBy(activeParam.getUpdateBy()) |
| | | .activeParamValidateStatus(activeParam.getValidateStatus()) |
| | | .activeParamValidateMessage(activeParam.getLastValidateMessage()) |
| | | .activeParamValidatedAt(activeParam.getLastValidateTime$()) |
| | | .promptCode(resolvedConfig.getPrompt().getCode()) |
| | | .promptName(resolvedConfig.getPrompt().getName()) |
| | | .promptScene(resolvedConfig.getPrompt().getScene()) |
| | | .activeParamName(resolvedConfig.getAiParam().getName()) |
| | | .activeModel(resolvedConfig.getAiParam().getModel()) |
| | | .activeParamUpdatedAt(resolvedConfig.getAiParam().getUpdateTime$()) |
| | | .activeParamUpdatedBy(resolvedConfig.getAiParam().getUpdateBy()) |
| | | .activeParamValidateStatus(resolvedConfig.getAiParam().getValidateStatus()) |
| | | .activeParamValidateMessage(resolvedConfig.getAiParam().getLastValidateMessage()) |
| | | .activeParamValidatedAt(resolvedConfig.getAiParam().getLastValidateTime$()) |
| | | .enabledMcpCount(mounts.size()) |
| | | .enabledMcpNames(mounts.stream().map(AiMcpMount::getName).toList()) |
| | | .activePromptUpdatedAt(activePrompt.getUpdateTime$()) |
| | | .activePromptUpdatedBy(activePrompt.getUpdateBy()) |
| | | .activePromptUpdatedAt(resolvedConfig.getPrompt().getUpdateTime$()) |
| | | .activePromptUpdatedBy(resolvedConfig.getPrompt().getUpdateBy()) |
| | | .build(); |
| | | } |
| | | |