修改邮件代码

master
bynt 2 years ago
parent 45f3ef445b
commit 8caca6678f

@ -10,12 +10,13 @@ import com.baiye.modules.security.service.OnlineUserService;
import com.baiye.modules.settlement.dao.CallCostRepository;
import com.baiye.modules.settlement.entity.CallSettlement;
import com.baiye.modules.settlement.service.CallCostService;
import com.baiye.modules.system.domain.PayCombo;
import com.baiye.modules.system.domain.PayComboUser;
import com.baiye.modules.system.domain.PayFatherTemplate;
import com.baiye.modules.system.domain.User;
import com.baiye.modules.system.repository.PayComboRepository;
import com.baiye.modules.system.domain.*;
import com.baiye.modules.system.repository.PayFatherTemplateRepository;
import com.baiye.modules.system.repository.PayComboUserRepository;
import com.baiye.modules.system.repository.PayFatherTemplateRepository;
import com.baiye.modules.system.repository.UserRepository;
import com.baiye.modules.system.service.CompanyService;
import com.baiye.modules.system.service.OrganizeService;
@ -28,7 +29,8 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.*;
import java.util.Comparator;
import java.util.List;
import java.util.stream.Collectors;

@ -14,8 +14,8 @@ public class PlatformTransmitDTO {
private Long taskId;
private Long userId;
private String authToken;
private List<PlateFormDTO> list;
private List<RepeatFormDTO> list;
}

