添加tag值代码

master
bynt 8 months ago
parent cd444b5684
commit e30bc38567

@ -0,0 +1,20 @@
package com.baiye.modules.platform.service.dto;
import lombok.Builder;
import lombok.Data;
/**
* @author Enzo
* @date : 2024/1/25
*/
@Data
@Builder
public class BuildDTO {
private String tag;
private String nid;
}

@ -18,6 +18,7 @@ import com.baiye.modules.platform.domain.ModeRecord;
import com.baiye.modules.platform.repository.ModeRecordRepository;
import com.baiye.modules.platform.service.DeliveryRecordService;
import com.baiye.modules.platform.service.ModeRecordService;
import com.baiye.modules.platform.service.dto.BuildDTO;
import com.baiye.modules.platform.service.dto.ImeiDTO;
import com.baiye.modules.platform.service.dto.ModeRecordQueryCriteria;
import com.baiye.modules.platform.service.dto.ModelRecordDto;
@ -167,13 +168,14 @@ public class ModelRecordServiceImpl implements ModeRecordService {
@SneakyThrows
@Transactional(rollbackFor = Exception.class)
public Boolean sendDataByActNameAndActId(List<Long> ids, String actName, String actId) {
List<String> stringList = Lists.newArrayList();
List<BuildDTO> buildList = Lists.newArrayList();
for (Long id : ids) {
ModeRecord downRecord = modeRecordRepository.findById(id).orElseGet(ModeRecord::new);
if (ObjectUtil.isNull(downRecord) ||
downRecord.getRecordStatus() != DefaultNumberConstants.ONE_NUMBER) {
throw new BadRequestException("该批次暂不能建模!");
}
String tagStr = downRecord.getTagStr();
// 解压文件
String unzipPath = CompressUtil.unzipFiles
(deliveryProperties.getFileUrl(), downRecord.getUploadPath(), deliveryProperties.getZipPassword());
@ -183,16 +185,19 @@ public class ModelRecordServiceImpl implements ModeRecordService {
CsvReader reader = CsvUtil.getReader();
CsvData data = reader.read(parseFile);
// csv通配
data.getRows().forEach(str -> stringList.add(str.size() >
DefaultNumberConstants.THREE_NUMBER ? str.get(DefaultNumberConstants.TWO_NUMBER)
: str.get(DefaultNumberConstants.ZERO_NUMBER)));
data.getRows().forEach(str -> {
BuildDTO build = BuildDTO.builder().nid(str.size() >
DefaultNumberConstants.THREE_NUMBER ? str.get(DefaultNumberConstants.TWO_NUMBER)
: str.get(DefaultNumberConstants.ZERO_NUMBER)).tag(tagStr).build();
buildList.add(build);
});
cn.hutool.core.io.FileUtil.del(unzipPath);
// 修改状态
modeRecordRepository.updateStatusById(DefaultNumberConstants.TWO_NUMBER, id);
}
decryptTask.doRunSendTask(stringList, ids, actId, actName);
decryptTask.doRunSendTask(buildList, ids, actId, actName);
// 调用异步任务
log.info("============= the request str list {} =============", stringList.size());
log.info("============= the request str list {} =============", buildList.size());
return Boolean.TRUE;
}

@ -47,5 +47,29 @@ public class CallImportDTO {
* 线 (:++)
*/
private String variable;
private List<Variable> variableList;
}
@Getter
@Setter
@Builder
@NoArgsConstructor
@AllArgsConstructor
public static class Variable {
/**
*
*/
private String field;
/**
*
*/
private String value;
}
}

@ -15,6 +15,7 @@ import com.baiye.constant.FileConstant;
import com.baiye.constant.SecurityConstants;
import com.baiye.modules.platform.httpRequest.DecryptionJsonRequest;
import com.baiye.modules.platform.repository.ModeRecordRepository;
import com.baiye.modules.platform.service.dto.BuildDTO;
import com.baiye.modules.platform.service.dto.DecryptionDTO;
import com.baiye.modules.platform.service.dto.ImeiDTO;
import com.baiye.modules.telemarkting.entity.dto.CallImportDTO;
@ -35,6 +36,7 @@ import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.StopWatch;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.Executor;
@ -147,20 +149,26 @@ public class DecryptTask {
@Async(value = "WorkExecutor")
@Transactional(rollbackFor = Exception.class)
public void doRunSendTask(List<String> stringList, List<Long> ids, String actId, String actName) {
public void doRunSendTask(List<BuildDTO> stringList, List<Long> ids, String actId, String actName) {
log.info("================== run task begin time {} ==================", DateUtil.now());
int count = DefaultNumberConstants.ZERO_NUMBER;
List<List<String>> partition = Lists.partition(stringList, DefaultNumberConstants.ONE_THOUSAND);
List<List<BuildDTO>> partition = Lists.partition(stringList, DefaultNumberConstants.ONE_THOUSAND);
// 调用推送地址进行推送
CallImportDTO dto = new CallImportDTO();
dto.setActId(actId);
dto.setActName(actName);
for (List<String> list : partition) {
for (List<BuildDTO> list : partition) {
try {
List<CallImportDTO.Source> sendClientList = Lists.newArrayList();
list.forEach(str -> {
List<CallImportDTO.Variable> variableList = Lists.newArrayList();
CallImportDTO.Source client = new CallImportDTO.Source();
client.setCellphone(str);
CallImportDTO.Variable variable =
CallImportDTO.Variable.builder().field
(str.getTag()).value(str.getTag()).build();
variableList.add(variable);
client.setCellphone(str.getNid());
client.setVariableList(variableList);
sendClientList.add(client);
});
dto.setClientList(sendClientList);

Loading…
Cancel
Save