电话呼出日志优化
This commit is contained in:
@@ -49,7 +49,8 @@ public enum OperateLogFieldValueEnum {
|
|||||||
FOLLOW_LOG("followLog", "跟进日志"),
|
FOLLOW_LOG("followLog", "跟进日志"),
|
||||||
FOLLOW_TASK_ID("followTaskId", "跟进任务id"),
|
FOLLOW_TASK_ID("followTaskId", "跟进任务id"),
|
||||||
ADD_LABELS("addLabels", "新增标签"),
|
ADD_LABELS("addLabels", "新增标签"),
|
||||||
REMOVE_LABELS("removeLabels", "移除标签")
|
REMOVE_LABELS("removeLabels", "移除标签"),
|
||||||
|
CALL_TRANS_NO("transNo", "呼叫请求编号")
|
||||||
;
|
;
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -36,7 +36,10 @@ public enum OperateTypeEnum {
|
|||||||
INTENT_INFO_UPDATE("intent_info_update", "修改意向申请书", Arrays.asList(OPERATE_USER_ID,OPERATE_USER_NAME, MOBILE, OPERATE_TIME, BEFORE_BASE_INFO_UPDATE, AFTER_BASE_INFO_UPDATE, BEFORE_INTENT_INFO_UPDATE, AFTER_INTENT_INFO_UPDATE, BEFORE_CLERK_INFO_UPDATE, AFTER_CLERK_INFO_UPDATE)),
|
INTENT_INFO_UPDATE("intent_info_update", "修改意向申请书", Arrays.asList(OPERATE_USER_ID,OPERATE_USER_NAME, MOBILE, OPERATE_TIME, BEFORE_BASE_INFO_UPDATE, AFTER_BASE_INFO_UPDATE, BEFORE_INTENT_INFO_UPDATE, AFTER_INTENT_INFO_UPDATE, BEFORE_CLERK_INFO_UPDATE, AFTER_CLERK_INFO_UPDATE)),
|
||||||
ADD_TAGS("add_tags", "修改用户画像", Arrays.asList(OPERATE_USER_ID,OPERATE_USER_NAME, MOBILE, OPERATE_TIME, ADD_LABELS, REMOVE_LABELS)),
|
ADD_TAGS("add_tags", "修改用户画像", Arrays.asList(OPERATE_USER_ID,OPERATE_USER_NAME, MOBILE, OPERATE_TIME, ADD_LABELS, REMOVE_LABELS)),
|
||||||
ADD_FOLLOW_LOG("add_follow_log", "新增根据日志", Arrays.asList(FOLLOW_LOG)),
|
ADD_FOLLOW_LOG("add_follow_log", "新增根据日志", Arrays.asList(FOLLOW_LOG)),
|
||||||
ADD_FOLLOW_TASK("add_follow_task", "新增跟进任务", Arrays.asList(FOLLOW_TASK_ID))
|
ADD_FOLLOW_TASK("add_follow_task", "新增跟进任务", Arrays.asList(FOLLOW_TASK_ID)),
|
||||||
|
|
||||||
|
CALL_UP("call_up", "拨打电话", Arrays.asList(CALL_TRANS_NO)),
|
||||||
|
|
||||||
;
|
;
|
||||||
|
|
||||||
private String code;
|
private String code;
|
||||||
|
|||||||
@@ -0,0 +1,16 @@
|
|||||||
|
package com.cool.store.dto.log;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.experimental.SuperBuilder;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author: young.yu
|
||||||
|
* @Date: 2023-08-16 11:41
|
||||||
|
* @Description:
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@SuperBuilder
|
||||||
|
public class CallUpLogDTO extends LogBasicDTO{
|
||||||
|
private String transNo;
|
||||||
|
}
|
||||||
@@ -3,10 +3,17 @@ package com.cool.store.service.impl;
|
|||||||
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.core.date.DateUtil;
|
||||||
import cn.hutool.core.lang.UUID;
|
import cn.hutool.core.lang.UUID;
|
||||||
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSON;
|
||||||
|
import com.cool.store.context.CurrentUserHolder;
|
||||||
|
import com.cool.store.context.LoginUserInfo;
|
||||||
|
import com.cool.store.dao.EnterpriseUserDAO;
|
||||||
import com.cool.store.dto.call.CallUpDTO;
|
import com.cool.store.dto.call.CallUpDTO;
|
||||||
|
import com.cool.store.dto.log.CallUpLogDTO;
|
||||||
|
import com.cool.store.dto.log.EntrustOthersDTO;
|
||||||
import com.cool.store.entity.CallRecordDO;
|
import com.cool.store.entity.CallRecordDO;
|
||||||
|
import com.cool.store.entity.EnterpriseUserDO;
|
||||||
import com.cool.store.enums.CallStatusEnum;
|
import com.cool.store.enums.CallStatusEnum;
|
||||||
import com.cool.store.enums.ErrorCodeEnum;
|
import com.cool.store.enums.ErrorCodeEnum;
|
||||||
|
import com.cool.store.enums.OperateTypeEnum;
|
||||||
import com.cool.store.exception.ApiException;
|
import com.cool.store.exception.ApiException;
|
||||||
import com.cool.store.handler.WebSocketServer;
|
import com.cool.store.handler.WebSocketServer;
|
||||||
import com.cool.store.mapper.CallRecordMapper;
|
import com.cool.store.mapper.CallRecordMapper;
|
||||||
@@ -15,6 +22,8 @@ import com.cool.store.request.CallFinishBackReq;
|
|||||||
import com.cool.store.request.CallRecordBackReq;
|
import com.cool.store.request.CallRecordBackReq;
|
||||||
import com.cool.store.request.CallUpReq;
|
import com.cool.store.request.CallUpReq;
|
||||||
import com.cool.store.service.CallService;
|
import com.cool.store.service.CallService;
|
||||||
|
import com.cool.store.service.LogService;
|
||||||
|
import com.cool.store.utils.CoolDateUtils;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
@@ -36,14 +45,20 @@ public class CallServiceImpl implements CallService {
|
|||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private HyOutboundMobileMapper hyOutboundMobileMapper;
|
private HyOutboundMobileMapper hyOutboundMobileMapper;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private EnterpriseUserDAO enterpriseUserDAO;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private LogService logService;
|
||||||
@Override
|
@Override
|
||||||
public String callUp(CallUpReq request) throws ApiException {
|
public String callUp(CallUpReq request) throws ApiException {
|
||||||
|
//校验拨出手机号APP是否在线
|
||||||
|
boolean isOnline = WebSocketServer.isOnline(request.getOutgoingMobile());
|
||||||
|
if (!isOnline) {
|
||||||
|
throw new ApiException(ErrorCodeEnum.MOBILE_APP_NOT_ONLINE_ERROR);
|
||||||
|
}
|
||||||
try {
|
try {
|
||||||
//校验拨出手机号APP是否在线
|
|
||||||
boolean isOnline = WebSocketServer.isOnline(request.getOutgoingMobile());
|
|
||||||
if (!isOnline) {
|
|
||||||
throw new ApiException(ErrorCodeEnum.MOBILE_APP_NOT_ONLINE_ERROR);
|
|
||||||
}
|
|
||||||
CallRecordDO callRecordDO = new CallRecordDO();
|
CallRecordDO callRecordDO = new CallRecordDO();
|
||||||
callRecordDO.setOutgoingMobile(request.getOutgoingMobile());
|
callRecordDO.setOutgoingMobile(request.getOutgoingMobile());
|
||||||
callRecordDO.setIncomingMobile(request.getIncomingMobile());
|
callRecordDO.setIncomingMobile(request.getIncomingMobile());
|
||||||
@@ -70,6 +85,13 @@ public class CallServiceImpl implements CallService {
|
|||||||
|
|
||||||
//保存通话记录
|
//保存通话记录
|
||||||
callRecordMapper.insertSelective(callRecordDO);
|
callRecordMapper.insertSelective(callRecordDO);
|
||||||
|
//记录日志
|
||||||
|
LoginUserInfo operator = CurrentUserHolder.getUser();
|
||||||
|
CallUpLogDTO log = CallUpLogDTO.builder().operateUserId(operator.getUserId()).operateUsername(operator.getName())
|
||||||
|
.operateTime(DateUtil.format(new Date(), CoolDateUtils.DATE_FORMAT_SEC))
|
||||||
|
.transNo(transNo).build();
|
||||||
|
logService.recordBizLog(operator,Long.valueOf(request.getLineId()), OperateTypeEnum.CALL_UP,log);
|
||||||
|
|
||||||
return transNo;
|
return transNo;
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error("callUp error, request:{}", JSON.toJSONString(request), e);
|
log.error("callUp error, request:{}", JSON.toJSONString(request), e);
|
||||||
|
|||||||
Reference in New Issue
Block a user