电话呼出日志优化
This commit is contained in:
@@ -49,7 +49,8 @@ public enum OperateLogFieldValueEnum {
|
||||
FOLLOW_LOG("followLog", "跟进日志"),
|
||||
FOLLOW_TASK_ID("followTaskId", "跟进任务id"),
|
||||
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)),
|
||||
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_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;
|
||||
|
||||
@@ -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.lang.UUID;
|
||||
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.log.CallUpLogDTO;
|
||||
import com.cool.store.dto.log.EntrustOthersDTO;
|
||||
import com.cool.store.entity.CallRecordDO;
|
||||
import com.cool.store.entity.EnterpriseUserDO;
|
||||
import com.cool.store.enums.CallStatusEnum;
|
||||
import com.cool.store.enums.ErrorCodeEnum;
|
||||
import com.cool.store.enums.OperateTypeEnum;
|
||||
import com.cool.store.exception.ApiException;
|
||||
import com.cool.store.handler.WebSocketServer;
|
||||
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.CallUpReq;
|
||||
import com.cool.store.service.CallService;
|
||||
import com.cool.store.service.LogService;
|
||||
import com.cool.store.utils.CoolDateUtils;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@@ -36,14 +45,20 @@ public class CallServiceImpl implements CallService {
|
||||
|
||||
@Autowired
|
||||
private HyOutboundMobileMapper hyOutboundMobileMapper;
|
||||
|
||||
@Autowired
|
||||
private EnterpriseUserDAO enterpriseUserDAO;
|
||||
|
||||
@Autowired
|
||||
private LogService logService;
|
||||
@Override
|
||||
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 {
|
||||
//校验拨出手机号APP是否在线
|
||||
boolean isOnline = WebSocketServer.isOnline(request.getOutgoingMobile());
|
||||
if (!isOnline) {
|
||||
throw new ApiException(ErrorCodeEnum.MOBILE_APP_NOT_ONLINE_ERROR);
|
||||
}
|
||||
CallRecordDO callRecordDO = new CallRecordDO();
|
||||
callRecordDO.setOutgoingMobile(request.getOutgoingMobile());
|
||||
callRecordDO.setIncomingMobile(request.getIncomingMobile());
|
||||
@@ -70,6 +85,13 @@ public class CallServiceImpl implements CallService {
|
||||
|
||||
//保存通话记录
|
||||
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;
|
||||
} catch (Exception e) {
|
||||
log.error("callUp error, request:{}", JSON.toJSONString(request), e);
|
||||
|
||||
Reference in New Issue
Block a user