Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
caosy
/
fun-admin
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Members
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
bfcebb0c
authored
Oct 18, 2017
by
Huang Linyu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
呼叫弹屏 如果没有用户没有注册,跳至注册页面,修复通过UID查找用户功能
parent
1e6f2f91
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
46 additions
and
7 deletions
src/main/java/com/ctrip/fun/admin/eventhandler/NewStateEventHandler.java
src/main/java/com/ctrip/fun/admin/eventhandler/NewStateWebSocket.java
src/main/webapp/WEB-INF/templates/tools/validCode.ftl
src/main/webapp/resource/js/app/op.js
src/main/java/com/ctrip/fun/admin/eventhandler/NewStateEventHandler.java
View file @
bfcebb0c
...
...
@@ -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
""
;
}
...
...
src/main/java/com/ctrip/fun/admin/eventhandler/NewStateWebSocket.java
View file @
bfcebb0c
...
...
@@ -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
)
{
...
...
src/main/webapp/WEB-INF/templates/tools/validCode.ftl
View file @
bfcebb0c
...
...
@@ -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="请输入正确手机号" />
<input type="button" id="btnSendCode" class="btn btn-primary" value="获取验证码"
onclick="sendValidCode()" />
...
...
src/main/webapp/resource/js/app/op.js
View file @
bfcebb0c
...
...
@@ -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
){};
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment