88 lines
2.0 KiB
PHP
88 lines
2.0 KiB
PHP
|
|
<?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);
|
||
|
|
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
}
|
||
|
|
}
|