49 lines
1.1 KiB
PHP
49 lines
1.1 KiB
PHP
<?php
|
|
/**
|
|
* Author: ykxiao
|
|
* Date: 2025/6/6
|
|
* Time: 上午9:53
|
|
* Description:
|
|
*
|
|
* (c) ykxiao <yk_9001@hotmail.com>
|
|
*
|
|
* This source file is subject to the MIT license that is bundled
|
|
* with this source code in the file LICENSE.
|
|
*/
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace App\Amqp\Producer;
|
|
|
|
use App\Context\ApiUrlContext;
|
|
use App\Context\UserContext;
|
|
use Hyperf\Amqp\Message\ProducerMessage;
|
|
|
|
/**
|
|
* Author: ykxiao
|
|
* Date: 2025/6/6
|
|
* Time: 上午9:57
|
|
* Description: amqp生产者抽象基类.
|
|
*
|
|
* (c) ykxiao <yk_9001@hotmail.com>
|
|
*
|
|
* This source file is subject to the MIT license that is bundled
|
|
* with this source code in the file LICENSE.
|
|
*/
|
|
abstract class BaseProducer extends ProducerMessage
|
|
{
|
|
public function __construct(array $data)
|
|
{
|
|
// 设置用户信息上下文信息
|
|
if (UserContext::hasCurrentUser()) {
|
|
$data['user'] = UserContext::getCurrentUser();
|
|
}
|
|
|
|
if (ApiUrlContext::hasApiUrl()) {
|
|
$data['api_url'] = ApiUrlContext::getApiUrl();
|
|
}
|
|
|
|
$this->payload = $data;
|
|
$this->properties['delivery_mode'] = 2; // 消息持久化
|
|
}
|
|
} |