|
|
@@ -762,8 +762,53 @@ class LiveService extends BaseService
|
|
|
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账户进账
|
|
|
- $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)){
|
|
|
DB::rollBack();
|
|
|
$this->error = 2305;
|
|
|
@@ -779,9 +824,9 @@ class LiveService extends BaseService
|
|
|
'user_type'=> 1,
|
|
|
'type'=> 1,
|
|
|
'coin_type'=> 1,
|
|
|
- 'money'=> $usdt,
|
|
|
+ 'money'=> $realUsdt,
|
|
|
'date'=> date('Y-m-d'),
|
|
|
- 'actual_money'=> $usdt,
|
|
|
+ 'actual_money'=> $realUsdt,
|
|
|
'balance'=> $liveUserUsdt,
|
|
|
'create_time'=> time(),
|
|
|
'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();
|
|
|
|