Ken 11 godzin temu
rodzic
commit
edd5fc7063
2 zmienionych plików z 17 dodań i 10 usunięć
  1. 5 0
      app/Models/Recharge.php
  2. 12 10
      app/Services/RechargeService.php

+ 5 - 0
app/Models/Recharge.php

@@ -25,6 +25,11 @@ class Recharge extends BaseModel
     const TYPE_AUTO = 1; // 自动
     const TYPE_HAND = 2; // 手动
 
+    public function member()
+    {
+        return $this->belongsTo(User::class, 'member_id', 'member_id')
+            ->select(['id', 'member_id', 'username', 'first_name', 'status']);
+    }
 
     protected function getAmountAttribute($value)
     {

+ 12 - 10
app/Services/RechargeService.php

@@ -19,6 +19,7 @@ use App\Helpers\TronHelper;
  */
 class RechargeService extends BaseService
 {
+    public static string $MODEL = Recharge::class;
     /**
      * @description: 模型
      * @return {string}
@@ -79,7 +80,7 @@ class RechargeService extends BaseService
      */
     public static function findOne(array $search): ?Recharge
     {
-        return self::model()::where(self::getWhere($search))->first();
+        return static::$MODEL::where(self::getWhere($search))->first();
     }
 
     /**
@@ -89,7 +90,7 @@ class RechargeService extends BaseService
      */
     public static function findAll(array $search = [])
     {
-        return self::model()::where(self::getWhere($search))->get();
+        return static::$MODEL::where(self::getWhere($search))->get();
     }
 
     /**
@@ -100,7 +101,8 @@ class RechargeService extends BaseService
     public static function paginate(array $search = [])
     {
         $limit = isset($search['limit']) ? $search['limit'] : 15;
-        $paginator = self::model()::where(self::getWhere($search))
+        $paginator = static::$MODEL::where(self::getWhere($search))
+            ->with(['member'])
             ->orderBy("created_at", 'desc')
             ->paginate($limit);
         $list = $paginator->items();
@@ -137,12 +139,12 @@ class RechargeService extends BaseService
         foreach ($data as $k => $v) {
             $v['member_id'] = $memberId;
             $v['net'] = $walletInfo->net;
-            $V['type'] = self::model()::TYPE_AUTO;
+            $V['type'] = static::$MODEL::TYPE_AUTO;
             $v['created_at'] = now();
             $v['updated_at'] = now();
             $data[$k] = $v;
         }
-        $m = new (self::model());
+        $m = new (static::$MODEL);
         $result = $m->insertOrIgnore($data);
         return $result;
     }
@@ -157,7 +159,7 @@ class RechargeService extends BaseService
         $info = self::findOne(['txid' => $txid]); // 获取充值的信息
 
         // 待处理进行充值
-        if ($info['status'] == self::model()::STATUS_STAY) {
+        if ($info['status'] == static::$MODEL::STATUS_STAY) {
             $result = TronHelper::getTransactionConfirmations($txid);
 
             if ($result['success']) {
@@ -166,9 +168,9 @@ class RechargeService extends BaseService
                 $data['confirmations'] = $result['latest_block'] - $result['block_number'];
 
                 if ($data['confirmations'] >= TronHelper::CONFIRMED_NUMBER) {
-                    $data['status'] = self::model()::STATUS_SUCCESS;
-                    $where = self::getWhere(['txid' => $txid, 'status' => self::model()::STATUS_STAY]);
-                    $recharge = self::model()::where($where)->update($data);
+                    $data['status'] = static::$MODEL::STATUS_SUCCESS;
+                    $where = self::getWhere(['txid' => $txid, 'status' => static::$MODEL::STATUS_STAY]);
+                    $recharge = static::$MODEL::where($where)->update($data);
 
                     // 更新成功,变动可用余额
                     if ($recharge) {
@@ -195,7 +197,7 @@ class RechargeService extends BaseService
      */
     public static function syncRechargeStay()
     {
-        $list = self::findAll(['status' => self::model()::STATUS_STAY, 'type' => self::model()::TYPE_AUTO]);
+        $list = self::findAll(['status' => static::$MODEL::STATUS_STAY, 'type' => static::$MODEL::TYPE_AUTO]);
         foreach ($list as $k => $v) {
             self::handleRechargeConfirmation($v->txid);
         }