chore(addon/aikefu): 调整事件名称
This commit is contained in:
94
src/addon/aikefu/event/KefuCreateConversation.php
Normal file
94
src/addon/aikefu/event/KefuCreateConversation.php
Normal file
@@ -0,0 +1,94 @@
|
||||
<?php
|
||||
|
||||
namespace addon\aikefu\event;
|
||||
|
||||
use addon\aikefu\api\controller\Kefu as KefuApi;
|
||||
|
||||
/**
|
||||
* 处理智能客服创建会话事件
|
||||
*/
|
||||
class KefuCreateConversation
|
||||
{
|
||||
|
||||
/**
|
||||
* 处理智能客服创建会话事件
|
||||
* @param array $data 事件数据
|
||||
* @return array
|
||||
*/
|
||||
public function handle($data)
|
||||
{
|
||||
try {
|
||||
// 创建addon的KefuApi实例
|
||||
$kefu_api = new KefuApi();
|
||||
|
||||
// 设置必要的属性
|
||||
$kefu_api->site_id = $data['site_id'] ?? 0;
|
||||
$kefu_api->member_id = $data['member_id'] ?? 0;
|
||||
$kefu_api->token = $data['token'] ?? '';
|
||||
$kefu_api->params = [
|
||||
'user_id' => $data['user_id'] ?? '',
|
||||
];
|
||||
|
||||
// 调用addon的createConversation方法
|
||||
$response = $kefu_api->createConversation();
|
||||
|
||||
// 返回响应数据
|
||||
return json_decode($response->getContent(), true);
|
||||
} catch (\Exception $e) {
|
||||
return [
|
||||
'code' => -1,
|
||||
'message' => '创建会话失败:' . $e->getMessage(),
|
||||
'data' => []
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 处理智能客服获取历史消息事件
|
||||
* @param array $data 事件数据
|
||||
* @return array
|
||||
*/
|
||||
public function handleKefuGetHistory($data)
|
||||
{
|
||||
try {
|
||||
// 创建addon的KefuApi实例
|
||||
$kefu_api = new KefuApi();
|
||||
|
||||
// 设置必要的属性
|
||||
$kefu_api->site_id = $data['site_id'] ?? 0;
|
||||
$kefu_api->member_id = $data['member_id'] ?? 0;
|
||||
$kefu_api->token = $data['token'] ?? '';
|
||||
$kefu_api->params = [
|
||||
'conversation_id' => $data['conversation_id'] ?? '',
|
||||
'user_id' => $data['user_id'] ?? '',
|
||||
'limit' => $data['limit'] ?? 20,
|
||||
'offset' => $data['offset'] ?? 0,
|
||||
];
|
||||
|
||||
// 调用addon的getHistory方法
|
||||
$response = $kefu_api->getHistory();
|
||||
|
||||
// 返回响应数据
|
||||
return json_decode($response->getContent(), true);
|
||||
} catch (\Exception $e) {
|
||||
return [
|
||||
'code' => -1,
|
||||
'message' => '获取历史消息失败:' . $e->getMessage(),
|
||||
'data' => []
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 事件监听映射
|
||||
* @return array
|
||||
*/
|
||||
public function subscribe()
|
||||
{
|
||||
return [
|
||||
'KefuChat' => 'handleKefuChat',
|
||||
'KefuCreateConversation' => 'handleKefuCreateConversation',
|
||||
'KefuGetHistory' => 'handleKefuGetHistory',
|
||||
];
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user