diff --git a/ad-platform-common/ad-platform-common-core/pom.xml b/ad-platform-common/ad-platform-common-core/pom.xml
index 4321618b..bdeb4006 100644
--- a/ad-platform-common/ad-platform-common-core/pom.xml
+++ b/ad-platform-common/ad-platform-common-core/pom.xml
@@ -119,10 +119,12 @@
- javax.mail
- mail
+ com.sun.mail
+ javax.mail
+ ${mail.version}
+
net.lingala.zip4j
zip4j
diff --git a/ad-platform-common/ad-platform-common-core/src/main/java/com/baiye/util/CacheKey.java b/ad-platform-common/ad-platform-common-core/src/main/java/com/baiye/util/CacheKey.java
index 6291b1df..55641062 100644
--- a/ad-platform-common/ad-platform-common-core/src/main/java/com/baiye/util/CacheKey.java
+++ b/ad-platform-common/ad-platform-common-core/src/main/java/com/baiye/util/CacheKey.java
@@ -61,5 +61,5 @@ public interface CacheKey {
/**
* dmp请求批次
*/
- String DMP_REQUEST_ID = "dmp::request::id";
+ String DMP_REQUEST_ID = "dmp::request::";
}
diff --git a/ad-platform-common/ad-platform-common-core/src/main/java/com/baiye/util/EncryptUtil.java b/ad-platform-common/ad-platform-common-core/src/main/java/com/baiye/util/EncryptUtil.java
index 7a20a1f0..82e1ce22 100644
--- a/ad-platform-common/ad-platform-common-core/src/main/java/com/baiye/util/EncryptUtil.java
+++ b/ad-platform-common/ad-platform-common-core/src/main/java/com/baiye/util/EncryptUtil.java
@@ -146,7 +146,7 @@ public class EncryptUtil {
return new String(cipher.doFinal(Objects.requireNonNull(parseHexStr2Byte(res))));
}
} catch (Exception e) {
- log.error("++++++++++++++++++ the keyGeneratorES error +++++++++++++++");
+ log.error("++++++++++++++++++ the keyGeneratorES error res as {} key as {} +++++++++++++++", res, key);
}
return null;
}
diff --git a/ad-platform-common/ad-platform-common-core/src/main/java/com/baiye/util/MailUtil.java b/ad-platform-common/ad-platform-common-core/src/main/java/com/baiye/util/MailUtil.java
index a8575238..91551b39 100644
--- a/ad-platform-common/ad-platform-common-core/src/main/java/com/baiye/util/MailUtil.java
+++ b/ad-platform-common/ad-platform-common-core/src/main/java/com/baiye/util/MailUtil.java
@@ -133,17 +133,29 @@ public class MailUtil {
// 1. 创建参数配置, 用于连接邮件服务器的参数配置
// 参数配置
Properties props = new Properties();
- // 使用的协议(JavaMail规范要求)
- props.setProperty("mail.transport.protocol", "smtp");
+
+ // 端口
+ props.put("mail.smtp.port", "587");
+
// 发件人的邮箱的 SMTP 服务器地址
- props.setProperty("mail.smtp.host", "smtp.office365.com");
+ props.put("mail.smtp.host", "smtp.office365.com");
+
+ // 当前smtp host设为可信任 否则抛出javax.mail.MessagingException: Could not convert socket to TLS
+ props.put("mail.smtp.ssl.trust", "smtp.office365.com");
+
+ // 使用的协议(JavaMail规范要求)
+ props.put("mail.transport.protocol", "smtp");
+
// 需要请求认证
- props.setProperty("mail.smtp.auth", "true");
+ props.put("mail.smtp.auth", "true");
+
// 开启STARTTLS
- props.setProperty("mail.smtp.starttls.enable", "true");
+ props.put("mail.smtp.starttls.enable", "true");
- // 开启 SSL 连接, 以及更详细的发送步骤请看上一篇: 基于 JavaMail 的 Java 邮件发送:简单邮件发送
+ // ssl
+ props.put("mail.smtp.ssl", "true");
+ // 开启 SSL 连接, 以及更详细的发送步骤请看上一篇: 基于 JavaMail 的 Java 邮件发送:简单邮件发送
// 2. 根据配置创建会话对象, 用于和邮件服务器交互
Session session = Session.getInstance(props);
// 设置为debug模式, 可以查看详细的发送 log
@@ -165,7 +177,7 @@ public class MailUtil {
// 7. 关闭连接
transport.close();
} catch (Exception ex) {
- ex.printStackTrace();
+ log.error("===================== send message error {} ==========================", ex.getMessage());
}
}
diff --git a/manage/ad-platform-management/src/main/java/com/baiye/timed/DeliveryBalanceTask.java b/manage/ad-platform-management/src/main/java/com/baiye/timed/DeliveryBalanceTask.java
index 8d97bbf5..48291ddb 100644
--- a/manage/ad-platform-management/src/main/java/com/baiye/timed/DeliveryBalanceTask.java
+++ b/manage/ad-platform-management/src/main/java/com/baiye/timed/DeliveryBalanceTask.java
@@ -93,10 +93,11 @@ public class DeliveryBalanceTask {
continue;
}
String fileUrl = deliveryProperties.getFileUrl();
- Integer num = (Integer) redisUtils.get(CacheKey.DMP_REQUEST_ID);
+ String format = DateUtil.format(DateUtil.date(), DatePattern.PURE_DATE_PATTERN);
+ Integer num = (Integer) redisUtils.get(CacheKey.DMP_REQUEST_ID.concat(format));
// 转换DTO
List toList = Convert.toList(ImeiDTO.class, taskImeiList);
- String format = DateUtil.format(DateUtil.date(), DatePattern.PURE_DATE_PATTERN);
+
Integer batch = ObjectUtil.isNull(num) ? DefaultNumberConstants.ONE_NUMBER : num + DefaultNumberConstants.ONE_NUMBER;
String taskImeiName = "BY".concat(StrPool.UNDERLINE).concat(format).concat(StrPool.UNDERLINE).concat(String.valueOf(batch));
@@ -113,16 +114,16 @@ public class DeliveryBalanceTask {
deliveryProperties.getEmailPassword(),
deliveryProperties.getToEmailAddress(), zipPath, taskImeiName);
// 保存批次号
- redisUtils.set(CacheKey.DMP_REQUEST_ID, batch, DefaultNumberConstants.ONE_NUMBER, TimeUnit.DAYS);
+ redisUtils.set(CacheKey.DMP_REQUEST_ID.concat(format), batch, DefaultNumberConstants.ONE_NUMBER, TimeUnit.DAYS);
// 修改状态 修改余额
taskImeiService.updateBath(taskId, taskImeiName, DefaultNumberConstants.ONE_NUMBER);
deliveryRecordService.saveDeliveryRecord(zipPath, taskImeiName, taskImeiList.size(), taskId, userId);
companyService.updateUserBalanceByCompanyId(sub.doubleValue(), companyByUserId.getId());
// 删除文件
- FileUtil.del(csvPath);
- FileUtil.del(zipPath);
- log.info("=========================== the csv path as {}, zip path as {} ========================", csvPath, zipPath);
+ boolean csvResult = FileUtil.del(csvPath);
+ boolean zipResult = FileUtil.del(zipPath);
+ log.info("=========================== the csv path as {}, zip path as {} csvResult as {} zipResult as {} ========================", csvPath, zipPath, csvResult, zipResult);
}
}
}
diff --git a/pom.xml b/pom.xml
index 75c22380..797b61f6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -31,8 +31,8 @@
3.9.0
- 1.4
4.0.0
+ 1.6.2
5.7.1
23.0
5.23
@@ -244,8 +244,8 @@
- javax.mail
- mail
+ com.sun.mail
+ javax.mail
${mail.version}
diff --git a/services/ad-platform-source/src/main/java/com/baiye/module/service/ClueService.java b/services/ad-platform-source/src/main/java/com/baiye/module/service/ClueService.java
index 0f560e56..0656f960 100644
--- a/services/ad-platform-source/src/main/java/com/baiye/module/service/ClueService.java
+++ b/services/ad-platform-source/src/main/java/com/baiye/module/service/ClueService.java
@@ -251,12 +251,13 @@ public interface ClueService {
/**
* 保存线索
*
+ * @param tagList
* @param phoneList
* @param taskId
* @param userId
* @param num
*/
- void saveClue(List phoneList, Long taskId, Long userId, Integer num);
+ void saveClue(List tagList, List phoneList, Long taskId, Long userId, Integer num);
/**
* 将拓客的线索回流到crm
diff --git a/services/ad-platform-source/src/main/java/com/baiye/module/service/dto/MailDTO.java b/services/ad-platform-source/src/main/java/com/baiye/module/service/dto/MailDTO.java
index 97d03bdc..849532c5 100644
--- a/services/ad-platform-source/src/main/java/com/baiye/module/service/dto/MailDTO.java
+++ b/services/ad-platform-source/src/main/java/com/baiye/module/service/dto/MailDTO.java
@@ -1,5 +1,6 @@
package com.baiye.module.service.dto;
+import cn.hutool.core.annotation.Alias;
import lombok.Data;
/**
@@ -8,6 +9,12 @@ import lombok.Data;
*/
@Data
public class MailDTO {
- private String imei;
+ @Alias("phone")
+ private String phone;
+ @Alias("tag")
private String tag;
+ @Alias("corp")
+ private String corp;
+ @Alias("decryptInfo")
+ private String decryptInfo;
}
diff --git a/services/ad-platform-source/src/main/java/com/baiye/module/service/impl/ClueServiceImpl.java b/services/ad-platform-source/src/main/java/com/baiye/module/service/impl/ClueServiceImpl.java
index dd79541a..8450ad2d 100644
--- a/services/ad-platform-source/src/main/java/com/baiye/module/service/impl/ClueServiceImpl.java
+++ b/services/ad-platform-source/src/main/java/com/baiye/module/service/impl/ClueServiceImpl.java
@@ -977,15 +977,16 @@ public class ClueServiceImpl implements ClueService {
@Override
- public void saveClue(List phoneList, Long taskId, Long userId, Integer num) {
+ public void saveClue(List tagList, List phoneList, Long taskId, Long userId, Integer num) {
if (CollUtil.isNotEmpty(phoneList)) {
- for (String phone : phoneList) {
+ for (int i = 0; i < phoneList.size(); i++) {
+ String phone = phoneList.get(i);
if (StringUtils.isNotBlank(phone)) {
- boolean bool = MobileUtil.checkPhone(phone);
- if (bool) {
+ if (MobileUtil.checkPhone(phone)) {
Clue clue = new Clue();
clue.setNid(phone);
clue.setCreateBy(userId);
+ clue.setCastInfo(tagList.get(i));
clue.setOrigin(DefaultNumberConstants.FIVE_NUMBER);
Clue save = clueRepository.save(clue);
ClueMiddle clueMiddle = new ClueMiddle();
diff --git a/services/ad-platform-source/src/main/java/com/baiye/task/MailSourceTask.java b/services/ad-platform-source/src/main/java/com/baiye/task/MailSourceTask.java
index d2cc8099..81da5d7b 100644
--- a/services/ad-platform-source/src/main/java/com/baiye/task/MailSourceTask.java
+++ b/services/ad-platform-source/src/main/java/com/baiye/task/MailSourceTask.java
@@ -1,11 +1,8 @@
package com.baiye.task;
-import cn.hutool.core.codec.Base64;
import cn.hutool.core.collection.CollUtil;
-import cn.hutool.core.collection.ListUtil;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.io.FileUtil;
-import cn.hutool.core.text.StrPool;
import cn.hutool.core.text.csv.CsvData;
import cn.hutool.core.text.csv.CsvReader;
import cn.hutool.core.text.csv.CsvUtil;
@@ -18,16 +15,11 @@ 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.google.common.base.Joiner;
-import com.google.common.base.Splitter;
import com.google.common.collect.Lists;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.lang3.StringUtils;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
@@ -67,11 +59,11 @@ public class MailSourceTask {
try {
for (Message message : list) {
// 获取邮件的状态
- Flags flags = message.getFlags();
+ /* Flags flags = message.getFlags();
+ !flags.contains(Flags.Flag.SEEN) &&*/
// 获取未读的邮件内容 且与之对应
- if (!flags.contains(Flags.Flag.SEEN) &&
- deliveryProperties.getToEmailAddress().equalsIgnoreCase
- (MailUtil.getFrom((MimeMessage) message))) {
+ if (deliveryProperties.getToEmailAddress().equalsIgnoreCase
+ (MailUtil.getFrom((MimeMessage) message))) {
String taskName = message.getSubject();
// 内容获取发送请求
DeliveryRecord byTaskName = deliveryRecordService.findByTaskName(taskName);
@@ -80,8 +72,8 @@ public class MailSourceTask {
Task task = new Task();
Long taskId = byTaskName.getTaskId();
CsvReader reader = CsvUtil.getReader();
+ List tagList = Lists.newArrayList();
List phoneList = Lists.newArrayList();
- List decryptionList = Lists.newArrayList();
// 解析附件内容并保存文件
String path = MailUtil.saveAttachMent
(message, deliveryProperties.getFileUrl());
@@ -94,21 +86,13 @@ public class MailSourceTask {
(file.listFiles())[DefaultNumberConstants.ZERO_NUMBER];
// 解析文件
CsvData data = reader.read(parseFile);
+ data.getRows().forEach(clue -> tagList.add
+ (clue.get(DefaultNumberConstants.ONE_NUMBER)));
- data.getRows().forEach(clue -> decryptionList.add
- (clue.get(DefaultNumberConstants.ZERO_NUMBER)));
- List> partitions = ListUtil.partition
- (decryptionList, DefaultNumberConstants.TWO_HUNDRED);
- for (List partition : partitions) {
- String join = Joiner.on(StrPool.COMMA).join(partition);
- SecretResponseBean responseBean
- = DecryptPnoUtil.batchDecryptPno(Base64.encode
- (StringUtils.substringBeforeLast(join, StrPool.COMMA)));
- String phoneStr = Base64.decodeStr(responseBean.getTels());
- phoneList.addAll(Splitter.on(StrPool.COMMA).splitToList(phoneStr));
- }
+ data.getRows().forEach(clue -> phoneList.add
+ (clue.get(DefaultNumberConstants.THREE_NUMBER)));
// 将imei转为线索
- clueService.saveClue(phoneList, byTaskName.getTaskId(),
+ clueService.saveClue(tagList, phoneList, byTaskName.getTaskId(),
byTaskName.getUserId(), DefaultNumberConstants.FOUR_NUMBER);
// 修改任务总条数
Integer taskNum = clueService.findTaskNum(taskId);