|
|
|
@ -23,8 +23,10 @@ import com.baiye.module.service.dto.SecretResponseBean;
|
|
|
|
|
import com.baiye.util.CompressUtil;
|
|
|
|
|
import com.baiye.util.DecryptPnoUtil;
|
|
|
|
|
import com.baiye.util.MailUtil;
|
|
|
|
|
import com.baiye.util.RedisUtils;
|
|
|
|
|
import com.google.common.base.Joiner;
|
|
|
|
|
import com.google.common.collect.Lists;
|
|
|
|
|
import com.google.common.collect.Sets;
|
|
|
|
|
import lombok.RequiredArgsConstructor;
|
|
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
|
@ -37,10 +39,8 @@ import javax.mail.Message;
|
|
|
|
|
import javax.mail.MessagingException;
|
|
|
|
|
import javax.mail.internet.MimeMessage;
|
|
|
|
|
import java.io.File;
|
|
|
|
|
import java.util.Arrays;
|
|
|
|
|
import java.util.Date;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
import java.util.Objects;
|
|
|
|
|
import java.util.*;
|
|
|
|
|
import java.util.concurrent.TimeUnit;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @author Enzo
|
|
|
|
@ -53,6 +53,8 @@ public class MailSourceTask {
|
|
|
|
|
|
|
|
|
|
private final TaskClient taskClient;
|
|
|
|
|
|
|
|
|
|
private final RedisUtils redisUtils;
|
|
|
|
|
|
|
|
|
|
private final ClueService clueService;
|
|
|
|
|
|
|
|
|
|
private final DeliveryProperties deliveryProperties;
|
|
|
|
@ -76,6 +78,12 @@ public class MailSourceTask {
|
|
|
|
|
if (deliveryProperties.getToEmailAddress().equalsIgnoreCase
|
|
|
|
|
(MailUtil.getFrom((MimeMessage) message))) {
|
|
|
|
|
String taskName = message.getSubject();
|
|
|
|
|
String str = (String) redisUtils.get(taskName);
|
|
|
|
|
if (StringUtils.isNotBlank(str)) {
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
// 设置一天缓存
|
|
|
|
|
redisUtils.set(taskName, taskName, DefaultNumberConstants.ONE_NUMBER, TimeUnit.DAYS);
|
|
|
|
|
// 内容获取发送请求
|
|
|
|
|
DeliveryRecord byTaskName = deliveryRecordService.findByTaskName(taskName);
|
|
|
|
|
if (ObjectUtil.isNotNull(byTaskName)
|
|
|
|
@ -104,10 +112,12 @@ public class MailSourceTask {
|
|
|
|
|
|
|
|
|
|
data.getRows().forEach(clue -> phoneList.add
|
|
|
|
|
(clue.get(DefaultNumberConstants.THREE_NUMBER)));
|
|
|
|
|
// 去除重复
|
|
|
|
|
List<String> phoneSets = Lists.newArrayList(Sets.newHashSet(phoneList));
|
|
|
|
|
|
|
|
|
|
log.info("=============== the phone list as {} ==================", phoneList.size());
|
|
|
|
|
// 集合分割
|
|
|
|
|
List<List<String>> partitions = ListUtil.partition(phoneList, 200);
|
|
|
|
|
List<List<String>> partitions = ListUtil.partition(phoneSets, 200);
|
|
|
|
|
for (List<String> partition : partitions) {
|
|
|
|
|
String join = Joiner.on(StrPool.COMMA).skipNulls().join(partition);
|
|
|
|
|
// 批量解析号码
|
|
|
|
|