anderx 1 год назад
Родитель
Сommit
95c604e6fc

+ 11 - 4
src/main/java/com/goafanti/common/bo/InputCallCompleter.java

@@ -1,10 +1,17 @@
 package com.goafanti.common.bo;
 
-import java.util.Map;
-
 public class InputCallCompleter {
 
-    private Map<String,Object> authentication;
+    private authenticationBo authentication;
+
+
+
+    public authenticationBo getAuthentication() {
+        return authentication;
+    }
+
+    public void setAuthentication(authenticationBo authentication) {
+        this.authentication = authentication;
+    }
 
-    private Map<String,Object> notify;
 }

+ 51 - 0
src/main/java/com/goafanti/common/bo/authenticationBo.java

@@ -0,0 +1,51 @@
+package com.goafanti.common.bo;
+
+public class authenticationBo {
+    private String customer;
+    private String timestamp;
+    private String seq;
+    private String digest;
+
+
+    public String getCustomer() {
+        return customer;
+    }
+
+    public void setCustomer(String customer) {
+        this.customer = customer;
+    }
+
+    public String getTimestamp() {
+        return timestamp;
+    }
+
+    public void setTimestamp(String timestamp) {
+        this.timestamp = timestamp;
+    }
+
+    public String getSeq() {
+        return seq;
+    }
+
+    public void setSeq(String seq) {
+        this.seq = seq;
+    }
+
+    public String getDigest() {
+        return digest;
+    }
+
+    public void setDigest(String digest) {
+        this.digest = digest;
+    }
+
+    @Override
+    public String toString() {
+        return "authenticationBo{" +
+                "customer='" + customer + '\'' +
+                ", timestamp='" + timestamp + '\'' +
+                ", seq='" + seq + '\'' +
+                ", digest='" + digest + '\'' +
+                '}';
+    }
+}

+ 4 - 5
src/main/java/com/goafanti/common/controller/PublicController.java

@@ -39,7 +39,6 @@ import org.springframework.web.multipart.MultipartFile;
 import org.springframework.web.socket.TextMessage;
 
 import javax.annotation.Resource;
