Commit bfcebb0c by Huang Linyu

呼叫弹屏 如果没有用户没有注册,跳至注册页面,修复通过UID查找用户功能

parent 1e6f2f91
......@@ -2,12 +2,15 @@ package com.ctrip.fun.admin.eventhandler;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.ctrip.fun.admin.service.system.UserService;
import com.ctrip.fun.admin.vo.callcenter.AbstractEventHandler;
import com.ctrip.fun.admin.vo.callcenter.RsmwNewStateEvent;
import com.ctrip.fun.common.vo.user.UserExtBean;
......@@ -23,6 +26,9 @@ public class NewStateEventHandler extends AbstractEventHandler {
private final Logger logger = LoggerFactory.getLogger(this.getClass());
@Autowired
private UserService userService;
@Override
public String handle(JSONObject jsonObject) {
// 先从json对象转成java对象,方便get
......@@ -42,7 +48,15 @@ public class NewStateEventHandler extends AbstractEventHandler {
String mobileNo = event.getConnectedLineNumber().replaceFirst("^0*", "");
String callerIdNumber = event.getChannel().substring(4, 8);
NewStateWebSocket.unicast(callerIdNumber,mobileNo);
UserExtBean user = userService.getUserByMobile(mobileNo);
String uid = "";
if(user != null){
uid = user.getUid();
}
NewStateWebSocket.unicast(callerIdNumber,uid,mobileNo);
}
return "";
}
......
......@@ -73,13 +73,17 @@ public class NewStateWebSocket {
}
public static void unicast(String username, String mobileNo) {
String message = "/system/user/"+mobileNo+"/detailByUid";
public static void unicast(String username, String uid, String mobileNo) {
String message = "/system/user/"+uid+"/detailByUid";
Session session = sessionMap.get(username);
if(session == null){
System.out.println("Callcenter pop window:分机号"+username+"没有绑定任何账户或者绑定的账户没有登录。无法为其弹窗");
return ;
}
if("".equals(uid)){
System.out.println("Callcenter pop window:手机号码"+mobileNo+"没有注册!");
message = "/tools/validCode "+mobileNo;
}
try {
session.getBasicRemote().sendText(message);
} catch (Exception e) {
......
......@@ -94,16 +94,27 @@
$("#btnSendCode").val("请在" + curCount + "秒后再获取验证码");
}
}
document.onreadystatechange = function(e){
if (document.readyState === 'complete')
window.addEventListener('message', function(e){
var params = e.data;
$("#oriMobileNo").val(params[0][1]);
$("#mobileNo").val(params[0][1]);
});
}
}
</script>
</#assign>
<@com.layout title="电话注册 " module="system" pageJs=pageJsContent>
该电话用户未注册,请先注册
<form action="/cc/userRegister" method="post">
<input type="hidden" id="oriMobileNo" name="oriMobileNo" value="${mobileNo!}" />
<input type="hidden" id="oriMobileNo" name="oriMobileNo" />
<div>
手机号码:
<input type="text" name="mobileNo" id="mobileNo" title="请输入手机号" placeholder="请输入正确手机号" value="${mobileNo!}"
/>
<input type="text" name="mobileNo" id="mobileNo" title="请输入手机号" placeholder="请输入正确手机号" />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
<input type="button" id="btnSendCode" class="btn btn-primary" value="获取验证码"
onclick="sendValidCode()" />
......
......@@ -9,7 +9,17 @@
webSocket.onerror = function(event) {};
webSocket.onopen = function(event) {};
webSocket.onmessage = function(event) {
window.open(event.data, "用户来电通知");
if(event.data.startsWith("/tools/validCode")){
var message = event.data;
var msgArr = message.split(" ");
var popupwin = window.open(event.data, "用户来电通知");
var params = new Array();
params[0] = new Array("mobileNo",msgArr[1]);
popupwin.onload = function(e){
popupwin.postMessage(params,"http://"+window.location.host);
}
}
};
webSocket.onclose = function(event){};
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment