* * 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 * * 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; // 消息持久化 } }