-import javax.servlet.ServletRequest;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.io.*;
@@ -984,9 +983,9 @@ public class PublicController extends CertifyApiController {
 	 *
 	 */
 	@PostMapping("/callCompleted")
-	public Result callCompleted(ServletRequest request,InputCallCompleter in) {
-		Map<String, String[]> parameterMap =request.getParameterMap();
-		System.out.println(parameterMap);
-		return new Result<>().data(userOutboundService.callCompleted(parameterMap));
+	@ResponseBody
+	public Result callCompleted( InputCallCompleter in) {
+		System.out.println(in);
+		return new Result<>().data(userOutboundService.callCompleted(in));
 	}
 }

+ 2 - 0
src/main/java/com/goafanti/common/dao/AdminMapper.java

@@ -274,6 +274,8 @@ public interface AdminMapper {
 
 
     void updateDepExpenseFinance(@Param("id") String id, @Param("expenseFinanceId") String expenseFinanceId);
+
+    List<Admin> agentList();
 }
 
 

+ 8 - 0
src/main/java/com/goafanti/common/mapper/AdminMapper.xml

@@ -1286,6 +1286,7 @@
         where a.id= #{aid}
     </select>
 
+
     <update id="updateDepExpenseFinance">
         update expense_account a left join expense_account_examine b on a.id=b.eaid
             left join admin c on c.id= #{expenseFinanceId}
@@ -1293,5 +1294,12 @@
         where a.process_status in (0,1,2,3) and a.status =1 and b.process_status =3 and b.status =0
           and a.apply_dep = #{id}
     </update>
+
+    <select id="agentList" resultMap="AdminMap">
+        select
+            <include refid="AdminAllSql"/>
+        from admin
+        where status='0' and call_no>0
+        </select>
 </mapper>
 

+ 4 - 1
src/main/java/com/goafanti/common/mapper/OrganizationContactBookMapper.xml

@@ -492,6 +492,9 @@
   select 
     <include refid="Base_Column_List" />
     from organization_contact_book
-    where uid = #{uid} and aid= #{aid} and major =1 limit 1
+    where uid = #{uid}  and major =1 limit 1
+    <if test="aid != null">
+        and aid= #{aid}
+    </if>
   </select>
 </mapper>

+ 19 - 1
src/main/java/com/goafanti/customer/controller/UserOutboundApiController.java

@@ -7,6 +7,7 @@ import com.goafanti.common.model.Admin;
 import com.goafanti.core.shiro.token.TokenManager;
 import com.goafanti.customer.bo.InputCallNumber;
 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;
@@ -53,7 +54,7 @@ public class UserOutboundApiController  extends BaseApiController {
             return res.error(new Error("客户编号不能为空"));
         }
 
-        return this.userOutboundService.callNumber(in);
+        return this.userOutboundService.pushCallNumber(in);
     }
 
     /**
@@ -78,5 +79,22 @@ public class UserOutboundApiController  extends BaseApiController {
         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));
+    }
 }

+ 8 - 4
src/main/java/com/goafanti/customer/service/UserOutboundService.java

@@ -1,16 +1,20 @@
 package com.goafanti.customer.service;
 
+import com.goafanti.common.bo.InputCallCompleter;
 import com.goafanti.common.bo.Result;
 import com.goafanti.customer.bo.InputCallNumber;
 
-import java.util.Map;
-
 public interface UserOutboundService {
     Object checkUser(Integer type);
 
-    Result callNumber(InputCallNumber in);
+    Result pushCallNumber(InputCallNumber in);
 
     Result blindTransferByAgent(InputCallNumber in);
 
-    Object callCompleted(Map<String, String[]> in);
+    Object callCompleted(InputCallCompleter in);
+
+    Object agentList();
+
+    Object getDefaultMobile(String uid);
+
 }

+ 29 - 9
src/main/java/com/goafanti/customer/service/impl/UserOutboundServiceImpl.java

@@ -3,7 +3,10 @@ package com.goafanti.customer.service.impl;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.goafanti.common.bo.Error;
+import com.goafanti.common.bo.InputCallCompleter;
 import com.goafanti.common.bo.Result;
+import com.goafanti.common.dao.AdminMapper;
+import com.goafanti.common.dao.OrganizationContactBookMapper;
 import com.goafanti.common.dao.UserArchivesMapper;
 import com.goafanti.common.dao.UserMapper;
 import com.goafanti.common.model.User;
@@ -34,6 +37,10 @@ public class UserOutboundServiceImpl extends BaseMybatisDao<UserArchivesMapper>
     private SystemWebSocketHandler systemWebSocketHandler;
     @Resource
     private UserMapper userMapper;
+    @Resource
+    private AdminMapper adminMapper;
+    @Resource
+    private OrganizationContactBookMapper organizationContactBookMapper;
 
     @Override
     public Object checkUser(Integer type) {
@@ -64,7 +71,7 @@ public class UserOutboundServiceImpl extends BaseMybatisDao<UserArchivesMapper>
     }
 
     @Override
-    public Result callNumber(InputCallNumber in) {
+    public Result pushCallNumber(InputCallNumber in) {
         String msg =null;
         if (StringUtils.isNotBlank(in.getUid())){
             User u =userMapper.queryById(in.getUid());
@@ -89,15 +96,18 @@ public class UserOutboundServiceImpl extends BaseMybatisDao<UserArchivesMapper>
         JSONObject result = jsonObject.getJSONObject("result");
         msg = result.getString("msg");
         if (StringUtils.isNotBlank(msg)){
+            if (msg.equals("成功")){
+//                if (StringUtils.isNotBlank(in.getUid())){
+//                    User u =new User();
+//                    u.setId(in.getUid());
+//                    u.setCallStatus(1);
+//                    userMapper.update(u);
+//                }
+                return new Result().data("呼叫成功");
+            }
             return new Result().error(new Error(msg));
         }
-        if (StringUtils.isNotBlank(in.getUid())){
-            User u =new User();
-            u.setId(in.getUid());
-            u.setCallStatus(1);
-            userMapper.update(u);
-        }
-        return new Result().data("呼叫成功");
+        return new Result().error(new Error("通信异常"));
     }
 
     @Override
@@ -121,9 +131,19 @@ public class UserOutboundServiceImpl extends BaseMybatisDao<UserArchivesMapper>
     }
 
     @Override
-    public Object callCompleted(Map<String, String[]> in) {
+    public Object callCompleted(InputCallCompleter in) {
         //需要关闭客户呼叫中
         systemWebSocketHandler.sendMessageToUser(TokenManager.getAdminId(), new TextMessage("callCompleted"));
         return 1;
     }
+
+    @Override
+    public Object agentList() {
+        return adminMapper.agentList();
+    }
+
+    @Override
+    public Object getDefaultMobile(String uid) {
+        return organizationContactBookMapper.getMajor(uid,null);
+    }
 }