|
|
|
@ -1,19 +1,14 @@
|
|
|
|
|
package com.baiye.modules.telemarkting.service.impl;
|
|
|
|
|
|
|
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
|
|
|
import cn.hutool.core.collection.CollUtil;
|
|
|
|
|
import cn.hutool.core.date.DateUtil;
|
|
|
|
|
import cn.hutool.core.text.CharSequenceUtil;
|
|
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
|
|
import cn.hutool.core.util.RandomUtil;
|
|
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
|
|
import cn.hutool.json.JSONObject;
|
|
|
|
|
import cn.hutool.json.JSONUtil;
|
|
|
|
|
import com.baiye.constant.DefaultNumberConstants;
|
|
|
|
|
import com.baiye.exception.BadRequestException;
|
|
|
|
|
import com.baiye.feign.SourceClueClient;
|
|
|
|
|
import com.baiye.http.CommonResponse;
|
|
|
|
|
import com.baiye.model.dto.SendWebSocketDTO;
|
|
|
|
|
import com.baiye.model.enums.CallStatusEnum;
|
|
|
|
|
import com.baiye.modules.system.domain.Clue;
|
|
|
|
|
import com.baiye.modules.telemarkting.dao.AllCallInfoRepository;
|
|
|
|
@ -24,23 +19,18 @@ import com.baiye.modules.telemarkting.entity.CallClueInfo;
|
|
|
|
|
import com.baiye.modules.telemarkting.entity.ClueMiddle;
|
|
|
|
|
import com.baiye.modules.telemarkting.entity.ExtensionNumber;
|
|
|
|
|
import com.baiye.modules.telemarkting.entity.dto.*;
|
|
|
|
|
import com.baiye.modules.telemarkting.entity.vo.CallRecordsVO;
|
|
|
|
|
import com.baiye.modules.telemarkting.httpRequest.AxbRequest;
|
|
|
|
|
import com.baiye.modules.telemarkting.httpRequest.DoubleCallReq;
|
|
|
|
|
import com.baiye.modules.telemarkting.httpRequest.RollCallReq;
|
|
|
|
|
import com.baiye.modules.telemarkting.service.TelephoneCallService;
|
|
|
|
|
import com.baiye.socket.WebSocketServer;
|
|
|
|
|
import com.baiye.util.SecurityUtils;
|
|
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
|
import org.springframework.http.ResponseEntity;
|
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
|
import java.util.Comparator;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
import java.util.Objects;
|
|
|
|
|
import java.util.concurrent.CompletableFuture;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @author wjt
|
|
|
|
@ -131,10 +121,14 @@ public class TelephoneCallServiceImpl implements TelephoneCallService {
|
|
|
|
|
callClueRepository.updateByStatus(status, userDate);
|
|
|
|
|
allCallInfoRepository.updateByStatus(status, sessionId);
|
|
|
|
|
//更新资源通话状态
|
|
|
|
|
updateSourceCallStatus(userDate, DefaultNumberConstants.TWO_NUMBER);
|
|
|
|
|
CompletableFuture.runAsync(() -> {
|
|
|
|
|
updateSourceCallStatus(userDate, DefaultNumberConstants.TWO_NUMBER);
|
|
|
|
|
});
|
|
|
|
|
} else {
|
|
|
|
|
//更新资源通话状态
|
|
|
|
|
updateSourceCallStatus(userDate,DefaultNumberConstants.ONE_NUMBER);
|
|
|
|
|
CompletableFuture.runAsync(() -> {
|
|
|
|
|
updateSourceCallStatus(userDate, DefaultNumberConstants.ONE_NUMBER);
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -268,12 +262,15 @@ public class TelephoneCallServiceImpl implements TelephoneCallService {
|
|
|
|
|
allCallInfo.setStatus(DefaultNumberConstants.TWO_NUMBER);
|
|
|
|
|
allCallInfo.setDuration(Integer.valueOf(rollCallBackDTO.getDuration()));
|
|
|
|
|
//更新资源通话状态
|
|
|
|
|
updateSourceCallStatus(allCallInfo.getClueId(), DefaultNumberConstants.TWO_NUMBER);
|
|
|
|
|
}else {
|
|
|
|
|
CompletableFuture.runAsync(() -> {
|
|
|
|
|
updateSourceCallStatus(allCallInfo.getClueId(), DefaultNumberConstants.TWO_NUMBER);
|
|
|
|
|
});
|
|
|
|
|
} else {
|
|
|
|
|
//更新资源通话状态
|
|
|
|
|
updateSourceCallStatus(allCallInfo.getClueId(), DefaultNumberConstants.ONE_NUMBER);
|
|
|
|
|
CompletableFuture.runAsync(() -> {
|
|
|
|
|
updateSourceCallStatus(allCallInfo.getClueId(), DefaultNumberConstants.ONE_NUMBER);
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
allCallInfoRepository.save(allCallInfo);
|
|
|
|
|
}
|
|
|
|
@ -283,7 +280,7 @@ public class TelephoneCallServiceImpl implements TelephoneCallService {
|
|
|
|
|
* 更新资源通话状态
|
|
|
|
|
*
|
|
|
|
|
* @param clueId 资源ID
|
|
|
|
|
* @param status 1:未接听 2:已接通
|
|
|
|
|
* @param status 1:未接听 2:已接通
|
|
|
|
|
*/
|
|
|
|
|
private void updateSourceCallStatus(Long clueId, Integer status) {
|
|
|
|
|
ClueMiddle clueMiddle = new ClueMiddle();
|
|
|
|
|