|
@@ -174,7 +174,16 @@ public class EmailParseService {
|
|
|
public List<EmailFundNavDTO> parseEmail(EmailContentInfoDTO emailContentInfoDTO, Map<String, List<String>> emailFieldMap) {
|
|
|
Integer emailType = emailContentInfoDTO.getEmailType();
|
|
|
AbstractEmailParser emailParser = emailParserFactory.getInstance(emailType);
|
|
|
- return emailParser.parse(emailContentInfoDTO, emailFieldMap);
|
|
|
+ List<EmailFundNavDTO> emailFundNavDTOList = emailParser.parse(emailContentInfoDTO, emailFieldMap);
|
|
|
+ //因为有些邮件是净值邮件,但标题是估值表的标题,会导致无法解析到数据,这里做个补丁如果估值表类型的邮件解析不到数据,就再使用净值解析逻辑处理一次
|
|
|
+ if(EmailTypeConst.VALUATION_EMAIL_TYPE.equals(emailType)){
|
|
|
+ long successCount = emailFundNavDTOList.stream().filter(e -> StringUtil.isEmpty(e.getFailReason())).count();
|
|
|
+ if(successCount < 1){
|
|
|
+ emailParser = emailParserFactory.getInstance(EmailTypeConst.NAV_EMAIL_TYPE);
|
|
|
+ emailFundNavDTOList = emailParser.parse(emailContentInfoDTO, emailFieldMap);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return emailFundNavDTOList;
|
|
|
}
|
|
|
|
|
|
public void saveRelatedTable(String emailAddress, List<EmailContentInfoDTO> emailContentInfoDTOList, Map<EmailContentInfoDTO, List<EmailFundNavDTO>> fileNameNavMap) {
|