|
|
@@ -0,0 +1,86 @@
|
|
|
+package com.fs.app.controller;
|
|
|
+
|
|
|
+import com.fs.aiSipCall.domain.AiSipCallOutboundCdr;
|
|
|
+import com.fs.aiSipCall.domain.AiSipCallUser;
|
|
|
+import com.fs.aiSipCall.service.IAiSipCallOutboundCdrService;
|
|
|
+import com.fs.aiSipCall.service.IAiSipCallUserService;
|
|
|
+import com.fs.aiSipCall.utils.StringUtils;
|
|
|
+import com.fs.app.annotation.Login;
|
|
|
+import com.fs.common.core.domain.AjaxResult;
|
|
|
+import com.fs.company.domain.CompanyUser;
|
|
|
+import com.fs.company.service.ICompanyUserService;
|
|
|
+import io.swagger.annotations.Api;
|
|
|
+import lombok.extern.slf4j.Slf4j;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.web.bind.annotation.*;
|
|
|
+
|
|
|
+import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
+
|
|
|
+@Slf4j
|
|
|
+@Api(tags = "外呼接口")
|
|
|
+@RestController
|
|
|
+@RequestMapping("/app/aiSipCall")
|
|
|
+public class SipCallController extends AppBaseController{
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private IAiSipCallUserService aiSipCallUserService;
|
|
|
+ @Autowired
|
|
|
+ private IAiSipCallOutboundCdrService aiSipCallOutboundCdrService;
|
|
|
+ @Autowired
|
|
|
+ private ICompanyUserService companyUserService;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 查询登录销售的sip用户信息列表
|
|
|
+ */
|
|
|
+ @Login
|
|
|
+ @GetMapping("/myCallUser")
|
|
|
+ public AjaxResult myCallUser(AiSipCallUser aiSipCallUser) {
|
|
|
+ aiSipCallUser.setCompanyUserId(Long.parseLong(getUserId()));
|
|
|
+ startPage();
|
|
|
+ List<AiSipCallUser> list = aiSipCallUserService.selectAiSipCallUserList(aiSipCallUser);
|
|
|
+ AiSipCallUser callUser = null;
|
|
|
+ if(!list.isEmpty()){
|
|
|
+ callUser = list.get(0);
|
|
|
+ }
|
|
|
+
|
|
|
+ return AjaxResult.success(callUser);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 查询aiSIP工具条基础配置参数
|
|
|
+ * @param param 参数
|
|
|
+ * @return AjaxResult 结果
|
|
|
+ */
|
|
|
+ @Login
|
|
|
+ @PostMapping("/getToolbarBasicParam")
|
|
|
+ public AjaxResult getToolbarBasicParam(@RequestBody Map<String,String> param)
|
|
|
+ {
|
|
|
+ String extNum = param.get("extNum");
|
|
|
+ if(extNum == null){
|
|
|
+ return AjaxResult.error("分机号参数缺失");
|
|
|
+ }
|
|
|
+ return aiSipCallUserService.getToolbarBasicParam(param);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 根据UUID同步手动外呼通话记录
|
|
|
+ */
|
|
|
+ @Login
|
|
|
+ @PostMapping("/callEndSyncByUuid")
|
|
|
+ public void callEndSyncByUuid(@RequestBody AiSipCallOutboundCdr request)
|
|
|
+ {
|
|
|
+ if(StringUtils.isNotEmpty(request.getUuid())){
|
|
|
+ long companyUserId = Long.parseLong(getUserId());
|
|
|
+ CompanyUser companyUser = companyUserService.selectCompanyUserById(companyUserId);
|
|
|
+ request.setSourceType("0");
|
|
|
+ request.setCompanyId(companyUser.getCompanyId());
|
|
|
+ request.setCompanyUserId(companyUser.getUserId());
|
|
|
+ request.setCompanyUserName(companyUser.getUserName());
|
|
|
+ request.setStatus(0);
|
|
|
+ aiSipCallOutboundCdrService.callEndSyncByUuid(request);
|
|
|
+ }else{
|
|
|
+ throw new RuntimeException("获取手动外呼通话记录同步失败,uuid为空");
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|