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

@ -47,5 +47,29 @@ public class CallImportDTO {
* 线 (:++) * 线 (:++)
*/ */
private String variable; 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.constant.SecurityConstants;
import com.baiye.modules.platform.httpRequest.DecryptionJsonRequest; import com.baiye.modules.platform.httpRequest.DecryptionJsonRequest;
import com.baiye.modules.platform.repository.ModeRecordRepository; 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.DecryptionDTO;
import com.baiye.modules.platform.service.dto.ImeiDTO; import com.baiye.modules.platform.service.dto.ImeiDTO;
import com.baiye.modules.telemarkting.entity.dto.CallImportDTO; 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.transaction.annotation.Transactional;
import org.springframework.util.StopWatch; import org.springframework.util.StopWatch;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletableFuture;
import java.util.concurrent.Executor; import java.util.concurrent.Executor;
@ -147,20 +149,26 @@ public class DecryptTask {
@Async(value = "WorkExecutor") @Async(value = "WorkExecutor")
@Transactional(rollbackFor = Exception.class) @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()); log.info("================== run task begin time {} ==================", DateUtil.now());
int count = DefaultNumberConstants.ZERO_NUMBER; 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(); CallImportDTO dto = new CallImportDTO();
dto.setActId(actId); dto.setActId(actId);
dto.setActName(actName); dto.setActName(actName);
for (List<String> list : partition) { for (List<BuildDTO> list : partition) {
try { try {
List<CallImportDTO.Source> sendClientList = Lists.newArrayList(); List<CallImportDTO.Source> sendClientList = Lists.newArrayList();
list.forEach(str -> { list.forEach(str -> {
List<CallImportDTO.Variable> variableList = Lists.newArrayList();
CallImportDTO.Source client = new CallImportDTO.Source(); 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); sendClientList.add(client);
}); });
dto.setClientList(sendClientList); dto.setClientList(sendClientList);

Loading…
Cancel
Save