|
|
|
@ -35,7 +35,7 @@ public class AiGenerate extends PptAIKit {
|
|
|
|
|
String sql = "SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'dataease' AND TABLE_NAME LIKE 'excel_报告-教育资源配置发展预测%';";
|
|
|
|
|
List<Record> tableList = Db.find(sql);
|
|
|
|
|
|
|
|
|
|
String[] biJiao = new String[]{"文山州", "昆明市"};
|
|
|
|
|
String[] biJiao = new String[]{"文山州", "楚雄州"};
|
|
|
|
|
StringBuilder dataContent = new StringBuilder();
|
|
|
|
|
|
|
|
|
|
// 收集两个州的数据
|
|
|
|
@ -97,7 +97,7 @@ public class AiGenerate extends PptAIKit {
|
|
|
|
|
// 生成PPT
|
|
|
|
|
// 生成PPT
|
|
|
|
|
System.out.println("\n\n=== 开始生成PPT ===");
|
|
|
|
|
generatePptPresentation(biJiao, fullResponse.toString());
|
|
|
|
|
generatePptPresentation(biJiao, pptPrompt);
|
|
|
|
|
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
System.err.println("保存文件时出错: " + e.getMessage());
|
|
|
|
@ -133,33 +133,33 @@ public class AiGenerate extends PptAIKit {
|
|
|
|
|
/**
|
|
|
|
|
* 生成PPT演示文稿
|
|
|
|
|
*/
|
|
|
|
|
private static void generatePptPresentation(String[] cities, String analysisContent) {
|
|
|
|
|
private static void generatePptPresentation(String[] cities, String pptPrompt) {
|
|
|
|
|
try {
|
|
|
|
|
// 第三方用户ID(数据隔离)
|
|
|
|
|
String uid = "education_analysis_" + System.currentTimeMillis();
|
|
|
|
|
// 创建主题
|
|
|
|
|
String subject = String.join("与", cities) + "教育资源配置对比分析";
|
|
|
|
|
String uid = "user123";
|
|
|
|
|
|
|
|
|
|
// 创建 api token
|
|
|
|
|
String apiToken = PptAIKit.createApiToken(uid, null);
|
|
|
|
|
System.out.println("PPT API token: " + apiToken);
|
|
|
|
|
|
|
|
|
|
// 生成大纲
|
|
|
|
|
System.out.println("\n\n========== 正在生成PPT大纲 ==========");
|
|
|
|
|
String outline = PptAIKit.generateOutline(apiToken, subject, null, null);
|
|
|
|
|
// 生成大纲 - 修正参数顺序
|
|
|
|
|
System.out.println("\n\n========== 正在生成PPT大纲 ==========\n");
|
|
|
|
|
String outline = PptAIKit.generateOutline(apiToken, subject, null, pptPrompt);
|
|
|
|
|
System.out.println("PPT大纲生成完成");
|
|
|
|
|
|
|
|
|
|
// 生成大纲内容
|
|
|
|
|
System.out.println("\n\n========== 正在生成PPT内容 ==========");
|
|
|
|
|
String markdown = PptAIKit.generateContent(apiToken, outline, null, null);
|
|
|
|
|
// 生成大纲内容 - 修正参数
|
|
|
|
|
System.out.println("\n\n========== 正在生成PPT内容 ==========\n");
|
|
|
|
|
String markdown = PptAIKit.generateContent(apiToken, outline, null, pptPrompt);
|
|
|
|
|
System.out.println("PPT内容生成完成");
|
|
|
|
|
|
|
|
|
|
// 随机选择一个模板
|
|
|
|
|
System.out.println("\n\n========== 选择PPT模板 ==========");
|
|
|
|
|
System.out.println("\n\n========== 选择PPT模板 ==========\n");
|
|
|
|
|
String templateId = PptAIKit.randomOneTemplateId(apiToken);
|
|
|
|
|
System.out.println("选择的模板ID: " + templateId);
|
|
|
|
|
|
|
|
|
|
// 生成PPT
|
|
|
|
|
System.out.println("\n\n========== 正在生成PPT文件 ==========");
|
|
|
|
|
System.out.println("\n\n========== 正在生成PPT文件 ==========\n");
|
|
|
|
|
JSONObject pptInfo = PptAIKit.generatePptx(apiToken, templateId, markdown, false);
|
|
|
|
|
String pptId = pptInfo.getString("id");
|
|
|
|
|
System.out.println("PPT ID: " + pptId);
|
|
|
|
@ -167,13 +167,12 @@ public class AiGenerate extends PptAIKit {
|
|
|
|
|
System.out.println("PPT封面:" + pptInfo.getString("coverUrl") + "?token=" + apiToken);
|
|
|
|
|
|
|
|
|
|
// 下载PPT到当前目录
|
|
|
|
|
System.out.println("\n\n========== 正在下载PPT ==========");
|
|
|
|
|
System.out.println("\n\n========== 正在下载PPT ==========\n");
|
|
|
|
|
JSONObject result = PptAIKit.downloadPptx(apiToken, pptId);
|
|
|
|
|
String url = result.getString("fileUrl");
|
|
|
|
|
System.out.println("PPT下载链接:" + url);
|
|
|
|
|
|
|
|
|
|
String timestamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date());
|
|
|
|
|
// 修改这里:使用完整路径
|
|
|
|
|
String savePath = System.getProperty("user.dir") + File.separator + "教育资源对比分析PPT_" + timestamp + ".pptx";
|
|
|
|
|
HttpUtils.download(url, new File(savePath));
|
|
|
|
|
System.out.println("PPT下载完成,保存路径:" + savePath);
|
|
|
|
|