wesmiler 2 년 전
부모
커밋
b3de0caf5b
1개의 변경된 파일48개의 추가작업 그리고 44개의 파일을 삭제
  1. 48 44
      app/Services/LiveService.php

+ 48 - 44
app/Services/LiveService.php

@@ -762,8 +762,53 @@ class LiveService extends BaseService
             return false;
             return false;
         }
         }
 
 
+        // TODO 推荐奖励(等级需要超过)
+        $realUsdt = $usdt;
+        $dateTime = date('Y-m-d H:i:s');
+        $liveName = isset($liveMember['nickname']) && $liveMember['nickname']? $liveMember['nickname'] : $liveUserId;
+        $userNickname = isset($userInfo['nickname']) && $userInfo['nickname']? $userInfo['nickname'] : $userId;
+        if($bonusUserId>0 && $bonusUserLevel >= $awardLevel && $bonusUsdt>0){
+            // 账户变动
+            $updateData = ['usdt'=>DB::raw("usdt + {$bonusUsdt}"),'update_time'=>time()];
+            if(!MemberModel::where(['id'=> $bonusUserId,'mark'=>1])->update($updateData)){
+                DB::rollBack();
+                $this->error = 2305;
+                RedisService::set("caches:live:reward:error_{$userId}", ['data'=> $order,'update'=>$updateData,'usdt'=>$bonusUsdt,'error'=>'主播推荐奖励处理失败'], 600);
+                return false;
+            }
+
+            // 明细
+            $log = [
+                'user_id'=> $bonusUserId,
+                'source_id'=> $liveId,
+                'source_order_no'=> $orderNo,
+                'user_type'=> 1,
+                'type'=> 10,
+                'coin_type'=> 1,
+                'money'=> $usdt,
+                'date'=> date('Y-m-d'),
+                'actual_money'=> $usdt,
+                'balance'=> $liveUserUsdt,
+                'create_time'=> time(),
+                'remark'=> '推荐打赏奖励',
+                'status'=> 1,
+                'mark'=> 1,
+            ];
+
+            if(!AccountLogModel::insertGetId($log)){
+                DB::rollBack();
+                $this->error = 2305;
+                RedisService::set("caches:live:reward:error_{$userId}", ['data'=> $order,'error'=>'主播推荐奖励明细处理失败'], 600);
+                return false;
+            }
+
+            // 消息
+            MessageService::make()->pushMessage($userId, lang('打赏推荐奖励通知'), lang('打赏推荐奖励通知内容',['time'=> $dateTime,'usdt'=>$bonusUsdt,'live_name'=>$liveName]),3);
+            $realUsdt = moneyFormat($usdt - $bonusUsdt, 2);
+        }
+
         // 被打赏主播账户USDT账户进账
         // 被打赏主播账户USDT账户进账
-        $updateData = ['usdt'=>DB::raw("usdt + {$usdt}"),'update_time'=>time()];
+        $updateData = ['usdt'=>DB::raw("usdt + {$realUsdt}"),'update_time'=>time()];
         if(!MemberModel::where(['id'=> $liveUserId,'mark'=>1])->update($updateData)){
         if(!MemberModel::where(['id'=> $liveUserId,'mark'=>1])->update($updateData)){
             DB::rollBack();
             DB::rollBack();
             $this->error = 2305;
             $this->error = 2305;
@@ -779,9 +824,9 @@ class LiveService extends BaseService
             'user_type'=> 1,
             'user_type'=> 1,
             'type'=> 1,
             'type'=> 1,
             'coin_type'=> 1,
             'coin_type'=> 1,
-            'money'=> $usdt,
+            'money'=> $realUsdt,
             'date'=> date('Y-m-d'),
             'date'=> date('Y-m-d'),
-            'actual_money'=> $usdt,
+            'actual_money'=> $realUsdt,
             'balance'=> $liveUserUsdt,
             'balance'=> $liveUserUsdt,
             'create_time'=> time(),
             'create_time'=> time(),
             'remark'=> '礼物打赏',
             'remark'=> '礼物打赏',
@@ -842,48 +887,7 @@ class LiveService extends BaseService
         }
         }
 
 
 
 
-        // TODO 推荐奖励(等级需要超过)
-        $dateTime = date('Y-m-d H:i:s');
-        $liveName = isset($liveMember['nickname']) && $liveMember['nickname']? $liveMember['nickname'] : $liveUserId;
-        $userNickname = isset($userInfo['nickname']) && $userInfo['nickname']? $userInfo['nickname'] : $userId;
-        if($bonusUserId>0 && $bonusUserLevel >= $awardLevel && $bonusUsdt>0){
-            // 账户变动
-            $updateData = ['usdt'=>DB::raw("usdt + {$bonusUsdt}"),'update_time'=>time()];
-            if(!MemberModel::where(['id'=> $bonusUserId,'mark'=>1])->update($updateData)){
-                DB::rollBack();
-                $this->error = 2305;
-                RedisService::set("caches:live:reward:error_{$userId}", ['data'=> $order,'update'=>$updateData,'usdt'=>$bonusUsdt,'error'=>'主播推荐奖励处理失败'], 600);
-                return false;
-            }
-
-            // 明细
-            $log = [
-                'user_id'=> $bonusUserId,
-                'source_id'=> $liveId,
-                'source_order_no'=> $orderNo,
-                'user_type'=> 1,
-                'type'=> 10,
-                'coin_type'=> 1,
-                'money'=> $usdt,
-                'date'=> date('Y-m-d'),
-                'actual_money'=> $usdt,
-                'balance'=> $liveUserUsdt,
-                'create_time'=> time(),
-                'remark'=> '推荐打赏奖励',
-                'status'=> 1,
-                'mark'=> 1,
-            ];
-
-            if(!AccountLogModel::insertGetId($log)){
-                DB::rollBack();
-                $this->error = 2305;
-                RedisService::set("caches:live:reward:error_{$userId}", ['data'=> $order,'error'=>'主播推荐奖励明细处理失败'], 600);
-                return false;
-            }
 
 
-            // 消息
-            MessageService::make()->pushMessage($userId, lang('打赏推荐奖励通知'), lang('打赏推荐奖励通知内容',['time'=> $dateTime,'usdt'=>$bonusUsdt,'live_name'=>$liveName]),3);
-        }
 
 
         DB::commit();
         DB::commit();