Files
datahub/backend/app/Command/AppMqInit.php
T

88 lines
2.0 KiB
PHP
Raw Normal View History

2025-11-17 16:51:51 +08:00
<?php
declare(strict_types=1);
namespace App\Command;
use App\Model\User;
use Hyperf\Command\Command as HyperfCommand;
use Hyperf\Command\Annotation\Command;
use Hyperf\DbConnection\Db;
use Psr\Container\ContainerInterface;
use App\Platform\Tmall\Producer\OrderProducer as TmallOrderProducer;
use Hyperf\Di\Annotation\Inject;
use Hyperf\Amqp\Producer;
#[Command]
class AppMqInit extends HyperfCommand
{
#[Inject]
private Producer $producerService;
public function __construct(protected ContainerInterface $container)
{
parent::__construct('app:mq:init');
}
public function configure()
{
parent::configure();
$this->setDescription('Insert mq test feeds');
}
public function handle()
{
$this->line('Insert MQ test feeds now...', 'info');
// shopee
// $company_id = 171;
// $platform_id = 25;
// $store_id = 255;
// Tmall
$company_id = 188;
$platform_id = 2;
$store_id = 292;
for ($i=0; $i < 2; $i++) {
$unique_id = \uniqid();
// 构建 $message_id 格式为 {prefix}#{app_id}#{company_id}#{platform_id}#{store_id}#{entity_type}#{unique_id}
$data = Db::connection('raw')->table('wpic_taobao_order')
->select(['id', 'order_raw'])->orderBy('t_created', 'asc')
->limit(20)->offset($i * 20)
->get()->toArray();
$data = [
'platform_id' => $platform_id,
'company_id' => $company_id,
'store_id' => $store_id,
'unique_id' => $unique_id,
'raw_data' => $data,
];
$message = new TmallOrderProducer($data);
$result = $this->producerService->produce($message, true);
$log = \sprintf('%s %s %s %s %s',
$company_id,
$platform_id,
$store_id,
$unique_id,
$result
);
dump($log);
}
}
}