feat : refund
This commit is contained in:
@@ -15,6 +15,8 @@ use Hyperf\Amqp\Annotation\Consumer;
|
||||
use Hyperf\Amqp\Message\ConsumerMessage;
|
||||
use Hyperf\Di\Annotation\Inject;
|
||||
use PhpAmqpLib\Message\AMQPMessage;
|
||||
use Psr\Container\ContainerExceptionInterface;
|
||||
use Psr\Container\NotFoundExceptionInterface;
|
||||
|
||||
#[Consumer(exchange: 'RefundOrder', routingKey: 'RefundOrder', queue: 'RefundOrder.direct', name: "RefundOrderConsumer", nums: 1)]
|
||||
class RefundOrderConsumer extends ConsumerMessage
|
||||
@@ -40,22 +42,29 @@ class RefundOrderConsumer extends ConsumerMessage
|
||||
protected Order $orderModel;
|
||||
|
||||
|
||||
/**
|
||||
* @param $data
|
||||
* @param AMQPMessage $message
|
||||
* @return Result
|
||||
* @throws ContainerExceptionInterface
|
||||
* @throws NotFoundExceptionInterface
|
||||
*/
|
||||
public function consumeMessage($data, AMQPMessage $message): Result
|
||||
{
|
||||
if (!$data['order_id'] || !$data['type'] || !$data['amount']) {
|
||||
if (!$data['order_id'] || !$data['type'] || !$data['amount'] || !$data['reason']) {
|
||||
$this->log->error('CancelOrderConsumer:error:NoData:'.json_encode($data));
|
||||
return Result::ACK;
|
||||
}
|
||||
|
||||
$orderId = (int)$data['order_id'];
|
||||
$orderType = (int)$data['type'];
|
||||
$amount = $data['amount'];
|
||||
|
||||
|
||||
try {
|
||||
$service = new RefundService();
|
||||
|
||||
$service->orderId = (int)$data['order_id'];
|
||||
$service->type = (int)$data['type'];
|
||||
$service->refundAmount = $data['amount'];
|
||||
$service->reason = $data['reason'];
|
||||
|
||||
$service->handle();
|
||||
|
||||
} catch (Exception $e) {
|
||||
$this->log->error('RefundOrderConsumer:error:'.$e->getMessage().':data:'.json_encode($data));
|
||||
|
||||
Reference in New Issue
Block a user