|
|
|
@ -69,16 +69,16 @@ public class GenderConversionTask {
|
|
|
|
|
Long lastId = list.get(list.size() - DefaultNumberConstants.ONE_NUMBER).getId();
|
|
|
|
|
// 去除重复并转换相应的格式
|
|
|
|
|
List<String> stringList = list.stream().map
|
|
|
|
|
(source -> AESUtils.encryptHex(AESUtils.decrypt(source.getNid(),
|
|
|
|
|
AdPlatFormConstants.AD_PLATFORM), AdPlatFormConstants.AES_PASSWORD))
|
|
|
|
|
(source -> AESUtils.dbEncrypt(AdPlatFormConstants.AES_PASSWORD, Objects.requireNonNull(AESUtils.decrypt(source.getNid(),
|
|
|
|
|
AdPlatFormConstants.AD_PLATFORM))))
|
|
|
|
|
.distinct().collect(Collectors.toList());
|
|
|
|
|
String taskImeiName = redisUtils.acquisitionBatch(MailRequestEnum.GG.getCacheName());
|
|
|
|
|
String file = fileUrl.concat(StrPool.SLASH).concat(taskImeiName);
|
|
|
|
|
// 压缩文件并发送
|
|
|
|
|
FileAndGenderUtil.zipFileAndSendGenderMail(stringList, file, taskImeiName, deliveryProperties);
|
|
|
|
|
clueService.updateGenderById(DefaultNumberConstants.THREE_NUMBER, firstId, lastId);
|
|
|
|
|
clueService.updateGenderById(DefaultNumberConstants.FOUR_NUMBER, firstId, lastId);
|
|
|
|
|
genderRecordService.saveDeliveryRecord(taskImeiName, list.size(), DefaultNumberConstants.ONE_NUMBER);
|
|
|
|
|
log.info("============== the save num as {} first id {} last id {} ================", list.size(), firstId, lastId);
|
|
|
|
|
log.info("============== the save num as {} first id {} last id {} ================", stringList.size(), firstId, lastId);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -89,8 +89,7 @@ public class GenderConversionTask {
|
|
|
|
|
public void receiveMail() {
|
|
|
|
|
// 获取邮件内容
|
|
|
|
|
List<Message> list = MailUtil.readMailByIMAP
|
|
|
|
|
(deliveryProperties.getEmailAddress(), deliveryProperties.getEmailPassword());
|
|
|
|
|
|
|
|
|
|
(deliveryProperties.getGenderEmailAddress(), deliveryProperties.getEmailPassword());
|
|
|
|
|
if (CollUtil.isNotEmpty(list)) {
|
|
|
|
|
for (Message message : list) {
|
|
|
|
|
// 获取未读的邮件内容 且与之对应
|
|
|
|
@ -103,9 +102,12 @@ public class GenderConversionTask {
|
|
|
|
|
}
|
|
|
|
|
// 设置十分钟缓存
|
|
|
|
|
redisUtils.set(taskName, taskName, DefaultNumberConstants.TEN_NUMBER, TimeUnit.MINUTES);
|
|
|
|
|
DeliveryGender byTaskName = genderRecordService.findByTaskName(taskName);
|
|
|
|
|
String substring = taskName.substring(DefaultNumberConstants.ZERO_NUMBER, taskName.indexOf(StrPool.DASHED));
|
|
|
|
|
DeliveryGender byTaskName = genderRecordService.findByTaskName(substring);
|
|
|
|
|
if (ObjectUtil.isNotNull(byTaskName)
|
|
|
|
|
&& byTaskName.getStatus() == DefaultNumberConstants.ZERO_NUMBER) {
|
|
|
|
|
&& !byTaskName.getTaskNumStr().contains(taskName)) {
|
|
|
|
|
List<String> taskNumStr = byTaskName.getTaskNumStr();
|
|
|
|
|
taskNumStr.add(taskName);
|
|
|
|
|
log.info("================ the gender mail taskName as {} ==============", taskName);
|
|
|
|
|
List<String> zidList = Lists.newArrayList();
|
|
|
|
|
List<String> genderList = Lists.newArrayList();
|
|
|
|
@ -125,22 +127,23 @@ public class GenderConversionTask {
|
|
|
|
|
CsvData data = reader.read(parseFile);
|
|
|
|
|
// csv通配
|
|
|
|
|
data.getRows().forEach(clue -> {
|
|
|
|
|
zidList.add(AESUtils.decryptStr
|
|
|
|
|
(clue.get(DefaultNumberConstants.ZERO_NUMBER), AdPlatFormConstants.AES_PASSWORD));
|
|
|
|
|
zidList.add(AESUtils.dbDecrypt
|
|
|
|
|
(AdPlatFormConstants.AES_PASSWORD, clue.get(DefaultNumberConstants.ZERO_NUMBER)));
|
|
|
|
|
genderList.add(clue.get(DefaultNumberConstants.ONE_NUMBER));
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
for (int i = 0; i < zidList.size(); i++) {
|
|
|
|
|
String genderType = genderList.get(i);
|
|
|
|
|
String letterToNum = ConversionUtil.letterToNum(zidList.get(i));
|
|
|
|
|
String letterToNum = zidList.get(i);
|
|
|
|
|
if (MobileUtil.checkPhone(letterToNum)) {
|
|
|
|
|
// 修改gender
|
|
|
|
|
clueService.updateGenderByZid(AESUtils.decrypt
|
|
|
|
|
clueService.updateGenderByZid(AESUtils.encrypt
|
|
|
|
|
(letterToNum, AdPlatFormConstants.AD_PLATFORM), ValidationUtil.isInteger(genderType)
|
|
|
|
|
? Integer.parseInt(genderType) + DefaultNumberConstants.ONE_NUMBER : DefaultNumberConstants.FIVE_NUMBER);
|
|
|
|
|
? Integer.parseInt(genderType) + DefaultNumberConstants.ONE_NUMBER : DefaultNumberConstants.FOUR_NUMBER);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
genderRecordService.updateStatusByTaskName(DefaultNumberConstants.ONE_NUMBER, taskName);
|
|
|
|
|
byTaskName.setStatus(DefaultNumberConstants.ONE_NUMBER);
|
|
|
|
|
genderRecordService.updateStatusByTaskName(byTaskName);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|