fix:修改APP端代理商员工和活动管理的接口

This commit is contained in:
嘉多宝宝 2026-01-15 14:47:57 +08:00
parent 2d07ffc645
commit b4d5112698

View File

@ -231,25 +231,62 @@ public class AppParentAgentActivityService implements IAppParentAgentActivitySer
private TestChildCharacterResp parseAiResponse(String aiResponse) { private TestChildCharacterResp parseAiResponse(String aiResponse) {
TestChildCharacterResp resp = new TestChildCharacterResp(); TestChildCharacterResp resp = new TestChildCharacterResp();
// 简单解析AI返回的内容 String[] lines = aiResponse.split("\n");
String[] parts = aiResponse.split("\n"); StringBuilder currentSection = new StringBuilder();
for (String part : parts) { String currentHeader = null;
if (part.startsWith("1. 性格分析:") || part.contains("性格分析")) {
resp.setCharacterAnalysis(part.replaceFirst("^[0-9]+\\.\\s*", "").replace("性格分析:", "").trim()); for (String line : lines) {
} else if (part.startsWith("2. 性格特征:") || part.contains("性格特征")) { // 检查是否为新的章节头部
resp.setCharacterTraits(part.replaceFirst("^[0-9]+\\.\\s*", "").replace("性格特征:", "").trim()); if (line.matches("^\\d+\\.\\s*[\\u4e00-\\u9fa5]+.*|^\\s*[\\u4e00-\\u9fa5]+.*")) {
} else if (part.startsWith("3. 教育建议:") || part.contains("教育建议")) { // 保存之前的章节
resp.setSuggestions(part.replaceFirst("^[0-9]+\\.\\s*", "").replace("教育建议:", "").trim()); if (currentHeader != null && currentSection.length() > 0) {
} else if (part.startsWith("4. 性格类型:") || part.contains("性格类型")) { setResponseField(resp, currentHeader, currentSection.toString().trim());
resp.setCharacterType(part.replaceFirst("^[0-9]+\\.\\s*", "").replace("性格类型:", "").trim()); }
// 开始新章节
String[] parts = line.split("", 2);
if (parts.length >= 2) {
currentHeader = parts[0].replaceAll("^\\d+\\.\\s*", "").trim();
currentSection = new StringBuilder(parts[1]);
}
} else if (currentHeader != null) {
// 添加到当前章节内容
if (currentSection.length() > 0) {
currentSection.append("\n");
}
currentSection.append(line.trim());
} }
} }
// 如果解析失败将整个内容作为性格分析 // 处理最后一个章节
if (currentHeader != null && currentSection.length() > 0) {
setResponseField(resp, currentHeader, currentSection.toString().trim());
}
if (resp.getCharacterAnalysis() == null || resp.getCharacterAnalysis().isEmpty()) { if (resp.getCharacterAnalysis() == null || resp.getCharacterAnalysis().isEmpty()) {
resp.setCharacterAnalysis(aiResponse); resp.setCharacterAnalysis(aiResponse);
} }
return resp; return resp;
} }
private void setResponseField(TestChildCharacterResp resp, String header, String content) {
switch (header) {
case "性格分析":
resp.setCharacterAnalysis(content);
break;
case "性格特征":
resp.setCharacterTraits(content);
break;
case "教育建议":
resp.setSuggestions(content);
break;
case "性格类型":
resp.setCharacterType(content);
break;
}
}
} }