PHP code example of losingbattle / rocketmq-http

1. Go to this page and download the library: Download losingbattle/rocketmq-http library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

losingbattle / rocketmq-http example snippets





namespace App\Rocketmq\Producer;


use Losingbattle\RocketMqHttp\Annotation\Producer;
use Losingbattle\RocketMqHttp\Message\ProducerMessage;


#[Producer(topic: "order_center_normal_topic", tag: "order_submit")]
class TestMessage extends ProducerMessage
{

    public function setBizId($bizId)
    {
        $this->setMessageBody('bizId', $bizId);
        return $this;
    }
}



use Losingbattle\RocketMqHttp\Producer;
use App\Rocketmq\Producer\TestMessage;
use Hyperf\Utils\ApplicationContext;

$producer = $this->container->get(Producer::class);
$testMessage = new TestMessage();
$testMessage->setOrderSn("1")->setType(1)->setUserId(1)->setBizId(1);
$m = $producer->produce($testMessage,1);




declare(strict_types=1);

namespace App\Rocketmq\Consumer;

use Losingbattle\RocketMqHttp\Annotation\Consumer;
use Losingbattle\RocketMqHttp\Message\ConsumerMessage;
use Losingbattle\RocketMqHttp\Result;

#[Consumer(topic: "order_center_normal_topic", groupId: "GID_order_center_status_change", numOfMessages: 16, waitSeconds: 30)]
class OrderCenterConsumer extends ConsumerMessage
{
    public function __construct()
    {
        $this->registerRoute('tag_default_share-order_C_TERMINAL_updateDraftOrderStatus', [$this, 'updateOrderStatus']);
        $this->registerRoute('tag_test', [$this, 'test']);
    }

    public function isEnable(): bool
    {
        return false;
    }

    public function updateOrderStatus($x)
    {
        return Result::ACK;
    }

    public function test($x)
    {
        return Result::ACK;
    }

    public function consumeMessage($consumeMessageResponse)
    {
        //没有指定tag则默认使用consumeMessage
        return Result::ACK;
    }
}


return [
    RocketMqHttpLoggerFactory::class,//(example文件中,重写loggerfaoctory)
];

return [
    Losingbattle\RocketMqHttp\Listener\ConsumeListener::class,
];

php bin/hyperf.php vendor:publish losingbattle/rocketmq-http