diff --git a/doc/运维语句.sql b/doc/运维语句.sql index e66e565..ea6978c 100644 --- a/doc/运维语句.sql +++ b/doc/运维语句.sql @@ -28,13 +28,41 @@ FROM whatsapp_session WHERE coli_sn = 0 AND last_received_time IS NOT NULL ## AND opi_sn = 599 ORDER BY last_received_time DESC - - // 查找 WA 号码不一致 SELECT * FROM whatsapp_session WHERE whatsapp_phone_number_bak IS not NULL +/** + * --------------------------------------------------------- + * 分配会话到某个订单 + */ +UPDATE whatsapp_session +SET coli_sn = 1074885 +WHERE sn = 47 + AND msg.froms = @S_WAID; + +UPDATE whatsapp_inboundmessage msg +INNER JOIN whatsapp_session s ON s.whatsapp_phone_number = msg.froms + AND msg.msg_direction = 'inbound' +SET msg.coli_sn = s.coli_sn +WHERE ifnull(msg.coli_sn, 0) = 0 + AND msg.msg_direction = 'inbound' + AND msg.froms = '393343998897'; + + +UPDATE whatsapp_inboundmessage msg +INNER JOIN whatsapp_session s ON s.whatsapp_phone_number = msg.tos + AND msg.msg_direction = 'outbound' +SET msg.coli_sn = s.coli_sn +WHERE ifnull(msg.coli_sn, 0) = 0 + AND msg.msg_direction = 'outbound' + AND msg.tos = '393343998897'; +/** + * end 分配会话到某个订单 + * --------------------------------------------------------- + */ + /** * --------------------------------------------------------- * 未分配会话 - 处理 diff --git a/src/views/AuthApp.jsx b/src/views/AuthApp.jsx index b287d2e..376d9c1 100644 --- a/src/views/AuthApp.jsx +++ b/src/views/AuthApp.jsx @@ -44,7 +44,7 @@ function AuthApp() { useEffect(() => { // 除了路由 /p...以外都需要登陆系统 if ((loginUser.userId === -1) && (href.indexOf('/p/') === -1)) { - navigate('/p/dingding/login') + navigate('/p/dingding/login?origin_url=' + href) } }, [href]) diff --git a/src/views/dingding/Callback.jsx b/src/views/dingding/Callback.jsx index 15c0741..f4e7d01 100644 --- a/src/views/dingding/Callback.jsx +++ b/src/views/dingding/Callback.jsx @@ -18,6 +18,7 @@ function Callback() { const authCode = urlSearch.get('authCode') const state = urlSearch.get('state') const error = urlSearch.get('error') + const originUrl = urlSearch.get('origin_url') useEffect (() => { if (isNotEmpty(authCode) && state === 'global-saels') { @@ -42,10 +43,15 @@ function Callback() { ) } else if (loginStatus === 302) { const isMobileApp = navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i) !== null - if (isMobileApp) { - navigate('/m/conversation') + + if (isNotEmpty(originUrl)){ + navigate(originUrl) } else { - navigate('/') + if (isMobileApp) { + navigate('/m/conversation') + } else { + navigate('/') + } } } else if (loginStatus === 403) { return ( diff --git a/src/views/dingding/Login.jsx b/src/views/dingding/Login.jsx index 7280774..da0ce64 100644 --- a/src/views/dingding/Login.jsx +++ b/src/views/dingding/Login.jsx @@ -1,8 +1,11 @@ import { Flex, Result, Spin } from 'antd' function Login() { - - window.location = 'https://login.dingtalk.com/oauth2/auth?redirect_uri=https%3A%2F%2Fsales.mycht.cn%2Fp%2Fdingding%2Fcallback&response_type=code&client_id=dingwgdx6emlxr3fcrg8&scope=openid&state=global-saels&prompt=consent' + + const urlSearch = new URLSearchParams(location.search) + const originUrl = urlSearch.get('origin_url') + + window.location = 'https://login.dingtalk.com/oauth2/auth?redirect_uri=https%3A%2F%2Fsales.mycht.cn%2Fp%2Fdingding%2Fcallback%3Forigin_url%3D' + originUrl + '&response_type=code&client_id=dingwgdx6emlxr3fcrg8&scope=openid&state=global-saels&prompt=consent' return (