Bläddra i källkod

Merge remote-tracking branch 'origin/红德堂' into 红德堂

wangxy 5 dagar sedan
förälder
incheckning
c189118e20

+ 86 - 0
fs-company-app/src/main/java/com/fs/app/controller/SipCallController.java

@@ -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为空");
+        }
+    }
+}