zz 4 年 前
コミット
acc87fab60

+ 63 - 0
app/Jobs/UserBalanceJob.php

@@ -0,0 +1,63 @@
+<?php
+/**
+ * Created by PhpStorm.
+ * User: z-yang
+ * Date: 2021/2/26
+ * Time: 11:23
+ */
+
+namespace App\Jobs;
+
+use Illuminate\Bus\Queueable;
+use Illuminate\Queue\SerializesModels;
+use Illuminate\Queue\InteractsWithQueue;
+use Illuminate\Contracts\Queue\ShouldQueue;
+use Illuminate\Foundation\Bus\Dispatchable;
+
+class UserBalanceJob implements ShouldQueue
+{
+    use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
+    /**
+     * @var
+     */
+    private $uid;
+    /**
+     * @var
+     */
+    private $type;
+    /**
+     * @var
+     */
+    private $fee;
+    /**
+     * @var
+     */
+    private $source;
+    /**
+     * @var
+     */
+    private $desc;
+
+    /**
+     * Create a new job instance.
+     *
+     */
+    public function __construct($uid,$type,$fee,$source,$desc)
+    {
+
+        $this->uid = $uid;
+        $this->type = $type;
+        $this->fee = $fee;
+        $this->source = $source;
+        $this->desc = $desc;
+    }
+
+    /**
+     * Execute the job.
+     *
+     * @return void
+     */
+    public function handle(){
+
+    }
+}

+ 11 - 0
app/Modules/Trade/Pay/RechargeOrderPaySuccess.php

@@ -2,6 +2,7 @@
 
 namespace App\Modules\Trade\Pay;
 
+use App\Jobs\UserBalanceJob;
 use App\Modules\Product\Models\Product;
 use App\Modules\Subscribe\Models\Order;
 use App\Modules\User\Models\User;
@@ -34,5 +35,15 @@ class RechargeOrderPaySuccess extends PaySuccessAbstract
                 'reward_balance' => DB::raw('reward_balance+' . $given),
             ]
         );
+        try{
+            $job = (new UserBalanceJob($uid,1,$charge,1,'充值'))->onConnection('rabbitmq')->delay(0)->onQueue('user_balance_job');
+            dispatch($job);
+            if($given){
+                $job = (new UserBalanceJob($uid,2,$given,2,'充送'))->onConnection('rabbitmq')->delay(0)->onQueue('user_balance_job');
+                dispatch($job);
+            }
+        }catch (\Exception $e){
+            myLog('UserBalanceJob')->info($e);
+        }
     }
 }