文件
Henglianshutong/addons/shopro/job/PartnerSettle.php

41 行
1.2 KiB
PHP

<?php
namespace addons\shopro\job;
use think\queue\Job;
use think\Db;
use think\exception\HttpResponseException;
use addons\shopro\service\partner\PartnerRewardService;
class PartnerSettle extends BaseJob
{
public function order(Job $job, $payload)
{
try {
$orderId = $payload['order_id'] ?? 0;
if ($orderId) {
Db::transaction(function () use ($orderId) {
(new PartnerRewardService())->settleOrder($orderId);
});
}
$job->delete();
} catch (HttpResponseException $e) {
$data = $e->getResponse()->getData();
$message = $data ? ($data['msg'] ?? '') : $e->getMessage();
format_log_error($e, 'PartnerSettle.HttpResponseException', $message);
if ($job->attempts() >= 3) {
$job->delete();
} else {
$job->release(5);
}
} catch (\Exception $e) {
format_log_error($e, 'PartnerSettle');
if ($job->attempts() >= 3) {
$job->delete();
} else {
$job->release(5);
}
}
}
}