mirror of
https://gitee.com/zhc02/timely_service.git
synced 2025-06-28 05:11:30 +08:00
core
This commit is contained in:
parent
e3af3c3212
commit
5ba57f4d0b
@ -1,4 +1,7 @@
|
||||
# timely客服系统
|
||||
#### Timely交流群
|
||||
|
||||
QQ:850286851
|
||||
|
||||
#### 介绍
|
||||
基于TP5.1+swoole写的客服系统,目前开放demo测试版 ,更多功能之后会基于此版本慢慢完善
|
||||
@ -35,8 +38,5 @@ http://www.chat.cnavd.com/ 点击客服测试自动匹配客服服务
|
||||
2. 在项目根目录运行 mkdir -m 777 runtime
|
||||
3. 在项目根目录运行php think chat start 支持 start | start -d |restart |stop
|
||||
4. 然后浏览器访问 www.xxxx.com/index/kefu/index
|
||||
#### Timely交流群
|
||||
|
||||
QQ:850286851
|
||||
|
||||
|
||||
|
@ -3,6 +3,7 @@
|
||||
namespace app\swoole\command;
|
||||
|
||||
|
||||
use app\swoole\service\Event;
|
||||
use Swoole\Process;
|
||||
use think\console\Command;
|
||||
use think\console\Input;
|
||||
@ -144,7 +145,7 @@ class Chat extends Command
|
||||
$this->output->writeln('<error>no swoole server process running.</error>');
|
||||
return false;
|
||||
}
|
||||
|
||||
dump(Event::$online);exit;
|
||||
$this->output->writeln('Reloading swoole server...');
|
||||
Process::kill($pid, SIGUSR1);
|
||||
$this->output->writeln('> success');
|
||||
|
@ -14,7 +14,6 @@ use think\Exception;
|
||||
use think\facade\Log;
|
||||
use Logic\KefuLogic;
|
||||
use exception\LogicException;
|
||||
use Logic\ServiceLogic;
|
||||
use exception\BaseException;
|
||||
use Logic\QueueLogic;
|
||||
use Logic\Visitor;
|
||||
@ -55,7 +54,7 @@ class Event
|
||||
* @param $fd 客户端标识
|
||||
* @param $data 请求数据
|
||||
*/
|
||||
public static function kefuConnection($fd, $data, $server)
|
||||
public static function kefuLogin($fd, $data, $server)
|
||||
{
|
||||
|
||||
try {
|
||||
@ -72,6 +71,7 @@ class Event
|
||||
self::$kefu[$data['uid']]['visitor_fds'][$item['visitor_id']] = $item['client_id'];
|
||||
}
|
||||
}
|
||||
Log::record('WebSocket请求开始,数据信息[' . json_encode($frame) . ']');
|
||||
QueueLogic::updateQueueingkefuClientid($kefu_code, $fd);
|
||||
return self::reposon($fd, 200, '客服上线成功', [], 'kefu_online');
|
||||
} catch (BaseException $e) {
|
||||
@ -178,7 +178,7 @@ class Event
|
||||
return self::reposon($fd, 200, $kefu_info['msg'], $kefu_info['data'], 'visitorToKefu');
|
||||
} catch (Exception $e) {
|
||||
Db::rollback();
|
||||
Log::info('分配客服数据错误信息:' . $e->getMessage());
|
||||
Log::error('分配客服数据错误信息:' . $e->getMessage());
|
||||
//取消客服在线状态
|
||||
KefuLogic::setKefuOnlineStatus(ltrim($kefu_info['data']['kefu_code'], 'KF_'), '', 0);
|
||||
return self::reposon($fd, 401, '请重新尝试分配客服1', [], 'visitorToKefu');
|
||||
@ -190,7 +190,7 @@ class Event
|
||||
Db::commit();
|
||||
} catch (BaseException $e) {
|
||||
Db::rollback();
|
||||
Log::record('分配客服数据错误信息:' . $e->getMessage());
|
||||
Log::error('分配客服数据错误信息:' . $e->getMessage());
|
||||
return self::reposon($fd, 402, '请重新尝试分配客服2', [], 'visitorToKefu');
|
||||
}
|
||||
unset($customer, $kefu_info);
|
||||
|
@ -22,32 +22,27 @@ class Service
|
||||
echo "server: handshake success with fd{$request->fd}\n";
|
||||
}
|
||||
|
||||
|
||||
public function onMessage($server, $frame)
|
||||
{
|
||||
echo "receive from {$frame->fd}:{$frame->data},opcode:{$frame->opcode},fin:{$frame->finish}\n";
|
||||
try {
|
||||
Log::record('WebSocket请求开始,请求信息[' . json_encode($frame) . ']');
|
||||
Log::info('WebSocket请求开始,请求信息[' . json_encode($frame) . ']');
|
||||
$data = json_decode($frame->data, true);
|
||||
$cmd = $data['cmd'];
|
||||
$messge = $data['data'];
|
||||
$resut = Event::$cmd($frame->fd, $messge,$server);
|
||||
$server->push($resut['fd'], $resut['data']);
|
||||
} catch (BaseException $e) {
|
||||
Log::record('WebSocket请求异常,异常信息' . $e->getMessage());
|
||||
Log::record('WebSocket请求异常,异常信息' . $e->getFile().$e->getLine());
|
||||
Log::error('WebSocket请求异常,异常信息:' . $e->getMessage().'错误地址:'. $e->getFile().$e->getLine());
|
||||
$res = ['code' => $e->getCode(), 'msg' => $e->getMessage(), 'data' => '', 'cmd' => ''];
|
||||
} catch (\Error $er) {
|
||||
Log::record('WebSocket请求异常,异常信息' . $er->getMessage());
|
||||
Log::record('WebSocket请求异常,异常信息' . $er->getFile().$er->getLine());
|
||||
Log::error('WebSocket请求异常,异常信息:' . $er->getMessage().'错误地址:'. $er->getFile().$er->getLine());
|
||||
$res = ['code' => $er->getCode(), 'msg' => $er->getMessage(), 'data' => '', 'cmd' => ''];
|
||||
} catch (\Exception $era) {
|
||||
Log::record('WebSocket请求异常,异常信息' . $era->getMessage());
|
||||
Log::record('WebSocket请求异常,异常信息' . $era->getFile().$era->getLine());
|
||||
Log::error('WebSocket请求异常,异常信息:' . $era->getMessage().'错误地址:'. $era->getFile().$era->getLine());
|
||||
$res = ['code' => $era->getCode(), 'msg' => $era->getMessage(), 'data' => '', 'cmd' => ''];
|
||||
} catch (\ErrorException $ere) {
|
||||
Log::record('WebSocket请求异常,异常信息' . $ere->getMessage());
|
||||
Log::record('WebSocket请求异常,异常信息' . $ere->getFile().$ere->getLine());
|
||||
Log::error('WebSocket请求异常,异常信息:' . $ere->getMessage().'错误地址:'. $ere->getFile().$ere->getLine());
|
||||
$res = ['code' => $ere->getCode(), 'msg' => $ere->getMessage(), 'data' => '', 'cmd' => ''];
|
||||
}
|
||||
if(isset($res)){
|
||||
@ -60,28 +55,20 @@ class Service
|
||||
{
|
||||
$response->end("<h1>Hello Swoole. #" . rand(1000, 9999) . "</h1>");
|
||||
}
|
||||
|
||||
public function onClose($server, $fd)
|
||||
{
|
||||
try {
|
||||
Log::record('WebSocket关闭请求开始,请求信息[' . json_encode($server) . ']');
|
||||
Log::info('WebSocket关闭请求开始,请求信息[' . json_encode($server) . ']');
|
||||
$resut = Event::disconnect($fd,$server);
|
||||
echo "client {$fd} closed\n";
|
||||
} catch (BaseException $e) {
|
||||
Log::record('WebSocket请求异常,异常信息' . $e->getMessage());
|
||||
Log::record('WebSocket请求异常,异常信息' . $e->getFile().$e->getLine());
|
||||
|
||||
Log::error('WebSocket请求异常,异常信息:' . $e->getMessage().'错误地址:'. $e->getFile().$e->getLine());
|
||||
} catch (\Error $er) {
|
||||
Log::record('WebSocket请求异常,异常信息' . $er->getMessage());
|
||||
Log::record('WebSocket请求异常,异常信息' . $er->getFile().$er->getLine());
|
||||
|
||||
Log::error('WebSocket请求异常,异常信息:' . $er->getMessage().'错误地址:'. $er->getFile().$er->getLine());
|
||||
} catch (\Exception $era) {
|
||||
Log::record('WebSocket请求异常,异常信息' . $era->getMessage());
|
||||
Log::record('WebSocket请求异常,异常信息' . $era->getFile().$era->getLine());
|
||||
|
||||
Log::error('WebSocket请求异常,异常信息:' . $era->getMessage().'错误地址:'. $era->getFile().$era->getLine());
|
||||
} catch (\ErrorException $ere) {
|
||||
Log::record('WebSocket请求异常,异常信息' . $ere->getMessage());
|
||||
Log::record('WebSocket请求异常,异常信息' . $ere->getFile().$ere->getLine());
|
||||
Log::error('WebSocket请求异常,异常信息:' . $ere->getMessage().'错误地址:'. $ere->getFile().$ere->getLine());
|
||||
}
|
||||
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user