| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123 |
- package com.goafanti.customer.controller;
- import com.goafanti.common.bo.Error;
- import com.goafanti.common.bo.Result;
- import com.goafanti.common.controller.BaseApiController;
- import com.goafanti.common.model.Admin;
- import com.goafanti.core.shiro.token.TokenManager;
- import com.goafanti.customer.bo.*;
- import com.goafanti.customer.service.UserOutboundService;
- import org.springframework.web.bind.annotation.GetMapping;
- import org.springframework.web.bind.annotation.PostMapping;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RestController;
- import org.springframework.web.servlet.mvc.method.annotation.SseEmitter;
- import javax.annotation.Resource;
- @RestController
- @RequestMapping("/api/admin/userOutbound")
- public class UserOutboundApiController extends BaseApiController {
- @Resource
- private UserOutboundService userOutboundService;
- /**
- * 客户外呼查询
- *
- */
- @PostMapping("/checkUser")
- public Result checkUser(Integer type) {
- return new Result<>().data(this.userOutboundService.checkUser(type));
- }
- /**
- * 坐席点击呼叫
- *
- */
- @PostMapping("/callNumber")
- public Result callNumber(InputCallNumber in) {
- Result res =new Result();
- Admin adminToken = TokenManager.getAdminToken();
- String callNo = null;
- if (adminToken != null) {
- callNo = adminToken.getCallNo();
- in.setAgent(callNo);
- }
- if (in.getAgent()==null){
- return res.error(new Error("坐席号不能为空"));
- }
- if (in.getCallee()==null){
- return res.error(new Error("客户号码不能为空"));
- }
- if (in.getUid()==null){
- return res.error(new Error("客户编号不能为空"));
- }
- return this.userOutboundService.pushCallNumber(in);
- }
- /**
- * 坐席呼叫转移
- *
- */
- @PostMapping("/blindTransferByAgent")
- public Result blindTransferByAgent(InputCallNumber in) {
- Result res =new Result();
- Admin adminToken = TokenManager.getAdminToken();
- String callNo = null;
- if (adminToken != null) {
- callNo = adminToken.getCallNo();
- in.setAgent(callNo);
- }
- if (in.getAgent()==null){
- return res.error(new Error("坐席号不能为空"));
- }
- if (in.getTransAgent()==null){
- return res.error(new Error("转移坐席号不能为空"));
- }
- return userOutboundService.blindTransferByAgent(in);
- }
- /**
- * 坐席列表
- *
- */
- @GetMapping("/agentList")
- public Result agentList() {
- return new Result<>().data(this.userOutboundService.agentList());
- }
- /**
- * 获取默认电话
- *
- */
- @GetMapping("/getDefaultMobile")
- public Result getDefaultMobile(String uid) {
- return new Result<>().data(this.userOutboundService.getDefaultMobile(uid));
- }
- /**
- * 通话记录
- *
- */
- @GetMapping("/userCallList")
- public Result userCallList(InputUserCallList in) {
- return new Result<>().data(this.userOutboundService.userCallList(in));
- }
- /**
- * 开启长连接
- */
- @RequestMapping("/SSeStart")
- public SseEmitter testSseEmitter() {
- // 默认30秒超时,设置为0L则永不超时
- SseEmitterUTF8 sseEmitter = new SseEmitterUTF8(3600_000L);
- SseMap.sseEmitterMap.put(TokenManager.getAdminId(), new SseResult(TokenManager.getAdminId(), System.currentTimeMillis(), sseEmitter));
- return sseEmitter;
- }
- }
|