|
@@ -167,8 +167,8 @@ public class EmailParseService {
|
|
|
try {
|
|
|
// 保存相关信息 -> 邮件信息表,邮件文件表,邮件净值表,邮件规模表,基金净值表
|
|
|
saveRelatedTable(mailboxInfoDTO.getAccount(), emailContentInfoDTOList, fileNameNavMap);
|
|
|
- }catch (Exception exception){
|
|
|
- log.error("邮件信息:{},堆栈信息:{}", emailContentInfoDTOList,ExceptionUtil.stacktraceToString(exception));
|
|
|
+ } catch (Exception exception) {
|
|
|
+ log.error("邮件信息:{},堆栈信息:{}", emailContentInfoDTOList, ExceptionUtil.stacktraceToString(exception));
|
|
|
}
|
|
|
|
|
|
log.info("结束邮件解析 -> 邮箱信息:{},开始时间:{},结束时间:{}", mailboxInfoDTO, DateUtil.format(startDate, DateConst.YYYY_MM_DD_HH_MM_SS), DateUtil.format(endDate, DateConst.YYYY_MM_DD_HH_MM_SS));
|
|
@@ -845,6 +845,9 @@ public class EmailParseService {
|
|
|
Integer emailType;
|
|
|
String senderEmail;
|
|
|
try {
|
|
|
+ if (!folder.isOpen()) {
|
|
|
+ folder.open(Folder.READ_ONLY);
|
|
|
+ }
|
|
|
Date emailDate = message.getSentDate();
|
|
|
boolean isNotParseConditionSatisfied = emailDate == null || (endDate != null && emailDate.compareTo(endDate) > 0) || (startDate != null && emailDate.compareTo(startDate) < 0);
|
|
|
if (isNotParseConditionSatisfied) {
|
|
@@ -914,13 +917,13 @@ public class EmailParseService {
|
|
|
}
|
|
|
// 此时的address是含有编码(MIME编码方式)后的文本和实际的邮件地址
|
|
|
String address = "";
|
|
|
- for(Address from : senderAddress){
|
|
|
- if(StringUtil.isNotEmpty(from.toString())){
|
|
|
+ for (Address from : senderAddress) {
|
|
|
+ if (StringUtil.isNotEmpty(from.toString())) {
|
|
|
address = from.toString();
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
- log.info("发件人地址:"+address+"========================senderAddress size:"+senderAddress.length);
|
|
|
+ log.info("发件人地址:" + address + "========================senderAddress size:" + senderAddress.length);
|
|
|
// 正则表达式匹配邮件地址
|
|
|
Pattern pattern = Pattern.compile("<(\\S+)>");
|
|
|
Matcher matcher = pattern.matcher(address);
|
|
@@ -929,24 +932,24 @@ public class EmailParseService {
|
|
|
}
|
|
|
//说明匹配不到,直接获取sender
|
|
|
Address sender = message.getSender();
|
|
|
- if(sender == null){
|
|
|
+ if (sender == null) {
|
|
|
return address;
|
|
|
}
|
|
|
String senderEmail = sender.toString();
|
|
|
- log.info("senderEmail:"+senderEmail+"====================");
|
|
|
- if(senderEmail.contains("<") && senderEmail.contains(">") && senderEmail.indexOf("<") < senderEmail.indexOf(">")){
|
|
|
- senderEmail = senderEmail.substring(senderEmail.indexOf("<")+1,senderEmail.length()-1);
|
|
|
+ log.info("senderEmail:" + senderEmail + "====================");
|
|
|
+ if (senderEmail.contains("<") && senderEmail.contains(">") && senderEmail.indexOf("<") < senderEmail.indexOf(">")) {
|
|
|
+ senderEmail = senderEmail.substring(senderEmail.indexOf("<") + 1, senderEmail.length() - 1);
|
|
|
}
|
|
|
return senderEmail;
|
|
|
} catch (MessagingException e) {
|
|
|
- log.error(e.getMessage(),e);
|
|
|
+ log.error(e.getMessage(), e);
|
|
|
}
|
|
|
return null;
|
|
|
}
|
|
|
|
|
|
public List<NameValueVO> searchEmailCount(DataboardQuery databoardQuery) {
|
|
|
- if(StringUtil.isNotEmpty(databoardQuery.getEndDate())){
|
|
|
- databoardQuery.setEndDate(com.smppw.utils.DateUtil.getAroundDate(DateUtils.parse(databoardQuery.getEndDate(),DateUtils.YYYY_MM_DD),1));
|
|
|
+ if (StringUtil.isNotEmpty(databoardQuery.getEndDate())) {
|
|
|
+ databoardQuery.setEndDate(com.smppw.utils.DateUtil.getAroundDate(DateUtils.parse(databoardQuery.getEndDate(), DateUtils.YYYY_MM_DD), 1));
|
|
|
}
|
|
|
List<Map<String, Object>> dataList = emailParseInfoMapper.searchEmailDataBoard(databoardQuery);
|
|
|
List<NameValueVO> result = new ArrayList<>();
|
|
@@ -971,8 +974,8 @@ public class EmailParseService {
|
|
|
}
|
|
|
|
|
|
public List<NameValueVO> searchEmailTypeCount(DataboardQuery databoardQuery) {
|
|
|
- if(StringUtil.isNotEmpty(databoardQuery.getEndDate())){
|
|
|
- databoardQuery.setEndDate(com.smppw.utils.DateUtil.getAroundDate(DateUtils.parse(databoardQuery.getEndDate(),DateUtils.YYYY_MM_DD),1));
|
|
|
+ if (StringUtil.isNotEmpty(databoardQuery.getEndDate())) {
|
|
|
+ databoardQuery.setEndDate(com.smppw.utils.DateUtil.getAroundDate(DateUtils.parse(databoardQuery.getEndDate(), DateUtils.YYYY_MM_DD), 1));
|
|
|
}
|
|
|
//邮件类型,1-净值,2-估值表,3-定期报告
|
|
|
List<Map<String, Object>> dataList = emailParseInfoMapper.searchEmailTypeCount(databoardQuery);
|
|
@@ -998,8 +1001,8 @@ public class EmailParseService {
|
|
|
}
|
|
|
|
|
|
public EmailParseFailAnalysisVO parseFailAnalysis(DataboardQuery databoardQuery) {
|
|
|
- if(StringUtil.isNotEmpty(databoardQuery.getEndDate())){
|
|
|
- databoardQuery.setEndDate(com.smppw.utils.DateUtil.getAroundDate(DateUtils.parse(databoardQuery.getEndDate(),DateUtils.YYYY_MM_DD),1));
|
|
|
+ if (StringUtil.isNotEmpty(databoardQuery.getEndDate())) {
|
|
|
+ databoardQuery.setEndDate(com.smppw.utils.DateUtil.getAroundDate(DateUtils.parse(databoardQuery.getEndDate(), DateUtils.YYYY_MM_DD), 1));
|
|
|
}
|
|
|
EmailParseFailAnalysisVO result = new EmailParseFailAnalysisVO();
|
|
|
//净值规模
|