|
|
@ -52,11 +52,8 @@ public class DeliveryBalanceTask {
|
|
|
|
|
|
|
|
|
|
|
|
private final DeliveryProperties deliveryProperties;
|
|
|
|
private final DeliveryProperties deliveryProperties;
|
|
|
|
|
|
|
|
|
|
|
|
private final CallDeductService callDeductService;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private final DeliveryRecordService deliveryRecordService;
|
|
|
|
private final DeliveryRecordService deliveryRecordService;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* 修改时间 为8点至21点
|
|
|
|
* 修改时间 为8点至21点
|
|
|
|
*/
|
|
|
|
*/
|
|
|
@ -88,7 +85,6 @@ public class DeliveryBalanceTask {
|
|
|
|
if (ObjectUtil.isNotNull(companyByUserId.getDmpLimitNum())
|
|
|
|
if (ObjectUtil.isNotNull(companyByUserId.getDmpLimitNum())
|
|
|
|
&& companyByUserId.getDmpLimitNum() > DefaultNumberConstants.ZERO_NUMBER
|
|
|
|
&& companyByUserId.getDmpLimitNum() > DefaultNumberConstants.ZERO_NUMBER
|
|
|
|
&& list.size() > companyByUserId.getDmpLimitNum()) {
|
|
|
|
&& list.size() > companyByUserId.getDmpLimitNum()) {
|
|
|
|
|
|
|
|
|
|
|
|
downList = CollUtil.sub(list, companyByUserId.getDmpLimitNum(), list.size());
|
|
|
|
downList = CollUtil.sub(list, companyByUserId.getDmpLimitNum(), list.size());
|
|
|
|
list = CollUtil.sub(list, DefaultNumberConstants.ZERO_NUMBER, companyByUserId.getDmpLimitNum());
|
|
|
|
list = CollUtil.sub(list, DefaultNumberConstants.ZERO_NUMBER, companyByUserId.getDmpLimitNum());
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -115,11 +111,14 @@ public class DeliveryBalanceTask {
|
|
|
|
if (max.isPresent()) {
|
|
|
|
if (max.isPresent()) {
|
|
|
|
maxId = max.get().getId();
|
|
|
|
maxId = max.get().getId();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (minId > DefaultNumberConstants.ZERO_NUMBER && maxId > DefaultNumberConstants.ZERO_NUMBER) {
|
|
|
|
if (minId > DefaultNumberConstants.ZERO_NUMBER
|
|
|
|
|
|
|
|
&& maxId > DefaultNumberConstants.ZERO_NUMBER) {
|
|
|
|
// 转换DTO
|
|
|
|
// 转换DTO
|
|
|
|
List<ImeiDTO> toList = Convert.toList(ImeiDTO.class, taskImeiList);
|
|
|
|
List<ImeiDTO> toList = Convert.toList(ImeiDTO.class, taskImeiList);
|
|
|
|
Integer batch = ObjectUtil.isNull(num) ? DefaultNumberConstants.ONE_NUMBER : num + DefaultNumberConstants.ONE_NUMBER;
|
|
|
|
Integer batch = ObjectUtil.isNull(num) ?
|
|
|
|
String taskImeiName = "BY".concat(StrPool.UNDERLINE).concat(format).concat(StrPool.UNDERLINE).concat(String.valueOf(batch));
|
|
|
|
DefaultNumberConstants.ONE_NUMBER : num + DefaultNumberConstants.ONE_NUMBER;
|
|
|
|
|
|
|
|
String taskImeiName = "BY".concat(StrPool.UNDERLINE).concat
|
|
|
|
|
|
|
|
(format).concat(StrPool.UNDERLINE).concat(String.valueOf(batch));
|
|
|
|
String file = fileUrl.concat(StrPool.SLASH).concat(taskImeiName);
|
|
|
|
String file = fileUrl.concat(StrPool.SLASH).concat(taskImeiName);
|
|
|
|
// 保存文件
|
|
|
|
// 保存文件
|
|
|
|
String csvPath = file.concat(".csv");
|
|
|
|
String csvPath = file.concat(".csv");
|
|
|
@ -132,15 +131,12 @@ public class DeliveryBalanceTask {
|
|
|
|
MailUtil.sendMail(deliveryProperties.getEmailAddress(),
|
|
|
|
MailUtil.sendMail(deliveryProperties.getEmailAddress(),
|
|
|
|
deliveryProperties.getEmailPassword(),
|
|
|
|
deliveryProperties.getEmailPassword(),
|
|
|
|
deliveryProperties.getToEmailAddress(), zipPath, taskImeiName);
|
|
|
|
deliveryProperties.getToEmailAddress(), zipPath, taskImeiName);
|
|
|
|
|
|
|
|
|
|
|
|
// 保存发送记录
|
|
|
|
// 保存发送记录
|
|
|
|
deliveryRecordService.saveDeliveryRecord(zipPath, taskImeiName, taskImeiList.size(), taskId, userId, DefaultNumberConstants.ONE_NUMBER);
|
|
|
|
deliveryRecordService.saveDeliveryRecord(zipPath, taskImeiName, taskImeiList.size(), taskId, userId, DefaultNumberConstants.ONE_NUMBER);
|
|
|
|
// 保存批次号
|
|
|
|
// 保存批次号
|
|
|
|
redisUtils.set(CacheKey.DMP_REQUEST_ID.concat(format), batch, DefaultNumberConstants.ONE_NUMBER, TimeUnit.DAYS);
|
|
|
|
redisUtils.set(CacheKey.DMP_REQUEST_ID.concat(format), batch, DefaultNumberConstants.ONE_NUMBER, TimeUnit.DAYS);
|
|
|
|
// 批次修改状态
|
|
|
|
// 批次修改状态
|
|
|
|
taskImeiService.updateBath(taskId, CharSequenceUtil.EMPTY, DefaultNumberConstants.ONE_NUMBER, minId, maxId);
|
|
|
|
taskImeiService.updateBath(taskId, CharSequenceUtil.EMPTY, DefaultNumberConstants.ONE_NUMBER, minId, maxId);
|
|
|
|
// 修改余额
|
|
|
|
|
|
|
|
// companyService.updateUserBalanceByCompanyId(sub.doubleValue(), companyByUserId.getId());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 删除文件
|
|
|
|
// 删除文件
|
|
|
|
boolean csvResult = FileUtil.del(csvPath);
|
|
|
|
boolean csvResult = FileUtil.del(csvPath);
|
|
|
@ -154,6 +150,7 @@ public class DeliveryBalanceTask {
|
|
|
|
log.info("============================= down list size as {} =============================", downList.size());
|
|
|
|
log.info("============================= down list size as {} =============================", downList.size());
|
|
|
|
Long minId = (long) DefaultNumberConstants.ZERO_NUMBER;
|
|
|
|
Long minId = (long) DefaultNumberConstants.ZERO_NUMBER;
|
|
|
|
Long maxId = (long) DefaultNumberConstants.ZERO_NUMBER;
|
|
|
|
Long maxId = (long) DefaultNumberConstants.ZERO_NUMBER;
|
|
|
|
|
|
|
|
TaskTagDto taskTagDto = taskService.queryDmpTask(taskId);
|
|
|
|
Comparator<TaskImei> comparing = Comparator.comparing(TaskImei::getId);
|
|
|
|
Comparator<TaskImei> comparing = Comparator.comparing(TaskImei::getId);
|
|
|
|
// 最小id
|
|
|
|
// 最小id
|
|
|
|
Optional<TaskImei> min = downList.stream().min(comparing);
|
|
|
|
Optional<TaskImei> min = downList.stream().min(comparing);
|
|
|
@ -175,9 +172,7 @@ public class DeliveryBalanceTask {
|
|
|
|
String zipPath = file.concat(".zip");
|
|
|
|
String zipPath = file.concat(".zip");
|
|
|
|
String filePath = deliveryProperties.getDmpDownPath().concat(uuid).concat(".zip");
|
|
|
|
String filePath = deliveryProperties.getDmpDownPath().concat(uuid).concat(".zip");
|
|
|
|
// 设置压缩文件
|
|
|
|
// 设置压缩文件
|
|
|
|
CompressUtil.decryptionCompression
|
|
|
|
CompressUtil.decryptionCompression(zipPath, csvPath, deliveryProperties.getZipPassword());
|
|
|
|
(zipPath, csvPath, deliveryProperties.getZipPassword());
|
|
|
|
|
|
|
|
TaskTagDto taskTagDto = taskService.queryDmpTask(taskId);
|
|
|
|
|
|
|
|
downRecordService.createRecord(downList.size(), companyByUserId.getCompanyName(), taskTagDto.getTaskName(), zipPath, filePath, null, DefaultNumberConstants.ONE_NUMBER);
|
|
|
|
downRecordService.createRecord(downList.size(), companyByUserId.getCompanyName(), taskTagDto.getTaskName(), zipPath, filePath, null, DefaultNumberConstants.ONE_NUMBER);
|
|
|
|
// 修改状态
|
|
|
|
// 修改状态
|
|
|
|
taskImeiService.updateBath(taskId, CharSequenceUtil.EMPTY, DefaultNumberConstants.ONE_NUMBER, minId, maxId);
|
|
|
|
taskImeiService.updateBath(taskId, CharSequenceUtil.EMPTY, DefaultNumberConstants.ONE_NUMBER, minId, maxId);
|
|
|
|