package com.klp.service; import com.klp.common.core.page.TableDataInfo; import com.klp.common.core.domain.PageQuery; import com.klp.domain.bo.WmsSalesScriptGeneratorBo; import com.klp.domain.vo.WmsProductSalesScriptVo; import java.util.List; import java.util.Map; /** * 销售话术生成器服务接口 * * @author klp * @date 2025-01-27 */ public interface IWmsSalesScriptGeneratorService { /** * 为单个产品生成销售话术 * * @param bo 生成参数 * @return 生成的话术列表 */ List generateScriptsForProduct(WmsSalesScriptGeneratorBo bo); /** * 批量生成销售话术 * * @param bo 生成参数 * @return 生成结果统计 */ Map generateScriptsBatch(WmsSalesScriptGeneratorBo bo); /** * 为指定产品ID列表生成话术 * * @param bo 生成参数 * @return 生成结果统计 */ Map generateScriptsForProductIds(WmsSalesScriptGeneratorBo bo); /** * 测试AI连接 * * @return 测试结果 */ Map testAiConnection(); /** * 获取生成配置 * * @return 配置信息 */ Map getGenerationConfig(); /** * 更新生成配置 * * @param config 配置信息 */ void updateGenerationConfig(Map config); /** * 获取可用的产品列表 * * @return 产品列表 */ List> getAvailableProducts(); /** * 获取生成历史 * * @param pageQuery 分页查询 * @return 历史记录 */ TableDataInfo> getGenerationHistory(PageQuery pageQuery); /** * 重新生成指定话术 * * @param scriptId 话术ID * @return 重新生成的话术 */ WmsProductSalesScriptVo regenerateScript(Long scriptId); /** * 预览话术生成(不保存到数据库) * * @param bo 生成参数 * @return 预览话术列表 */ List> previewScripts(WmsSalesScriptGeneratorBo bo); /** * 获取客户类型列表 * * @return 客户类型列表 */ List> getCustomerTypes(); /** * 获取产品特性关键词 * * @return 关键词列表 */ List getFeatureKeywords(); /** * 分析产品信息并生成话术建议 * * @param bo 分析参数 * @return 分析结果 */ Map analyzeProduct(WmsSalesScriptGeneratorBo bo); }