|
@@ -1,6 +1,7 @@
|
|
package com.smppw.modaq.application.components.report.parser.ai;
|
|
package com.smppw.modaq.application.components.report.parser.ai;
|
|
|
|
|
|
import com.smppw.modaq.application.components.report.parser.ReportParserConstant;
|
|
import com.smppw.modaq.application.components.report.parser.ReportParserConstant;
|
|
|
|
+import com.smppw.modaq.common.enums.ReportParseStatus;
|
|
import com.smppw.modaq.common.exception.ReportParseException;
|
|
import com.smppw.modaq.common.exception.ReportParseException;
|
|
import com.smppw.modaq.domain.dto.report.QuarterlyReportData;
|
|
import com.smppw.modaq.domain.dto.report.QuarterlyReportData;
|
|
import com.smppw.modaq.domain.dto.report.ReportBaseInfoDTO;
|
|
import com.smppw.modaq.domain.dto.report.ReportBaseInfoDTO;
|
|
@@ -9,6 +10,8 @@ import com.smppw.modaq.domain.dto.report.ReportParserParams;
|
|
import com.smppw.modaq.domain.mapper.EmailFieldMappingMapper;
|
|
import com.smppw.modaq.domain.mapper.EmailFieldMappingMapper;
|
|
import org.springframework.stereotype.Component;
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
|
|
|
+import java.util.Map;
|
|
|
|
+
|
|
@Component(ReportParserConstant.PARSER_AI_QUARTERLY)
|
|
@Component(ReportParserConstant.PARSER_AI_QUARTERLY)
|
|
public class AIQuarterlyReportParser extends AbstractAIReportParser<QuarterlyReportData> {
|
|
public class AIQuarterlyReportParser extends AbstractAIReportParser<QuarterlyReportData> {
|
|
public AIQuarterlyReportParser(EmailFieldMappingMapper fieldMappingMapper) {
|
|
public AIQuarterlyReportParser(EmailFieldMappingMapper fieldMappingMapper) {
|
|
@@ -22,7 +25,11 @@ public class AIQuarterlyReportParser extends AbstractAIReportParser<QuarterlyRep
|
|
|
|
|
|
@Override
|
|
@Override
|
|
protected String prompt() {
|
|
protected String prompt() {
|
|
- return "";
|
|
|
|
|
|
+ return """
|
|
|
|
+ 识别文件中的基金基本情况、基金净值表现、主要财务指标、投资组合情况、基金份额变动情况,
|
|
|
|
+ 基金净值表现、主要财务指标可能包好分级基金数据,投资组合情况包含期末基金资产组合情况、报告期末按行业分类的股票投资组合,
|
|
|
|
+ 要求准确识别金额等小数的位数,去掉金额单位、英文和多余的空格,结果用json返回
|
|
|
|
+ """;
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -32,7 +39,14 @@ public class AIQuarterlyReportParser extends AbstractAIReportParser<QuarterlyRep
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
|
+ @SuppressWarnings("unchecked")
|
|
protected ReportFundInfoDTO buildFundInfo(ReportParserParams params) {
|
|
protected ReportFundInfoDTO buildFundInfo(ReportParserParams params) {
|
|
- return null;
|
|
|
|
|
|
+ // 获取并移除基金基本情况信息
|
|
|
|
+ Object fundInfo = this.allInfoMap.remove("基金基本情况");
|
|
|
|
+ if (fundInfo == null) {
|
|
|
|
+ throw new ReportParseException(ReportParseStatus.PARSE_FUND_INFO_FAIL, params.getFilename());
|
|
|
|
+ }
|
|
|
|
+ Map<String, Object> fundInfoMap = (Map<String, Object>) fundInfo;
|
|
|
|
+ return this.buildDto(params.getFileId(), ReportFundInfoDTO.class, fundInfoMap);
|
|
}
|
|
}
|
|
}
|
|
}
|