diff --git a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/api/PreTestController.java b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/api/PreTestController.java index cd8ba7bd..5371764a 100644 --- a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/api/PreTestController.java +++ b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/api/PreTestController.java @@ -18,9 +18,6 @@ import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; -import org.springframework.web.multipart.MultipartFile; - -import java.util.List; /** * @author wjt @@ -29,7 +26,7 @@ import java.util.List; @Slf4j @RestController @RequestMapping("/api") -@Api(tags = " 预测试外呼 对接大坝") +@Api(tags = " 预测试外呼") @RequiredArgsConstructor public class PreTestController { @@ -75,14 +72,10 @@ public class PreTestController { return CommonResponse.createBySuccess(preTestService.accountQuery()); } - @Inner @PostMapping("/add/source") @ApiOperation("预测试添加资源") public CommonResponse addSource(@RequestBody AddSourceDTO source) { return CommonResponse.createBySuccess(preTestService.sendDBData(source)); } - - - } diff --git a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/entity/PreTestAct.java b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/entity/PreTestAct.java index 2ea4343c..f3223e26 100644 --- a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/entity/PreTestAct.java +++ b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/entity/PreTestAct.java @@ -1,5 +1,7 @@ package com.baiye.modules.telemarkting.entity; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; @@ -9,6 +11,7 @@ import org.springframework.data.jpa.domain.support.AuditingEntityListener; import javax.persistence.*; import java.io.Serializable; import java.util.Date; +import java.util.List; /** * @author wjt @@ -41,6 +44,7 @@ public class PreTestAct implements Serializable { @Column(name = "task_id") @ApiModelProperty(value = "任务id") + @JsonSerialize(using = ToStringSerializer.class) private Long taskId; @Column(name = "execute_total_num") @@ -64,6 +68,10 @@ public class PreTestAct implements Serializable { @ApiModelProperty(value = "创建时间") private Date createTime; + @Transient + private List tagStr; + @Transient + private Boolean isDmpDelivery; public PreTestAct addDefaultPreTestAct(Long userId, String actName, String actId, Long taskId) { this.setUserId(userId); diff --git a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/entity/dto/CallImportDTO.java b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/entity/dto/CallImportDTO.java index 06826c15..bd692d46 100644 --- a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/entity/dto/CallImportDTO.java +++ b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/entity/dto/CallImportDTO.java @@ -46,19 +46,6 @@ public class CallImportDTO { /** * 线索标识码 (例如:活动名+用户民+随机码) */ - private List variableList; - } - - - @Getter - @Setter - @AllArgsConstructor - @NoArgsConstructor - public static class Variable { - - private String field; - - - private String value; + private String variable; } } diff --git a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/entity/dto/PreTestActDTO.java b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/entity/dto/PreTestActDTO.java index 81b7489b..4f094b40 100644 --- a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/entity/dto/PreTestActDTO.java +++ b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/entity/dto/PreTestActDTO.java @@ -24,5 +24,6 @@ public class PreTestActDTO { private Long taskId; @NotNull(groups = {UpdateGroup.class}) private List tagStr; - private Boolean isDmpDelivery; + + private Boolean isDmpDelivery = Boolean.TRUE; } diff --git a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/httpRequest/PreTestReq.java b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/httpRequest/PreTestReq.java index 0ee6bd09..36927db0 100644 --- a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/httpRequest/PreTestReq.java +++ b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/httpRequest/PreTestReq.java @@ -25,13 +25,14 @@ public class PreTestReq { /** * 导入数据 */ - public void sendDaBa(CallImportDTO callImportDTO) { + public Boolean sendDaBa(CallImportDTO callImportDTO) { String body = sendCallReq(sendUrl, JSONUtil.toJsonStr(callImportDTO)); PreTestResponse response = JSONUtil.toBean(body, PreTestResponse.class); if (!response.getResult()) { log.info("导入失败 参数{}, 返回结果{}", JSONUtil.toJsonStr(callImportDTO), JSONUtil.toJsonStr(response)); - throw new BadRequestException("导入失败 :" + response.getMsg()); + return Boolean.FALSE; } + return Boolean.TRUE; } /** diff --git a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/service/PreTestService.java b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/service/PreTestService.java index c4024740..acb85798 100644 --- a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/service/PreTestService.java +++ b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/service/PreTestService.java @@ -44,6 +44,7 @@ public interface PreTestService { /** * 向大坝发送请求 + * * @param source * @return */ diff --git a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/service/impl/PreTestServiceImpl.java b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/service/impl/PreTestServiceImpl.java index 877bc51a..866ad756 100644 --- a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/service/impl/PreTestServiceImpl.java +++ b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/service/impl/PreTestServiceImpl.java @@ -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 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 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 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 entry : clueMap.entrySet()) { List 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 getSources(Map.Entry entry) { - List list = Lists.newArrayList(); List 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; }