@ -7,17 +7,20 @@ import lombok.Data;
* @date : 2022/10/13
*/
@Data
public class PlateFormDTO {
public class RepeatFormDTO {
private String imei;
private String tag;
public PlateFormDTO() {
}
private Long userId;
public RepeatFormDTO() {
}
public PlateFormDTO(String imei, String tag) {
public RepeatFormDTO(String imei, String tag, Long userId) {
this.userId = userId;
this.imei = imei;
this.tag = tag;
}

@ -5,7 +5,7 @@ import com.baiye.constant.DefaultNumberConstants;
import com.baiye.modules.system.domain.TaskImei;
import com.baiye.modules.system.repository.TaskImeiRepository;
import com.baiye.modules.system.service.TaskImeiService;
import com.baiye.modules.system.service.dto.PlateFormDTO;
import com.baiye.modules.system.service.dto.RepeatFormDTO;
import com.baiye.modules.system.service.dto.PlatformTransmitDTO;
import com.google.common.collect.Lists;
import lombok.RequiredArgsConstructor;
@ -47,7 +47,7 @@ public class TaskImeiServiceImpl implements TaskImeiService {
if (StringUtils.isNotBlank(transmitDTO.getAuthToken())
&& transmitDTO.getAuthToken().equalsIgnoreCase(authToken)) {
List<TaskImei> imeiList = Lists.newArrayList();
for (PlateFormDTO plateForm : transmitDTO.getList()) {
for (RepeatFormDTO plateForm : transmitDTO.getList()) {
TaskImei taskImei = new TaskImei();
taskImei.setTag(plateForm.getTag());
taskImei.setImei(plateForm.getImei());

@ -5,9 +5,11 @@ import cn.hutool.core.convert.Convert;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.text.CharSequenceUtil;
import cn.hutool.core.text.StrPool;
import cn.hutool.core.util.NumberUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.baiye.config.properties.DeliveryProperties;
import com.baiye.constant.DefaultNumberConstants;
import com.baiye.modules.system.domain.Company;
@ -48,7 +50,6 @@ public class DeliveryBalanceTask {
private final TaskImeiService taskImeiService;
private final DeliveryProperties deliveryProperties;
private final DeliveryRecordService deliveryRecordService;
@ -116,7 +117,7 @@ public class DeliveryBalanceTask {
// 保存批次号
redisUtils.set(CacheKey.DMP_REQUEST_ID.concat(format), batch, DefaultNumberConstants.ONE_NUMBER, TimeUnit.DAYS);
// 修改状态 修改余额
taskImeiService.updateBath(taskId, taskImeiName, DefaultNumberConstants.ONE_NUMBER);
taskImeiService.updateBath(taskId, CharSequenceUtil.EMPTY, DefaultNumberConstants.ONE_NUMBER);
deliveryRecordService.saveDeliveryRecord(zipPath, taskImeiName, taskImeiList.size(), taskId, userId);
companyService.updateUserBalanceByCompanyId(sub.doubleValue(), companyByUserId.getId());

@ -1049,6 +1049,7 @@ public class ClueServiceImpl implements ClueService {
}
}
}
log.info("================= save clue size as {} =================", phoneList.size());
}
}
}

@ -1,12 +1,17 @@
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.lang.Console;
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;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.baiye.config.properties.DeliveryProperties;
import com.baiye.constant.DefaultNumberConstants;
import com.baiye.exception.BadRequestException;
@ -15,11 +20,15 @@ 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.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;
@ -28,6 +37,8 @@ import javax.mail.Flags;
import javax.mail.Message;
import javax.mail.internet.MimeMessage;
import java.io.File;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Objects;
@ -69,11 +80,13 @@ public class MailSourceTask {
DeliveryRecord byTaskName = deliveryRecordService.findByTaskName(taskName);
if (ObjectUtil.isNotNull(byTaskName)
&& byTaskName.getStatus() == DefaultNumberConstants.ZERO_NUMBER) {
log.info("================ the receive mail taskName as {} ==============", taskName);
Task task = new Task();
Long taskId = byTaskName.getTaskId();
CsvReader reader = CsvUtil.getReader();
List<String> tagList = Lists.newArrayList();
List<String> phoneList = Lists.newArrayList();
List<String> decryptList = Lists.newArrayList();
// 解析附件内容并保存文件
String path = MailUtil.saveAttachMent
(message, deliveryProperties.getFileUrl());
@ -91,21 +104,40 @@ public class MailSourceTask {
data.getRows().forEach(clue -> phoneList.add
(clue.get(DefaultNumberConstants.THREE_NUMBER)));
// 将imei转为线索
clueService.saveClue(tagList, phoneList, byTaskName.getTaskId(),
byTaskName.getUserId(), DefaultNumberConstants.FOUR_NUMBER);
// 修改任务总条数
Integer taskNum = clueService.findTaskNum(taskId);
task.setId(taskId);
task.setTotalNumber(taskNum);
task.setIsDistribution(DefaultNumberConstants.ONE_NUMBER);
// 删除邮件 删除文件
FileUtil.del(path);
FileUtil.del(unzipPath);
taskClient.updateTask(task);
message.setFlag(Flags.Flag.DELETED, Boolean.TRUE);
deliveryRecordService.updateStatusByTaskName(DefaultNumberConstants.ONE_NUMBER, taskName);
log.info("=============== the phone list as {} ==================", phoneList.size());
// 集合分割
List<List<String>> partitions = ListUtil.partition(phoneList, 200);
for (List<String> partition : partitions) {
String join = Joiner.on(StrPool.COMMA).skipNulls().join(partition);
SecretResponseBean responseBean = DecryptPnoUtil.batchDecryptPno
(Base64.encode(StringUtils.substringBeforeLast(join, StrPool.COMMA)));
if (Objects.nonNull(responseBean)) {
String decodeStr = Base64.decodeStr(responseBean.getTels());
String[] split = decodeStr.split(StrPool.COMMA);
if (split.length > 0) {
decryptList.addAll(Lists.newArrayList(Arrays.asList(split)));
}
}
}
if (CollUtil.isNotEmpty(decryptList)) {
// 将imei转为线索
clueService.saveClue(tagList, decryptList, byTaskName.getTaskId(),
byTaskName.getUserId(), DefaultNumberConstants.FOUR_NUMBER);
// 修改任务总条数
Integer taskNum = clueService.findTaskNum(taskId);
task.setId(taskId);
task.setTotalNumber(taskNum);
task.setIsDistribution(DefaultNumberConstants.ONE_NUMBER);
// 删除邮件 删除文件
FileUtil.del(path);
FileUtil.del(unzipPath);
taskClient.updateTask(task);
// message.setFlag(Flags.Flag.DELETED, Boolean.TRUE);
deliveryRecordService.updateStatusByTaskName(DefaultNumberConstants.ONE_NUMBER, taskName);
log.info("============== message parsing succeeded file path as {} unzip path as {} ===============", path, unzipPath);
}
}
}
}
@ -116,3 +148,4 @@ public class MailSourceTask {
}
}
}

Loading…
Cancel
Save