|
|
|
@ -4,6 +4,7 @@ import cn.hutool.core.codec.Base64;
|
|
|
|
|
import cn.hutool.core.collection.CollUtil;
|
|
|
|
|
import cn.hutool.core.util.IdUtil;
|
|
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
|
|
import cn.hutool.core.util.RandomUtil;
|
|
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
|
|
import cn.hutool.json.JSONUtil;
|
|
|
|
|
import com.baiye.exception.BadRequestException;
|
|
|
|
@ -26,7 +27,6 @@ import com.baiye.util.PageUtil;
|
|
|
|
|
import com.baiye.util.QueryHelp;
|
|
|
|
|
import com.baiye.util.SecurityUtils;
|
|
|
|
|
import com.google.common.collect.Lists;
|
|
|
|
|
import com.google.common.collect.Maps;
|
|
|
|
|
import lombok.RequiredArgsConstructor;
|
|
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
|
import org.springframework.data.domain.Page;
|
|
|
|
@ -37,7 +37,6 @@ import org.springframework.stereotype.Service;
|
|
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
|
import java.util.HashMap;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
import java.util.Map;
|
|
|
|
|
import java.util.stream.Collectors;
|
|
|
|
@ -63,7 +62,7 @@ public class PreTestServiceImpl implements PreTestService {
|
|
|
|
|
//新建任务
|
|
|
|
|
long taskId = IdUtil.getSnowflake(9, 9).nextId();
|
|
|
|
|
long userId = SecurityUtils.getCurrentUserId();
|
|
|
|
|
Task task = new Task().createActTask(taskId, userId, preTestActDTO.getActName(), 8, true);
|
|
|
|
|
Task task = new Task().createActTask(taskId, userId, preTestActDTO.getActName(), 8, preTestActDTO.getIsDmpDelivery());
|
|
|
|
|
//检查tag值
|
|
|
|
|
if (CollUtil.isNotEmpty(preTestActDTO.getTagStr())) {
|
|
|
|
|
createTag(taskId, userId, preTestActDTO.getTagStr());
|
|
|
|
@ -71,6 +70,7 @@ public class PreTestServiceImpl implements PreTestService {
|
|
|
|
|
//发送任务
|
|
|
|
|
List<String> collect = preTestActDTO.getTagStr().stream().map(String::trim).collect(Collectors.toList());
|
|
|
|
|
adBackRequestApi.sendTag(taskId, userId, collect);
|
|
|
|
|
|
|
|
|
|
//新建活动
|
|
|
|
|
PreTestAct preTestAct = new PreTestAct().addDefaultPreTestAct(userId, preTestActDTO.getActName(), preTestActDTO.getActId(), taskId);
|
|
|
|
|
taskRepository.save(task);
|
|
|
|
@ -82,6 +82,16 @@ public class PreTestServiceImpl implements PreTestService {
|
|
|
|
|
preTestActQueryCriteria.setUserId(SecurityUtils.getCurrentUserId());
|
|
|
|
|
PageRequest pageRequest = PageRequest.of(pageable.getPageNumber(), pageable.getPageSize(), Sort.by(Sort.Direction.DESC, "createTime"));
|
|
|
|
|
Page<PreTestAct> all = preTestActRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root, preTestActQueryCriteria, criteriaBuilder), pageRequest);
|
|
|
|
|
if (CollUtil.isNotEmpty(all)) {
|
|
|
|
|
for (PreTestAct preTestAct : all) {
|
|
|
|
|
TaskTag taskTag = taskTagRepository.findTaskTagByTaskId(preTestAct.getTaskId());
|
|
|
|
|
if (ObjectUtil.isNotEmpty(taskTag)) {
|
|
|
|
|
preTestAct.setTagStr(taskTag.getTag());
|
|
|
|
|
}
|
|
|
|
|
Task task = taskRepository.findById(preTestAct.getTaskId()).orElseGet(Task::new);
|
|
|
|
|
preTestAct.setIsDmpDelivery(task.getIsDmpDelivery());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return PageUtil.toPage(all);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -161,35 +171,37 @@ public class PreTestServiceImpl implements PreTestService {
|
|
|
|
|
Long taskId = source.getTaskId();
|
|
|
|
|
Map<Long, String> clueMap = source.getClueMap();
|
|
|
|
|
PreTestAccount preTestAccount = preTestAccountRepository.findById(userId).orElseGet(PreTestAccount::new);
|
|
|
|
|
String token = preTestReq.getToken(preTestAccount.getDbUserName(), preTestAccount.getDbUserPassword());
|
|
|
|
|
PreTestAct preTestAct = preTestActRepository.findByTaskIdAndUserId(taskId, userId);
|
|
|
|
|
if (ObjectUtil.isNotNull(preTestAct)) {
|
|
|
|
|
CallImportDTO callImportDTO = new CallImportDTO();
|
|
|
|
|
callImportDTO.setAuthKey(preTestAccount.getToken());
|
|
|
|
|
callImportDTO.setAuthKey(token);
|
|
|
|
|
callImportDTO.setActName(preTestAct.getActName());
|
|
|
|
|
callImportDTO.setActId(preTestAct.getActId());
|
|
|
|
|
callImportDTO.setBatchId(RandomUtil.randomString(8));
|
|
|
|
|
for (Map.Entry<Long, String> entry : clueMap.entrySet()) {
|
|
|
|
|
List<CallImportDTO.Source> sourceList = getSources(entry);
|
|
|
|
|
callImportDTO.setClientList(sourceList);
|
|
|
|
|
}
|
|
|
|
|
preTestReq.sendDaBa(callImportDTO);
|
|
|
|
|
log.info("===================== send pre-test request size {} . ===================== ",callImportDTO.getClientList().size());
|
|
|
|
|
return Boolean.TRUE;
|
|
|
|
|
Boolean status = preTestReq.sendDaBa(callImportDTO);
|
|
|
|
|
log.info("请求值 =={}", JSONUtil.toJsonStr(callImportDTO));
|
|
|
|
|
log.info("===================== send pre-test request size {} . ===================== ", callImportDTO.getClientList().size());
|
|
|
|
|
if (status) {
|
|
|
|
|
preTestAct.setStatus(0);
|
|
|
|
|
preTestActRepository.save(preTestAct);
|
|
|
|
|
}
|
|
|
|
|
return status;
|
|
|
|
|
}
|
|
|
|
|
return Boolean.FALSE;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private static List<CallImportDTO.Source> getSources(Map.Entry<Long, String> entry) {
|
|
|
|
|
List<CallImportDTO.Variable> list = Lists.newArrayList();
|
|
|
|
|
List<CallImportDTO.Source> sourceList = Lists.newArrayList();
|
|
|
|
|
CallImportDTO.Source sources = new CallImportDTO.Source();
|
|
|
|
|
CallImportDTO.Variable variable = new CallImportDTO.Variable();
|
|
|
|
|
|
|
|
|
|
variable.setField(entry.getKey().toString());
|
|
|
|
|
variable.setValue(entry.getKey().toString());
|
|
|
|
|
list.add(variable);
|
|
|
|
|
// 是否加密
|
|
|
|
|
sources.setCellphone(entry.getValue());
|
|
|
|
|
sources.setVariableList(list);
|
|
|
|
|
sources.setVariable(entry.getKey().toString());
|
|
|
|
|
sourceList.add(sources);
|
|
|
|
|
return sourceList;
|
|
|
|
|
}
|
|
|
|
|