电话呼出日志优化

This commit is contained in:
俞扬
2023-08-16 13:05:40 +08:00
parent bf127453be
commit 1f025f0d5d
4 changed files with 49 additions and 7 deletions

View File

@@ -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", "呼叫请求编号")
; ;

View File

@@ -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;

View File

@@ -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;
}

View File

@@ -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);