|
|
|
@ -11,24 +11,26 @@ import cn.hutool.core.text.csv.CsvData;
|
|
|
|
|
import cn.hutool.core.text.csv.CsvReader;
|
|
|
|
|
import cn.hutool.core.text.csv.CsvUtil;
|
|
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
|
|
import cn.hutool.http.HttpUtil;
|
|
|
|
|
import cn.hutool.json.JSONUtil;
|
|
|
|
|
import com.baiye.config.properties.DeliveryProperties;
|
|
|
|
|
import com.baiye.constant.DefaultNumberConstants;
|
|
|
|
|
import com.baiye.constant.SecurityConstants;
|
|
|
|
|
import com.baiye.exception.BadRequestException;
|
|
|
|
|
import com.baiye.feign.DownRecordClient;
|
|
|
|
|
import com.baiye.feign.TaskClient;
|
|
|
|
|
import com.baiye.http.DmpResponse;
|
|
|
|
|
import com.baiye.http.ResponseCode;
|
|
|
|
|
import com.baiye.http.DmpDataDTO;
|
|
|
|
|
import com.baiye.module.dao.ClueTalkRepository;
|
|
|
|
|
import com.baiye.module.entity.DeliveryRecord;
|
|
|
|
|
import com.baiye.module.entity.Task;
|
|
|
|
|
import com.baiye.module.service.ClueService;
|
|
|
|
|
import com.baiye.module.service.DeliveryRecordService;
|
|
|
|
|
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.baiye.util.*;
|
|
|
|
|
import com.google.common.base.Joiner;
|
|
|
|
|
import com.google.common.collect.Lists;
|
|
|
|
|
import com.google.common.collect.Maps;
|
|
|
|
|
import com.google.common.collect.Sets;
|
|
|
|
|
import lombok.RequiredArgsConstructor;
|
|
|
|
|
import lombok.SneakyThrows;
|
|
|
|
@ -40,13 +42,9 @@ import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
|
|
|
|
import javax.mail.Flags;
|
|
|
|
|
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;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
@ -114,7 +112,8 @@ public class MailSourceTask {
|
|
|
|
|
CompressUtil.unzipFiles(deliveryProperties.getFileUrl(),
|
|
|
|
|
path, deliveryProperties.getZipPassword());
|
|
|
|
|
if (ObjectUtil.isNotNull(byTaskName.getType())) {
|
|
|
|
|
if (byTaskName.getType() == DefaultNumberConstants.ONE_NUMBER) {
|
|
|
|
|
if (byTaskName.getType() == DefaultNumberConstants.ONE_NUMBER
|
|
|
|
|
|| byTaskName.getType() == DefaultNumberConstants.THREE_NUMBER) {
|
|
|
|
|
File file = new File(unzipPath);
|
|
|
|
|
File parseFile = Objects.requireNonNull
|
|
|
|
|
(file.listFiles())[DefaultNumberConstants.ZERO_NUMBER];
|
|
|
|
@ -143,9 +142,9 @@ public class MailSourceTask {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
// 修改为接收参数
|
|
|
|
|
if (CollUtil.isNotEmpty(decryptList)) {
|
|
|
|
|
log.info("=================== the decryptList size as {} =====================", decryptList.size());
|
|
|
|
|
if (byTaskName.getType() == DefaultNumberConstants.ONE_NUMBER) {
|
|
|
|
|
// 将imei转为线索
|
|
|
|
|
clueService.saveClue(tagList, decryptList, byTaskName.getTaskId(),
|
|
|
|
|
byTaskName.getUserId(), DefaultNumberConstants.FOUR_NUMBER);
|
|
|
|
@ -158,16 +157,38 @@ public class MailSourceTask {
|
|
|
|
|
FileUtil.del(path);
|
|
|
|
|
FileUtil.del(unzipPath);
|
|
|
|
|
taskClient.updateTask(task);
|
|
|
|
|
deliveryRecordService.updateStatusByTaskName(DefaultNumberConstants.ONE_NUMBER, taskName);
|
|
|
|
|
deliveryRecordService.updateStatusByTaskName(DefaultNumberConstants.ONE_NUMBER,decryptList.size(), taskName);
|
|
|
|
|
}
|
|
|
|
|
log.info("============== message parsing succeeded file path as {} unzip path as {} ===============", path, unzipPath);
|
|
|
|
|
if (byTaskName.getType() == DefaultNumberConstants.THREE_NUMBER) {
|
|
|
|
|
Map<String, Object> map = Maps.newHashMap();
|
|
|
|
|
List<DmpDataDTO> arrayList = Lists.newArrayList();
|
|
|
|
|
DmpResponse dmpResponse = new DmpResponse();
|
|
|
|
|
for (int i = 0; i < decryptList.size(); i++) {
|
|
|
|
|
DmpDataDTO dto = new DmpDataDTO();
|
|
|
|
|
String encrypt = AESUtils.encrypt
|
|
|
|
|
(decryptList.get(i), deliveryProperties.getExchangePassword());
|
|
|
|
|
dto.setTag(tagList.get(i));
|
|
|
|
|
dto.setDecryptInfo(encrypt);
|
|
|
|
|
arrayList.add(dto);
|
|
|
|
|
}
|
|
|
|
|
dmpResponse.setBatchNo(taskName);
|
|
|
|
|
dmpResponse.setDecryptList(arrayList);
|
|
|
|
|
map.put("status",DefaultNumberConstants.TWO_HUNDRED);
|
|
|
|
|
map.put("msg", ResponseCode.SUCCESS.getDesc());
|
|
|
|
|
map.put("data",dmpResponse);
|
|
|
|
|
HttpUtil.post("", JSONUtil.toJsonStr(map));
|
|
|
|
|
deliveryRecordService.updateStatusByTaskName(DefaultNumberConstants.ONE_NUMBER, decryptList.size(), taskName);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (byTaskName.getType() == DefaultNumberConstants.TWO_NUMBER) {
|
|
|
|
|
log.info("========================= the path as {} =========================", path);
|
|
|
|
|
String filePath = path.substring(path.lastIndexOf(StrPool.SLASH) + DefaultNumberConstants.ONE_NUMBER);
|
|
|
|
|
deliveryRecordService.updateStatusByTaskName(DefaultNumberConstants.ONE_NUMBER, taskName);
|
|
|
|
|
deliveryRecordService.updateStatusByTaskName(DefaultNumberConstants.ONE_NUMBER, decryptList.size(), taskName);
|
|
|
|
|
downRecordClient.updatePath(deliveryProperties.getDmpDownPath().concat(filePath), byTaskName.getId());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|