diff --git a/ad-platform-pojo/src/main/java/com/baiye/model/dto/ClueQueryCriteria.java b/ad-platform-pojo/src/main/java/com/baiye/model/dto/ClueQueryCriteria.java index e70557e1..57b4d22e 100644 --- a/ad-platform-pojo/src/main/java/com/baiye/model/dto/ClueQueryCriteria.java +++ b/ad-platform-pojo/src/main/java/com/baiye/model/dto/ClueQueryCriteria.java @@ -25,6 +25,7 @@ public class ClueQueryCriteria { @ApiModelProperty(value = "任务id") private Long taskId; private Set taskIds; + @ApiModelProperty(value = "所属组员id") private Long memberId; diff --git a/manage/ad-platform-management/src/main/java/com/baiye/modules/system/service/impl/OrganizeServiceImpl.java b/manage/ad-platform-management/src/main/java/com/baiye/modules/system/service/impl/OrganizeServiceImpl.java index 9f74d9bb..e758f716 100644 --- a/manage/ad-platform-management/src/main/java/com/baiye/modules/system/service/impl/OrganizeServiceImpl.java +++ b/manage/ad-platform-management/src/main/java/com/baiye/modules/system/service/impl/OrganizeServiceImpl.java @@ -601,8 +601,15 @@ public class OrganizeServiceImpl implements OrganizeService { TaskOrganizeDto taskOrganizeDto = taskOrganizeDtos.get(0); map.put("organizeLabel", taskOrganizeDto.getOrganizeLabel()); } + Task task = taskRepository.findById(taskId).orElseGet(Task::new); - map.put("baseLabel", task.getBaseLabel()); + Long labelOrganizeId = task.getLabelOrganizeId(); + if (labelOrganizeId != null) { + List labelList = labelService.findLabelList(labelOrganizeId); + map.put("baseLabel", labelList); + } else { + map.put("baseLabel", task.getBaseLabel()); + } return map; } diff --git a/services/ad-platform-source/src/main/java/com/baiye/module/dao/ClueJpa.java b/services/ad-platform-source/src/main/java/com/baiye/module/dao/ClueJpa.java index 03f7fb68..18fb14f7 100644 --- a/services/ad-platform-source/src/main/java/com/baiye/module/dao/ClueJpa.java +++ b/services/ad-platform-source/src/main/java/com/baiye/module/dao/ClueJpa.java @@ -298,10 +298,10 @@ public class ClueJpa { clueDto.setNewestCallTime((Date) row.get("newestCallTime")); clueDto.setAmount((String) row.get("amount")); clueDto.setPlatform((String) row.get("platform")); - clueDtoList.add(clueDto); clueDto.setTurnoverAmount((Double) row.get("turnoverAmount")); clueDto.setCastInfo((String) row.get("castInfo")); clueDto.setClueType((Integer) row.get("clueType")); + clueDtoList.add(clueDto); } return clueDtoList; } @@ -371,6 +371,9 @@ public class ClueJpa { } if (pageable != null) { Integer memberStatus = clueQueryCriteria.getMemberStatus(); + if (clueQueryCriteria.getUserId() != null) { + sql.append("AND tc.create_by = :userId "); + } if (memberStatus != null && memberStatus == 0) { sql.append("AND tcm.member_id is null "); } @@ -407,6 +410,9 @@ public class ClueJpa { query.setParameter("taskId", taskIds); } if (pageable != null) { + if (clueQueryCriteria.getUserId() != null) { + query.setParameter("userId", clueQueryCriteria.getUserId()); + } if (origin != null) { query.setParameter("origin", origin); } @@ -502,65 +508,68 @@ public class ClueJpa { if (CollUtil.isNotEmpty(taskIds)) { sql.append("AND cm.task_id IN (:taskId) "); - Integer memberStatus = clueQueryCriteria.getMemberStatus(); - if (memberStatus != null && memberStatus == 0) { - sql.append("AND cm.member_id is null "); - } - if (memberStatus != null && memberStatus > 0) { - sql.append("AND cm.member_id is not null "); - } - if (StringUtils.isNotBlank(name)) { - sql.append("and c.name like :name "); - } - if (origin != null) { - sql.append("and c.origin = :origin "); - } - if (createTimeList != null && createTimeList.size() == 2) { - sql.append("and c.create_time between :createTimeBegin and :createTimeEnd "); - } + } + if (clueQueryCriteria.getUserId() != null) { + sql.append("AND c.create_by = :userId "); + } + Integer memberStatus = clueQueryCriteria.getMemberStatus(); + if (memberStatus != null && memberStatus == 0) { + sql.append("AND cm.member_id is null "); + } + if (memberStatus != null && memberStatus > 0) { + sql.append("AND cm.member_id is not null "); + } + if (StringUtils.isNotBlank(name)) { + sql.append("and c.name like :name "); + } + if (origin != null) { + sql.append("and c.origin = :origin "); + } + if (createTimeList != null && createTimeList.size() == 2) { + sql.append("and c.create_time between :createTimeBegin and :createTimeEnd "); + } - if (userIdList != null && userIdList.size() > 0) { - sql.append("and cm.member_id in (:userIdList)"); - } - if (clueStage != null) { - sql.append("AND cm.clue_stage = :clueStage "); - } - if (clueType != null) { - sql.append("AND cm.clue_type = :clueType "); - } else { - sql.append("AND cm.clue_type < :clueType "); - } + if (userIdList != null && userIdList.size() > 0) { + sql.append("and cm.member_id in (:userIdList)"); + } + if (clueStage != null) { + sql.append("AND cm.clue_stage = :clueStage "); + } + if (clueType != null) { + sql.append("AND cm.clue_type = :clueType "); } Query query = entityManager.createNativeQuery(sql.toString()); if (CollUtil.isNotEmpty(taskIds)) { query.setParameter("taskId", taskIds); - if (origin != null) { - query.setParameter("origin", origin); - } - if (StringUtils.isNotBlank(name)) { - query.setParameter("name", "%" + name + "%"); - } - if (createTimeList != null && createTimeList.size() == 2) { - String createTimeBegin = this.format.format(createTimeList.get(0)); - String createTimeEnd = this.format.format(createTimeList.get(1)); - query.setParameter("createTimeBegin", createTimeBegin); - query.setParameter("createTimeEnd", createTimeEnd); - } - if (clueStage != null) { - query.setParameter("clueStage", clueStage); - } - if (userIdList != null && userIdList.size() > 0) { - query.setParameter("userIdList", userIdList); - } - if (clueType != null) { - query.setParameter("clueType", clueType); - } else { - query.setParameter("clueType", DefaultNumberConstants.FOUR_NUMBER); - } } + if (clueQueryCriteria.getUserId() != null) { + query.setParameter("userId", clueQueryCriteria.getUserId()); + } + if (origin != null) { + query.setParameter("origin", origin); + } + if (StringUtils.isNotBlank(name)) { + query.setParameter("name", "%" + name + "%"); + } + if (createTimeList != null && createTimeList.size() == 2) { + String createTimeBegin = this.format.format(createTimeList.get(0)); + String createTimeEnd = this.format.format(createTimeList.get(1)); + query.setParameter("createTimeBegin", createTimeBegin); + query.setParameter("createTimeEnd", createTimeEnd); + } + if (clueStage != null) { + query.setParameter("clueStage", clueStage); + } + if (userIdList != null && userIdList.size() > 0) { + query.setParameter("userIdList", userIdList); + } + if (clueType != null) { + query.setParameter("clueType", clueType); + } + query.unwrap(NativeQuery.class).setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP); List confirmReceipt = query.getResultList(); - Long count = 0L; + long count = 0L; for (Object obj : confirmReceipt) { Map row = (Map) obj; BigInteger countBig = (BigInteger) row.get("countNum"); @@ -585,7 +594,7 @@ public class ClueJpa { public Long getPoolCount(PublicCluePoolQueryCriteria clueQueryCriteria) { StringBuilder sql = new StringBuilder("select count(*) as countNum from tb_public_clue_pool as p left join tb_clue_middle as cm on p.clue_id=cm.clue_id where 1=1 "); List confirmReceipt = getCluePoolListCondition(clueQueryCriteria, sql, null); - Long count = 0L; + long count = 0L; for (Object obj : confirmReceipt) { Map row = (Map) obj; BigInteger countBig = (BigInteger) row.get("countNum"); diff --git a/services/ad-platform-source/src/main/java/com/baiye/module/service/impl/ClueServiceImpl.java b/services/ad-platform-source/src/main/java/com/baiye/module/service/impl/ClueServiceImpl.java index ce49dcb4..a1fed93a 100644 --- a/services/ad-platform-source/src/main/java/com/baiye/module/service/impl/ClueServiceImpl.java +++ b/services/ad-platform-source/src/main/java/com/baiye/module/service/impl/ClueServiceImpl.java @@ -602,20 +602,23 @@ public class ClueServiceImpl implements ClueService { @Override public Map queryCluePool(ClueQueryCriteria clueQueryCriteria, Pageable pageable) { if (clueQueryCriteria.getMemberId() != null) { + clueQueryCriteria.setUserId(clueQueryCriteria.getMemberId()); + Set taskIds; TaskQueryCriteria taskQueryCriteria = new TaskQueryCriteria(); taskQueryCriteria.setCreateBy(clueQueryCriteria.getMemberId()); - if (clueQueryCriteria.getTaskName() != null) { - taskQueryCriteria.setBlurry(clueQueryCriteria.getTaskName()); - } if (clueQueryCriteria.getTaskId() != null) { taskQueryCriteria.setId(clueQueryCriteria.getTaskId()); } + if (clueQueryCriteria.getTaskId() == null && clueQueryCriteria.getTaskName() != null) { + taskQueryCriteria.setBlurry(clueQueryCriteria.getTaskName()); + } if (clueQueryCriteria.getClueType() == null) { taskQueryCriteria.setIsForms(Arrays.asList(ClueTypeConstants.SCREEN_TYPE)); } else { taskQueryCriteria.setIsForms(Arrays.asList(ClueTypeConstants.TOKER_TYPE)); } - return findClueList(taskQueryCriteria, clueQueryCriteria, pageable); + taskIds = findTaskId(taskQueryCriteria); + return findClueList(taskIds, clueQueryCriteria, pageable); } else { log.info("========================用户id为空============================"); throw new BadRequestException("刷新后重试"); @@ -669,12 +672,14 @@ public class ClueServiceImpl implements ClueService { @Override public Object findCompanyClue(ClueQueryCriteria clueQueryCriteria, Pageable pageable) { - TaskQueryCriteria taskQueryCriteria = new TaskQueryCriteria(); - taskQueryCriteria.setCreateBy(clueQueryCriteria.getUserId()); + Set taskIds = new HashSet<>(); if (clueQueryCriteria.getTaskName() != null) { + TaskQueryCriteria taskQueryCriteria = new TaskQueryCriteria(); + taskQueryCriteria.setCreateBy(clueQueryCriteria.getUserId()); taskQueryCriteria.setBlurry(clueQueryCriteria.getTaskName()); + taskIds = findTaskId(taskQueryCriteria); } - return findClueList(taskQueryCriteria, clueQueryCriteria, pageable); + return findClueList(taskIds, clueQueryCriteria, pageable); } @Override @@ -1098,27 +1103,22 @@ public class ClueServiceImpl implements ClueService { * @param pageable 分页 * @return */ - private Map findClueList(TaskQueryCriteria taskQueryCriteria, ClueQueryCriteria clueQueryCriteria, Pageable pageable) { - //获取所有任务id - Set taskIds = findTaskId(taskQueryCriteria); - if (CollUtil.isNotEmpty(taskIds)) { - List clueAll = clueJpa.findClue(taskIds, pageable, clueQueryCriteria); - Set memberIds = clueAll.stream().map(Clue::getMemberId).collect(Collectors.toSet()); - Map userNickNameMap = userClient.findById(memberIds); - for (Clue clue : clueAll) { - //获取缓存中任务名称 - String str = findTaskName(clue.getTaskId()); - clue.setTaskName(str); - //查询分配人的用户名称 - Long memberId = clue.getMemberId(); - if (memberId != null && userNickNameMap.containsKey(memberId)) { - clue.setDistributeUserName(userNickNameMap.get(memberId)); - } + private Map findClueList(Set taskIds, ClueQueryCriteria clueQueryCriteria, Pageable pageable) { + List clueAll = clueJpa.findClue(taskIds, pageable, clueQueryCriteria); + Set memberIds = clueAll.stream().map(Clue::getMemberId).collect(Collectors.toSet()); + Map userNickNameMap = userClient.findById(memberIds); + for (Clue clue : clueAll) { + //获取缓存中任务名称 + String str = findTaskName(clue.getTaskId()); + clue.setTaskName(str); + //查询分配人的用户名称 + Long memberId = clue.getMemberId(); + if (memberId != null && userNickNameMap.containsKey(memberId)) { + clue.setDistributeUserName(userNickNameMap.get(memberId)); } - Long count = clueJpa.getTaskCount(taskIds, clueQueryCriteria); - return PageUtil.toPage(clueAll, count); } - return PageUtil.toPage(new ArrayList<>(), 0); + Long count = clueJpa.getTaskCount(taskIds, clueQueryCriteria); + return PageUtil.toPage(clueAll, count); } /**