|
|
@ -20,6 +20,7 @@ import com.jcraft.jsch.Session;
|
|
|
|
import lombok.SneakyThrows;
|
|
|
|
import lombok.SneakyThrows;
|
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
import me.zhengjie.config.thread.ThreadPoolConfig;
|
|
|
|
import me.zhengjie.config.thread.ThreadPoolConfig;
|
|
|
|
|
|
|
|
import me.zhengjie.constant.SystemConstant;
|
|
|
|
import me.zhengjie.exception.BadRequestException;
|
|
|
|
import me.zhengjie.exception.BadRequestException;
|
|
|
|
import me.zhengjie.modules.constant.DefaultConstant;
|
|
|
|
import me.zhengjie.modules.constant.DefaultConstant;
|
|
|
|
import me.zhengjie.modules.constant.FileConstant;
|
|
|
|
import me.zhengjie.modules.constant.FileConstant;
|
|
|
@ -180,11 +181,11 @@ public class SaveToFileNewTask {
|
|
|
|
? TxtUtils.txtParseListVyUrl(filePath) :
|
|
|
|
? TxtUtils.txtParseListVyUrl(filePath) :
|
|
|
|
fileFormat.contains(FileConstant.CSV_FILE_SUB_NAME)
|
|
|
|
fileFormat.contains(FileConstant.CSV_FILE_SUB_NAME)
|
|
|
|
? ToolExcelUtils.csvParseListByUrl(filePath)
|
|
|
|
? ToolExcelUtils.csvParseListByUrl(filePath)
|
|
|
|
: ToolExcelUtils.excelParseListByUrl(filePath);
|
|
|
|
: ToolExcelUtils.excelParseListByUrl(filePath);
|
|
|
|
Map<Integer, List<String>> preEncryptNumMap = listT.stream().filter
|
|
|
|
Map<Integer, List<String>> preEncryptNumMap = listT.stream().filter
|
|
|
|
(phone -> StringUtils.isNotBlank(phone.trim())).collect(Collectors.groupingBy(String::length));
|
|
|
|
(phone -> StringUtils.isNotBlank(phone.trim())).collect(Collectors.groupingBy(String::length));
|
|
|
|
if (CollectionUtil.isNotEmpty(preEncryptNumMap)) {
|
|
|
|
if (CollectionUtil.isNotEmpty(preEncryptNumMap)) {
|
|
|
|
// 分批调用接口进行加密
|
|
|
|
// 分批调用接口进行解密
|
|
|
|
if (tbUploadFileNewDto.getEncryptionType() == DefaultConstant.TWO_NUMBER) {
|
|
|
|
if (tbUploadFileNewDto.getEncryptionType() == DefaultConstant.TWO_NUMBER) {
|
|
|
|
List<String> decryptionList = preEncryptNumMap.get(2 << 4);
|
|
|
|
List<String> decryptionList = preEncryptNumMap.get(2 << 4);
|
|
|
|
if (CollUtil.isNotEmpty(decryptionList)) {
|
|
|
|
if (CollUtil.isNotEmpty(decryptionList)) {
|
|
|
@ -193,7 +194,7 @@ public class SaveToFileNewTask {
|
|
|
|
// 替换集合并去除空格
|
|
|
|
// 替换集合并去除空格
|
|
|
|
phoneList = stringList.stream().filter
|
|
|
|
phoneList = stringList.stream().filter
|
|
|
|
(StringUtils::isNotBlank).collect(Collectors.toList());
|
|
|
|
(StringUtils::isNotBlank).collect(Collectors.toList());
|
|
|
|
log.info("============ the phone list as {} ============",phoneList.size());
|
|
|
|
log.info("============ the phone list as {} ============", phoneList.size());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -243,7 +244,7 @@ public class SaveToFileNewTask {
|
|
|
|
int batchNum = partition.size();
|
|
|
|
int batchNum = partition.size();
|
|
|
|
stopWatch.start();
|
|
|
|
stopWatch.start();
|
|
|
|
for (List<String> list : partition) {
|
|
|
|
for (List<String> list : partition) {
|
|
|
|
TimeUnit.MILLISECONDS.sleep(300L);
|
|
|
|
TimeUnit.MILLISECONDS.sleep(1000L);
|
|
|
|
// 异步线程池
|
|
|
|
// 异步线程池
|
|
|
|
CompletableFuture<List<String>> future = CompletableFuture.supplyAsync(() -> {
|
|
|
|
CompletableFuture<List<String>> future = CompletableFuture.supplyAsync(() -> {
|
|
|
|
// 转换
|
|
|
|
// 转换
|
|
|
@ -252,17 +253,20 @@ public class SaveToFileNewTask {
|
|
|
|
DecryptionJsonContent build =
|
|
|
|
DecryptionJsonContent build =
|
|
|
|
DecryptionJsonContent.builder().cellphoneMd5
|
|
|
|
DecryptionJsonContent.builder().cellphoneMd5
|
|
|
|
(decryptStr).requestId(RandomUtil.randomString(TEN_NUM)).build();
|
|
|
|
(decryptStr).requestId(RandomUtil.randomString(TEN_NUM)).build();
|
|
|
|
// 调用HTTP请求发送数据
|
|
|
|
String result = HttpUtil.post(decryptAddress, JSON.toJSONString(build));
|
|
|
|
DecryptionDTO decryptionDTO = JSONUtil.toBean(HttpUtil.post(decryptAddress, JSON.toJSONString(build)), DecryptionDTO.class);
|
|
|
|
if (result.contains(SystemConstant.SUCCESS) && JSONUtil.isJson(result)) {
|
|
|
|
if (org.apache.commons.lang3.StringUtils.isNotBlank(decryptionDTO.getReason())
|
|
|
|
// 调用HTTP请求发送数据
|
|
|
|
&& "success".equals(decryptionDTO.getReason()) && (org.apache.commons.lang3.StringUtils.isNotBlank(decryptionDTO.getCellPhone()))) {
|
|
|
|
DecryptionDTO decryptionDTO = JSONUtil.toBean(result, DecryptionDTO.class);
|
|
|
|
List<String> parseArray = JSON.parseArray(decryptionDTO.getCellPhone(), String.class);
|
|
|
|
if (org.apache.commons.lang3.StringUtils.isNotBlank(decryptionDTO.getReason())
|
|
|
|
if (!parseArray.isEmpty()) {
|
|
|
|
&& SystemConstant.SUCCESS.equals(decryptionDTO.getReason()) && (org.apache.commons.lang3.StringUtils.isNotBlank(decryptionDTO.getCellPhone()))) {
|
|
|
|
log.info("================ response size as {} ================", parseArray.size());
|
|
|
|
List<String> parseArray = JSON.parseArray(decryptionDTO.getCellPhone(), String.class);
|
|
|
|
return parseArray;
|
|
|
|
if (!parseArray.isEmpty()) {
|
|
|
|
|
|
|
|
log.info("================ response size as {} ================", parseArray.size());
|
|
|
|
|
|
|
|
return parseArray;
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
log.info("============== the response as {} ===========", JSONUtil.toJsonStr(decryptionDTO));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
log.info("============== the response as {} ===========",JSONUtil.toJsonStr(decryptionDTO));
|
|
|
|
|
|
|
|
return Lists.newArrayList();
|
|
|
|
return Lists.newArrayList();
|
|
|
|
}, executor);
|
|
|
|
}, executor);
|
|
|
|
results.add(future);
|
|
|
|
results.add(future);
|
|
|
|