|
@@ -12,6 +12,7 @@ import com.simuwang.base.pojo.dto.ValuationPdfTransformToExcelDTO;
|
|
|
import com.simuwang.base.pojo.valuation.AssetsValuationResult;
|
|
|
import com.simuwang.base.pojo.valuation.ParseValuationInfo;
|
|
|
import com.simuwang.base.pojo.valuation.ValuationNeedParseParam;
|
|
|
+import org.springframework.beans.factory.annotation.Value;
|
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
|
import java.io.File;
|
|
@@ -29,9 +30,14 @@ public class ValuationEmailParser extends AbstractEmailParser {
|
|
|
private final ValuationParseService valuationParseService;
|
|
|
private final PdfToExcelService pdfToExcelService;
|
|
|
|
|
|
- public ValuationEmailParser(ValuationParseService valuationParseService, PdfToExcelService pdfToExcelService) {
|
|
|
+ private final EmailTemplateService emailTemplateService;
|
|
|
+ @Value("${email.parse.force-template-enable}")
|
|
|
+ private boolean forceTemplateEnable;
|
|
|
+
|
|
|
+ public ValuationEmailParser(ValuationParseService valuationParseService, PdfToExcelService pdfToExcelService, EmailTemplateService emailTemplateService) {
|
|
|
this.valuationParseService = valuationParseService;
|
|
|
this.pdfToExcelService = pdfToExcelService;
|
|
|
+ this.emailTemplateService = emailTemplateService;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -53,6 +59,17 @@ public class ValuationEmailParser extends AbstractEmailParser {
|
|
|
List<EmailFundNavDTO> fundNavDTOList = convertToFundNavDTO(recordList);
|
|
|
Optional.ofNullable(fundNavDTOList).ifPresent(emailFundNavDTOList::addAll);
|
|
|
}
|
|
|
+ long successNavCount = 0;
|
|
|
+ if (CollUtil.isNotEmpty(emailFundNavDTOList)) {
|
|
|
+ successNavCount = emailFundNavDTOList.stream().filter(e -> e != null && StrUtil.isBlank(e.getFailReason())).count();
|
|
|
+ }
|
|
|
+ //如果通用模板解析不到正确数据,就走模板解析一次
|
|
|
+ if (successNavCount == 0 || forceTemplateEnable) {
|
|
|
+ List<EmailFundNavDTO> templateFundNavDTOList = emailTemplateService.parseUsingTemplate(emailContentInfoDTO);
|
|
|
+ if(CollUtil.isNotEmpty(templateFundNavDTOList)){
|
|
|
+ emailFundNavDTOList.addAll(templateFundNavDTOList);
|
|
|
+ }
|
|
|
+ }
|
|
|
return emailFundNavDTOList;
|
|
|
}
|
|
|
|