diff --git a/app/Console/Commands/OrderRefundCommand.php b/app/Console/Commands/OrderRefundCommand.php index 15111060..d1c0fc9d 100644 --- a/app/Console/Commands/OrderRefundCommand.php +++ b/app/Console/Commands/OrderRefundCommand.php @@ -3,7 +3,7 @@ namespace App\Console\Commands; use App\Exceptions\BizException; -use App\Models\OrderRefundTask; +use App\Models\OrderRefundJob; use App\Services\WeChatPayService; use Illuminate\Console\Command; use Illuminate\Support\Str; @@ -32,21 +32,21 @@ class OrderRefundCommand extends Command */ public function handle() { - OrderRefundTask::pending()->chunkById(200, function ($tasks) { - foreach ($tasks as $task) { + OrderRefundJob::pending()->chunkById(200, function ($jobs) { + foreach ($jobs as $job) { try { - $method = 'refundBy'.Str::studly($task->order->pay_way); + $method = 'refundBy'.Str::studly($job->order->pay_way); if (! method_exists($this, $method)) { throw new BizException('退款方式暂不支持'); } - $this->{$method}($task); + $this->{$method}($job); } catch (Throwable $e) { report($e); - $task->update([ - 'status' => OrderRefundTask::STATUS_FAILED, + $job->update([ + 'status' => OrderRefundJob::STATUS_FAILED, 'failed_reason' => $e->getMessage(), ]); } @@ -59,26 +59,26 @@ class OrderRefundCommand extends Command /** * 微信支付退款 * - * @param \App\Models\OrderRefundTask $orderRefundTask + * @param \App\Models\OrderRefundJob $job * @return void */ - protected function refundByWxpay(OrderRefundTask $orderRefundTask) + protected function refundByWxpay(OrderRefundJob $job) { - $order = $orderRefundTask->order; + $order = $job->order; (new WeChatPayService())->refundByOutTradeNumber( $order->sn, - $orderRefundTask->sn, + $job->sn, $order->total_amount, - $orderRefundTask->amount, + $job->amount, [ - 'refund_desc' => $orderRefundTask->reason, + 'refund_desc' => $job->reason, 'notify_url' => url(route('wxpay.order_refund_notify', [], false), [], true), ] ); - $orderRefundTask->update([ - 'status' => OrderRefundTask::STATUS_SUCCESS, + $job->update([ + 'status' => OrderRefundJob::STATUS_SUCCESS, 'failed_reason' => null, ]); } @@ -86,13 +86,13 @@ class OrderRefundCommand extends Command /** * 现金支付退款 * - * @param \App\Models\OrderRefundTask $orderRefundTask + * @param \App\Models\OrderRefundJob $job * @return void */ - protected function refundByOffline(OrderRefundTask $orderRefundTask) + protected function refundByOffline(OrderRefundJob $job) { - $orderRefundTask->update([ - 'status' => OrderRefundTask::STATUS_SUCCESS, + $job->update([ + 'status' => OrderRefundJob::STATUS_SUCCESS, ]); } } diff --git a/app/Endpoint/Callback/Http/Controllers/WeChatPayController.php b/app/Endpoint/Callback/Http/Controllers/WeChatPayController.php index dc6dfc59..8d1c66a3 100644 --- a/app/Endpoint/Callback/Http/Controllers/WeChatPayController.php +++ b/app/Endpoint/Callback/Http/Controllers/WeChatPayController.php @@ -5,7 +5,7 @@ namespace App\Endpoint\Callback\Http\Controllers; use App\Events\OrderPaid; use App\Exceptions\BizException; use App\Models\Order; -use App\Models\OrderRefundTask; +use App\Models\OrderRefundJob; use App\Services\OrderService; use App\Services\WeChatPayService; use Illuminate\Database\Eloquent\ModelNotFoundException; @@ -74,10 +74,10 @@ class WeChatPayController extends Controller // 退款失败 if ($reqInfo['refund_status'] !== 'SUCCESS') { - $orderRefundTask = OrderRefundTask::where('sn', $reqInfo['out_refund_no'])->first(); + $orderRefundJob = OrderRefundJob::where('sn', $reqInfo['out_refund_no'])->first(); - $orderRefundTask?->update([ - 'status' => OrderRefundTask::STATUS_FAILED, + $orderRefundJob?->update([ + 'status' => OrderRefundJob::STATUS_FAILED, 'failed_reason' => $reqInfo['refund_status'] === 'CHANGE' ? '退款异常' : '退款关闭', ]); } diff --git a/app/Models/Order.php b/app/Models/Order.php index 26facbe6..b4845f02 100644 --- a/app/Models/Order.php +++ b/app/Models/Order.php @@ -136,9 +136,9 @@ class Order extends Model /** * 属于此订单的退款任务 */ - public function refundTasks() + public function refundJobs() { - return $this->hasMany(OrderRefundTask::class); + return $this->hasMany(OrderRefundJob::class); } /** diff --git a/app/Models/OrderRefundTask.php b/app/Models/OrderRefundJob.php similarity index 96% rename from app/Models/OrderRefundTask.php rename to app/Models/OrderRefundJob.php index 0506cd6e..f75c59ec 100644 --- a/app/Models/OrderRefundTask.php +++ b/app/Models/OrderRefundJob.php @@ -4,7 +4,7 @@ namespace App\Models; use Illuminate\Database\Eloquent\Model; -class OrderRefundTask extends Model +class OrderRefundJob extends Model { public const STATUS_PENDING = 0; // 待处理 public const STATUS_SUCCESS = 5; // 退款成功 diff --git a/app/Services/AfterSaleService.php b/app/Services/AfterSaleService.php index b4c7183d..81f2db76 100644 --- a/app/Services/AfterSaleService.php +++ b/app/Services/AfterSaleService.php @@ -330,7 +330,7 @@ class AfterSaleService $order = $afterSale->order; if (in_array($afterSale->type, [AfterSale::TYPE_REFUND_AND_RETURN, AfterSale::TYPE_REFUND])) { //todo-执行实际退款操作; - $order->refundTasks()->create([ + $order->refundJobs()->create([ 'sn' => OrderHelper::serialNumber(), 'amount' => $afterSale->amount, 'reason' => '取消订单', diff --git a/app/Services/OrderService.php b/app/Services/OrderService.php index c2ac0df2..ba919811 100644 --- a/app/Services/OrderService.php +++ b/app/Services/OrderService.php @@ -784,7 +784,7 @@ class OrderService } if ($order->isWaitShipping()) { - $order->refundTasks()->create([ + $order->refundJobs()->create([ 'sn' => OrderHelper::serialNumber(), 'amount' => $order->total_amount, 'reason' => '取消订单', diff --git a/database/migrations/2021_12_20_113756_create_order_refund_tasks_table.php b/database/migrations/2021_12_20_113756_create_order_refund_jobs_table.php similarity index 85% rename from database/migrations/2021_12_20_113756_create_order_refund_tasks_table.php rename to database/migrations/2021_12_20_113756_create_order_refund_jobs_table.php index a31c3846..33d36213 100644 --- a/database/migrations/2021_12_20_113756_create_order_refund_tasks_table.php +++ b/database/migrations/2021_12_20_113756_create_order_refund_jobs_table.php @@ -4,7 +4,7 @@ use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -class CreateOrderRefundTasksTable extends Migration +class CreateOrderRefundJobsTable extends Migration { /** * Run the migrations. @@ -13,7 +13,7 @@ class CreateOrderRefundTasksTable extends Migration */ public function up() { - Schema::create('order_refund_tasks', function (Blueprint $table) { + Schema::create('order_refund_jobs', function (Blueprint $table) { $table->id(); $table->string('sn')->comment('退款单号'); $table->unsignedBigInteger('order_id')->comment('订单ID'); @@ -36,6 +36,6 @@ class CreateOrderRefundTasksTable extends Migration */ public function down() { - Schema::dropIfExists('order_refund_tasks'); + Schema::dropIfExists('order_refund_jobs'); } }