|
@@ -12,6 +12,7 @@ import com.simuwang.base.common.util.EmailUtil;
|
|
|
import com.simuwang.base.mapper.daq.EmailFileInfoMapper;
|
|
|
import com.simuwang.base.mapper.daq.EmailParseInfoMapper;
|
|
|
import com.simuwang.base.mapper.daq.EmailTaskInfoMapper;
|
|
|
+import com.simuwang.base.mapper.daq.HostedEmailInfoMapper;
|
|
|
import com.simuwang.base.pojo.dos.EmailFileInfoDO;
|
|
|
import com.simuwang.base.pojo.dos.EmailParseInfoDO;
|
|
|
import com.simuwang.base.pojo.dos.EmailTaskInfoDO;
|
|
@@ -49,14 +50,18 @@ public class EmailParseApiServiceImpl implements EmailParseApiService {
|
|
|
private final EmailFileInfoMapper emailFileInfoMapper;
|
|
|
private final ThreadPoolTaskExecutor asyncExecutor;
|
|
|
private final EmailTaskInfoMapper emailTaskInfoMapper;
|
|
|
+ private final HostedEmailInfoMapper hostedEmailInfoMapper;
|
|
|
|
|
|
public EmailParseApiServiceImpl(EmailParseService emailParseService, EmailParseInfoMapper emailParseInfoMapper,
|
|
|
- EmailFileInfoMapper emailFileInfoMapper, @Qualifier("asyncExecutor") ThreadPoolTaskExecutor asyncExecutor, EmailTaskInfoMapper emailTaskInfoMapper) {
|
|
|
+ EmailFileInfoMapper emailFileInfoMapper,
|
|
|
+ @Qualifier("asyncExecutor") ThreadPoolTaskExecutor asyncExecutor,
|
|
|
+ EmailTaskInfoMapper emailTaskInfoMapper,HostedEmailInfoMapper hostedEmailInfoMapper) {
|
|
|
this.emailParseService = emailParseService;
|
|
|
this.emailParseInfoMapper = emailParseInfoMapper;
|
|
|
this.emailFileInfoMapper = emailFileInfoMapper;
|
|
|
this.asyncExecutor = asyncExecutor;
|
|
|
this.emailTaskInfoMapper = emailTaskInfoMapper;
|
|
|
+ this.hostedEmailInfoMapper = hostedEmailInfoMapper;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -150,6 +155,9 @@ public class EmailParseApiServiceImpl implements EmailParseApiService {
|
|
|
|
|
|
List<EmailFundNavDTO> emailFundNavDTOList = CollUtil.newArrayList();
|
|
|
Map<EmailContentInfoDTO, List<EmailFundNavDTO>> fileNameNavMap = MapUtil.newHashMap();
|
|
|
+
|
|
|
+ //获取全部的托管邮箱信息
|
|
|
+ List<String> hostedEmailList = hostedEmailInfoMapper.getAllHostedEmail();
|
|
|
asyncExecutor.execute(() -> {
|
|
|
for (EmailContentInfoDTO emailContentInfoDTO : emailContentInfoDTOList) {
|
|
|
try {
|
|
@@ -161,7 +169,7 @@ public class EmailParseApiServiceImpl implements EmailParseApiService {
|
|
|
}
|
|
|
}
|
|
|
// 保存相关信息 -> 邮件信息表,邮件文件表,邮件净值表,邮件规模表,基金净值表
|
|
|
- emailParseService.saveRelatedTable(emailParseInfoDO.getEmail(), emailContentInfoDTOList, fileNameNavMap);
|
|
|
+ emailParseService.saveRelatedTable(emailParseInfoDO.getEmail(), emailContentInfoDTOList, fileNameNavMap,hostedEmailList);
|
|
|
});
|
|
|
}
|
|
|
|
|
@@ -174,6 +182,8 @@ public class EmailParseApiServiceImpl implements EmailParseApiService {
|
|
|
if (CollUtil.isEmpty(emailParseInfoDOList)) {
|
|
|
return;
|
|
|
}
|
|
|
+ //获取全部的托管邮箱信息
|
|
|
+ List<String> hostedEmailList = hostedEmailInfoMapper.getAllHostedEmail();
|
|
|
asyncExecutor.execute(() -> {
|
|
|
Map<Integer, List<EmailInfoDTO>> emailIdFileMap = emailParseInfoDOList.stream().collect(Collectors.groupingBy(EmailInfoDTO::getId));
|
|
|
for (Map.Entry<Integer, List<EmailInfoDTO>> entry : emailIdFileMap.entrySet()) {
|
|
@@ -195,7 +205,7 @@ public class EmailParseApiServiceImpl implements EmailParseApiService {
|
|
|
}
|
|
|
}
|
|
|
// 保存相关信息 -> 邮件信息表,邮件文件表,邮件净值表,邮件规模表,基金净值表
|
|
|
- emailParseService.saveRelatedTable(emailAddress, emailContentInfoDTOList, fileNameNavMap);
|
|
|
+ emailParseService.saveRelatedTable(emailAddress, emailContentInfoDTOList, fileNameNavMap,hostedEmailList);
|
|
|
}
|
|
|
log.info("重新解析文件结束... -> 文件id:{}", fileIdList);
|
|
|
});
|