feat : order

This commit is contained in:
2025-03-04 16:55:09 +08:00
parent ff8d29aa5f
commit 3c4da5b4c1

View File

@@ -21,6 +21,7 @@ use Hyperf\Di\Annotation\Inject;
use PhpAmqpLib\Message\AMQPMessage;
use Psr\Container\ContainerExceptionInterface;
use Psr\Container\NotFoundExceptionInterface;
use Throwable;
#[Consumer(exchange: 'OrderGoodStock', routingKey: 'OrderGoodStock', queue: 'OrderGoodStock.change', name: "OrderGoodStockConsumer", nums: 1)]
class OrderGoodStockConsumer extends ConsumerMessage
@@ -113,14 +114,23 @@ class OrderGoodStockConsumer extends ConsumerMessage
return Result::ACK;
}
$res = Db::table('sku')->update($this->updateArr);
if (!$res) {
$this->log->debug('OrderGoodStockConsumer:error:UpdateSkuDataFail:'.json_encode($this->updateArr));
$updateModel = new Sku();
try {
Db::beginTransaction();
foreach (array_chunk($this->updateArr, 500) as $chunk) {
foreach ($chunk as $item) {
$updateModel->where('id',$item['id'])->update(array_diff_key($item, ['id' => null]));
}
}
Db::commit(); // 确认提交
} catch (Throwable $e) {
Db::rollBack(); // 出现异常时回滚
$this->log->debug('OrderGoodStockConsumer:error:UpdateSkuDataFail:msg:'.$e->getMessage().':data:'.json_encode($this->updateArr));
return Result::ACK;
}
$this->log->Debug('OrderGoodStockConsumer:'.json_encode($this->updateArr).':'.json_encode($res));
return Result::ACK;
} catch (Exception $e) {
$this->log->error($e->getMessage());