作者 ZhengBing He

ok

... ... @@ -158,26 +158,29 @@ class TicketController extends BaseController
* 企微群里@小超或艾丝,触发推送工单
* 接收群ID
*/
public function pushNotifyByBot($friend_id)
public function pushTicketByBot($friend_id)
{
$project = TicketProject::where('wechat_group_id', $friend_id)->where('is_del', 0)->first();
if (!$project)
return response()->json(['message' => '未找到对应的工单项目'], 404);
$url = in_array($project->project_cate, [3,4]) ? 'https://hub.ai.cc/api/fob_ai_customer_service/push_message' : 'https://hub.ai.cc/api/globalso_ai_customer_service/send_msg';
$response = Http::post($url, [
'type' => 'Link',
'friend_id' => $friend_id,
'content' => json_encode([
'title' => 'AI协同工单 - ' . $project->company_name,
'desc' => "您好,我们同事没有及时回复,你可以查看工单进度!",
'size' => 0,
'thumbSize' => 0,
'thumbUrl' => 'https://hub.globalso.com/logocm.png',
'url' => 'https://oa.quanqiusou.cn/afterorder?project_id='.$project->uuid
], JSON_UNESCAPED_UNICODE)
]);
// 返回 $response 的相应内容以及网络状态码
return response($response->body(), $response->status());
// $url = in_array($project->project_cate, [3,4]) ? 'https://hub.ai.cc/api/fob_ai_customer_service/push_message' : 'https://hub.ai.cc/api/globalso_ai_customer_service/send_msg';
// $response = Http::post($url, [
// 'type' => 'Link',
// 'friend_id' => $friend_id,
// 'content' => json_encode([
// 'title' => 'AI协同工单 - ' . $project->company_name,
// 'desc' => "您好,我们同事没有及时回复,你可以查看工单进度!",
// 'size' => 0,
// 'thumbSize' => 0,
// 'thumbUrl' => 'https://hub.globalso.com/logocm.png',
// 'url' => 'https://oa.quanqiusou.cn/afterorder?project_id='.$project->uuid
// ], JSON_UNESCAPED_UNICODE)
// ]);
// // 返回 $response 的相应内容以及网络状态码
// return response($response->body(), $response->status());
$project->pushWechatGroupMsg("您好,我们同事没有及时回复,你可以查看工单进度!");
return response()->json(['message' => '工单推送成功']);
}
}
... ...
... ... @@ -240,22 +240,7 @@ class AsideTicketController extends BaseController
if (empty($project->wechat_group_id)) {
$this->response('该工单没有绑定的企微群', Code::USER_MODEL_NOTFOUND_ERROE);
}
$message_push = new MessagePush();
$message_push->project_id = $project->table_id;
$message_push->friend_id = $project->wechat_group_id;
$message_push->content_type = 'Link';
$message_push->content = json_encode([
'title' => "AI协同工单 - " . $project->company_name,
'desc' => "可提交新的工单、查询工单进度、AI会同步通知售后人员!",
'size' => 0,
'thumbSize' => 0,
'thumbUrl' => 'https://hub.globalso.com/logocm.png',
'url' => 'https://oa.quanqiusou.cn/afterorder?project_id='.$project->uuid
], JSON_UNESCAPED_UNICODE);
$message_push->send_time = now();
$message_push->type = MessagePush::TYPE_TICKET;
$message_push->save();
$project->pushWechatGroupMsg();
$this->response('success', Code::SUCCESS);
}
... ...
... ... @@ -6,6 +6,7 @@ use App\Models\Base;
use App\Models\Manage\Manage;
use App\Models\Project\Project;
use App\Models\ProjectAssociation\ProjectAssociation;
use App\Models\Workchat\MessagePush;
use Illuminate\Database\Eloquent\Factories\HasFactory;
class TicketProject extends Base
... ... @@ -53,4 +54,28 @@ class TicketProject extends Base
->where('binding_app', ProjectAssociation::ENTERPRISE_WECHAT)
->select(['id', 'project_id', 'friend_id', 'binding_app']);
}
/**
* @return void
* 企微群推送工单消息
*/
public function pushWechatGroupMsg($desc="可提交新的工单、查询工单进度、AI会同步通知售后人员!")
{
$message_push = new MessagePush();
$message_push->project_id = $this->table_id;
$message_push->friend_id = $this->wechat_group_id;
$message_push->content_type = 'Link';
$message_push->content = json_encode([
'title' => "AI协同工单 - " . $this->company_name,
'desc' => $desc,
'size' => 0,
'thumbSize' => 0,
'thumbUrl' => 'https://hub.globalso.com/logocm.png',
'url' => 'https://oa.quanqiusou.cn/afterorder?project_id='.$this->uuid
], JSON_UNESCAPED_UNICODE);
$message_push->send_time = now();
$message_push->type = MessagePush::TYPE_TICKET;
$message_push->save();
}
}
... ...
... ... @@ -85,5 +85,5 @@ Route::prefix('tickets')->group(function () {
Route::get('/{project_id}/{id}', [\App\Http\Controllers\Api\WorkOrder\TicketController::class, 'show'])->summary('B端,渠道-工单详情')->name('tickets.show');
Route::get('/chat/{project_id}/{ticket_id}', [\App\Http\Controllers\Api\WorkOrder\TicketChatController::class, 'index'])->summary('B端,渠道-工单聊天记录')->name('tickets.chat.index');
Route::post('/chat/{project_id}/{ticket_id}', [\App\Http\Controllers\Api\WorkOrder\TicketChatController::class, 'store'])->summary('B端,渠道-工单聊天记录提交')->name('tickets.chat.store');
Route::get('/pushNotify_ByBot/{friend_id}', [\App\Http\Controllers\Api\WorkOrder\TicketController::class, 'pushNotifyByBot'])->summary('企微群@机器人触发工单推送')->name('tickets.pushNotifyByBot');
});
Route::get('/pushTicketByBot/{friend_id}', [\App\Http\Controllers\Api\WorkOrder\TicketController::class, 'pushTicketByBot'])->summary('企微群@机器人触发工单推送')->name('tickets.pushTicketByBot');
... ...