动态任务删除+小组人员列表

master
yqy 2 years ago
parent b42c5f8cc2
commit af316c1ae0

@ -93,7 +93,7 @@ public class AESUtils {
String str = new StringBuilder(new String(plainBytes, "utf-8")).reverse().toString();
return str;
}catch (Exception e){
log.info("解密失败"+e.fillInStackTrace());
log.info("解密失败"+e.fillInStackTrace());
return null;
}

@ -69,6 +69,13 @@ public class TaskController {
return new ResponseEntity<>(HttpStatus.OK);
}
@ApiOperation("删除动态任务")
@GetMapping("/delDynamic")
public ResponseEntity<Task> delDynamicTask(@RequestParam("taskId") Long taskId){
taskService.delDynamicTask(taskId);
return new ResponseEntity<>(HttpStatus.OK);
}
@ApiOperation("websocket发送错误信息")
@GetMapping("/sendErrMessage")
public void sendErrMessage(String errorMessage, Long userId) {

@ -59,4 +59,10 @@ public interface TaskService {
* @param taskId
*/
void delTask(Long taskId);
/**
*
* @param taskId
*/
void delDynamicTask(Long taskId);
}

@ -106,9 +106,9 @@ public class OrganizeServiceImpl implements OrganizeService {
Organize updateOrganize = organizeRepository.findById(organize.getId()).orElseGet(Organize::new);
OrganizeUser organizeUser = organizeUserRepository.findByOrganizeIdAndIsLeader(organize.getId(), true);
// 判断组长是否分配过资源
if (organizeUser.getUserId() != organize.getUserId()) {
if (!organizeUser.getUserId().equals(organize.getUserId())) {
Long roleId = Collections.min(roleService.findByUsersId(organize.getUserId()).stream().map(RoleSmallDto::getId).collect(Collectors.toList()));
if (roleId != RoleNumberConstants.MINUS_NINE_NUMBER){
if (!roleId.equals(RoleNumberConstants.MINUS_NINE_NUMBER)){
throw new BadRequestException("指定组长必须是组长角色");
}
Boolean flag = sourceClueClient.judgeMember(organizeUser.getUserId()).getBody();
@ -217,7 +217,7 @@ public class OrganizeServiceImpl implements OrganizeService {
*/
@Override
public Map<String, Object> queryMemberAll(OrganizeUserQueryCriteria organizeUserQueryCriteria, Pageable pageable) {
List<Map<String, Object>> maps = queryMember(organizeUserQueryCriteria);
List<Map<String, Object>> maps = findMember(organizeUserQueryCriteria,false);
return PageUtil.toPage(
PageUtil.toPage(pageable.getPageNumber(), pageable.getPageSize(), maps),
maps.size()
@ -229,13 +229,8 @@ public class OrganizeServiceImpl implements OrganizeService {
*/
@Override
public List<Map<String, Object>> queryMember(OrganizeUserQueryCriteria organizeUserQueryCriteria) {
List<Long> userIds = Lists.newArrayList();
organizeUserQueryCriteria.setCreateBy(SecurityUtils.getCurrentUserId());
organizeUserQueryCriteria.setIsLeader(false);
List<OrganizeUserDto> organizeUserDtos = organizeUserMapper.toDto(organizeUserRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root, organizeUserQueryCriteria, criteriaBuilder)));
organizeUserDtos.stream().forEach(c -> userIds.add(c.getUserId()));
List<Map<String, Object>> list = findUser(userIds, organizeUserQueryCriteria);
return list;
List<Map<String, Object>> member = findMember(organizeUserQueryCriteria,true);
return member;
}
/**
@ -728,4 +723,24 @@ public class OrganizeServiceImpl implements OrganizeService {
return arrayList;
}
/**
*
* @param organizeUserQueryCriteria
* @param isAddLeader
* @return
*/
public List<Map<String, Object>> findMember(OrganizeUserQueryCriteria organizeUserQueryCriteria,Boolean isAddLeader){
Long currentUserId = SecurityUtils.getCurrentUserId();
List<Long> userIds = Lists.newArrayList();
organizeUserQueryCriteria.setCreateBy(currentUserId);
organizeUserQueryCriteria.setIsLeader(false);
List<OrganizeUserDto> organizeUserDtos = organizeUserMapper.toDto(organizeUserRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root, organizeUserQueryCriteria, criteriaBuilder)));
organizeUserDtos.stream().forEach(c -> userIds.add(c.getUserId()));
if (isAddLeader){
userIds.add(currentUserId);
}
List<Map<String, Object>> list = findUser(userIds, organizeUserQueryCriteria);
return list;
}
}

@ -2,6 +2,7 @@ package com.baiye.modules.system.service.impl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.ObjectUtil;
import com.baiye.constant.DefaultNumberConstants;
import com.baiye.exception.BadRequestException;
import com.baiye.feign.SourceClueClient;
@ -154,6 +155,16 @@ public class TaskServiceImpl implements TaskService {
sourceClueClient.delClueAll(taskIdList);
}
@Override
public void delDynamicTask(Long taskId) {
Task task = taskRepository.findById(taskId).orElseGet(Task::new);
if (task.getTotalNumber() == null || task.getTotalNumber() == 0){
taskRepository.deleteById(taskId);
}else{
throw new BadRequestException("任务已导入资源,无法删除");
}
}
/**
* id
*

@ -254,16 +254,12 @@ public class TelephoneCallServiceImpl implements TelephoneCallService {
if (ObjectUtil.isNotEmpty(allCallInfo)) {
//相同说明是分机号的回调
if (sessionId.equals(otherLeg) && StrUtil.isNotBlank(rollCallBackDTO.getRecord_file_url())) {
allCallInfo.setRecordFlag(DefaultNumberConstants.ONE_NUMBER);
allCallInfo.setRecordFileDownloadUrl(rollCallBackDTO.getRecord_file_url());
allCallInfoRepository.updateByRecord(DefaultNumberConstants.ONE_NUMBER, rollCallBackDTO.getRecord_file_url(), allCallInfo.getId());
} else {
//拨打线索号的回调
if (StrUtil.isNotBlank(rollCallBackDTO.getCallee_answer_time())) {
//表示接通
callClueRepository.updateByStatus(DefaultNumberConstants.TWO_NUMBER, allCallInfo.getClueId());
allCallInfo.setStatus(DefaultNumberConstants.TWO_NUMBER);
allCallInfo.setDuration(Integer.valueOf(rollCallBackDTO.getDuration()));
allCallInfoRepository.updateByDurationAndStatus(DefaultNumberConstants.TWO_NUMBER, Integer.valueOf(rollCallBackDTO.getDuration()), allCallInfo.getId());
//更新资源通话状态
CompletableFuture.runAsync(() -> {

@ -164,7 +164,7 @@ public interface ClueService {
Map<String, Object> queryCluePool(ClueQueryCriteria clueQueryCriteria, Pageable pageable);
/**
*
* ,
* @param clueIds
* @return
*/

@ -24,6 +24,7 @@ import com.baiye.util.*;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
@ -55,6 +56,9 @@ public class ClueServiceImpl implements ClueService {
private final UserClient userClient;
private final ConductRecordRepository conductRecordRepository;
@Value("${aes.secret}")
private String secret;
private static SimpleDateFormat timeOne = new SimpleDateFormat("yyyyMMddHHmmssSSS");
@Override
@ -418,7 +422,6 @@ public class ClueServiceImpl implements ClueService {
TaskQueryCriteria taskQueryCriteria = new TaskQueryCriteria();
taskQueryCriteria.setCreateBy(clueQueryCriteria.getMemberId());
taskQueryCriteria.setTaskType(1);
taskQueryCriteria.setCreateTime(clueQueryCriteria.getCreateTime());
if (clueQueryCriteria.getTaskName() != null) {
taskQueryCriteria.setBlurry(clueQueryCriteria.getTaskName());
}
@ -435,12 +438,14 @@ public class ClueServiceImpl implements ClueService {
@Override
public Object withdrawSource(List<Long> clueIds) {
List<String> phoneList = new ArrayList<>();
if (CollUtil.isNotEmpty(clueIds)) {
// 查询已打过电话的
List<Long> list = reportClient.getTurnOnIds(clueIds).getData();
if (CollUtil.isNotEmpty(list)) {
//过滤掉打过电话的线索ID
clueIds = clueIds.stream().filter(num -> !list.contains(num)) .collect(Collectors.toList());
phoneList = clueRepository.findAllById(list).stream().map(clueAll -> clueAll.getNid()).collect(Collectors.toList());
}
if (CollUtil.isNotEmpty(clueIds)){
List<ClueMiddle> clueList = new ArrayList<>();
@ -458,6 +463,14 @@ public class ClueServiceImpl implements ClueService {
clueMiddleRepository.saveAll(clueList);
}
}
if (CollUtil.isNotEmpty(phoneList)){
String str = "";
for (String phone : phoneList) {
str = str + phone + ",";
}
str = str.substring(0, str.length() - 1);
throw new BadRequestException(str + " 已通话,无法撤回");
}
return new ResponseEntity<>(HttpStatus.OK);
}

@ -3,6 +3,7 @@ package com.baiye.task;
import com.alibaba.excel.EasyExcelFactory;
import com.baiye.exception.BadRequestException;
import com.baiye.feign.TaskClient;
import com.baiye.model.dto.ClueQueryCriteria;
import com.baiye.module.constant.FileConstant;
import com.baiye.module.dao.ClueJpa;
import com.baiye.module.dao.ClueMiddleRepository;
@ -127,7 +128,7 @@ public class FileAnalysisTask {
public void distinctNid(Long taskId) {
Set<Long> taskIds = new HashSet();
taskIds.add(taskId);
List<Clue> clueList = clueJpa.findClue(taskIds, null, null);
List<Clue> clueList = clueJpa.findClue(taskIds, null, new ClueQueryCriteria());
Map<String, List<Clue>> map = clueList.stream().collect(Collectors.groupingBy(Clue::getNid));
Set<String> keySet = map.keySet();
for (String key : keySet) {

Loading…
Cancel
Save