diff --git a/application/api/controller/Sign.php b/application/api/controller/Sign.php index 56d8d45d..ecde1f4a 100644 --- a/application/api/controller/Sign.php +++ b/application/api/controller/Sign.php @@ -11,17 +11,21 @@ class Sign extends BaseCom public function sign_coin_list() { $sign_id = input('sign_id', 0);//场次id - $room_sign = db::name('vs_room_sign')->where('id', $sign_id)->field('sign_user_id,room_id')->find(); + $room_sign = db::name('vs_room_sign')->where('id', $sign_id)->field('sign_user_id,room_id,market_value')->find(); if (!$room_sign) { return v(0, '参数错误'); } //获取出价最高用户 - $sign_user = db::name('vs_user_sign_auction')->where(['room_id' => $room_sign['room_id'],'sign_time' => $sign_id,'type' => 0])->order('sign_value desc')->field('id,user_id,sign_value')->find(); + $sign_user = db::name('vs_user_sign_auction') + ->field('id,user_id,sign_value') + ->where(['room_id' => $room_sign['room_id'],'sign_time' => $sign_id,'type' => 0]) + ->order('sign_value desc') + ->find(); if($sign_user){ $market_value = $sign_user['sign_value']; }else{ //获取当前用户的身价 - $market_value = db::name('user')->where('id', $room_sign['sign_user_id'])->value('market_value'); + $market_value = $room_sign['market_value']; } $sign_market_value = get_system_config_value('sign_market_value'); diff --git a/application/api/model/GiveGiftBases.php b/application/api/model/GiveGiftBases.php index d19513c6..ae75d4ec 100644 --- a/application/api/model/GiveGiftBases.php +++ b/application/api/model/GiveGiftBases.php @@ -150,6 +150,39 @@ class GiveGiftBases extends Model } + /** + * 房间送礼统计总数 + */ + public function getRoomStatistics_total($fromId, $startTime, $endTime) + { + if (!$fromId) { + $this->error('房间ID不能为空'); + } + + $where = ['from_id' => $fromId]; + $options = [ + 'start_time' => $startTime, + 'end_time' => $endTime, + ]; + + // 统计房间总数据 + $totalStats = $this->giftModel->getGiftStatistics($where, $options); + + $result = [ + 'room_id' => $fromId, + 'time_range' => [ + 'start_time' => $startTime, + 'end_time' => $endTime, + 'start_date' => date('Y-m-d H:i:s', $startTime), + 'end_date' => date('Y-m-d H:i:s', $endTime), + ], + 'total_stats' => $totalStats, + ]; + +// $this->success('获取成功', $result); + return $result; + } + /** * 用户送礼统计 */ diff --git a/application/api/model/Room.php b/application/api/model/Room.php index c559d57f..a4bfc362 100644 --- a/application/api/model/Room.php +++ b/application/api/model/Room.php @@ -540,7 +540,7 @@ class Room extends Model $params['end_time'] = $etime; $params['page'] = $page; $params['limit'] = $page_limit; - $res = model('GiveGiftBases')->getGiftRecords($params); + $res = model('api/GiveGiftBases')->getGiftRecords($params); $list = $res['data']; $list_data = []; @@ -576,7 +576,9 @@ class Room extends Model } //房间总流水(2026年以后的) - $total_amount = model('api/RoomDailyIncome')->getIncomeByPeriod($room_id, $stime, $etime); +// $total_amount = model('api/RoomDailyIncome')->getIncomeByPeriod($room_id, $stime, $etime); + $total_amount = model('api/GiveGiftBases')->getRoomStatistics_total($room_id, strtotime($stime), strtotime($etime)); + var_dump($total_amount);exit; } //房主总收益 diff --git a/application/api/model/Sign.php b/application/api/model/Sign.php index aaf8bc69..dadf2f3d 100644 --- a/application/api/model/Sign.php +++ b/application/api/model/Sign.php @@ -117,7 +117,11 @@ class Sign extends Model db::name('vs_room')->where(['id' => $room_id])->inc('hot_value', $gift_totalaa)->inc('today_hot_value', $gift_totalaa)->update(); //获取出价最高用户 - $sign_user = db::name('vs_user_sign_auction')->where(['room_id' => $room_id,'sign_time' => $sign_time,'type' => 0])->order('sign_value desc,id asc')->field('id,user_id,sign_value')->find(); + $sign_user = db::name('vs_user_sign_auction') + ->field('id,user_id,sign_value') + ->where(['room_id' => $room_id,'sign_time' => $sign_time,'type' => 0]) + ->order('sign_value desc,id asc') + ->find(); //其他的出价退回到用户的钱包 $refund = db::name('vs_user_sign_auction')->where(['room_id' => $room_id,'sign_time' => $sign_time,'type' => 0])->select(); @@ -185,7 +189,10 @@ class Sign extends Model return ['code' => 0, 'msg' => '该场次签约已结束', 'data' => null]; } //获取签约出价最高的 - $max_sign_user = db::name('vs_user_sign_auction')->where(['room_id' => $room_id,'sign_time' => $sign_time,'type' => 0])->order('sign_value desc,id asc')->find(); + $max_sign_user = db::name('vs_user_sign_auction') + ->where(['room_id' => $room_id,'sign_time' => $sign_time,'type' => 0]) + ->order('sign_value desc,id asc') + ->find(); if($max_sign_user && $max_sign_user['sign_value'] > $sign['market_value']){ $before_sign_user = null; $is_sign = null; @@ -435,17 +442,37 @@ class Sign extends Model $text['sign_value'] = $max_sign_user['sign_value']; model('api/Chat')->sendMsg(1092,$room_id,$text); }else{ + //出价用户退 + $refund = db::name('vs_user_sign_auction')->where(['room_id' => $room_id,'sign_time' => $sign_time,'type' => 0])->select(); + if($refund){ + foreach ($refund as $k => $v){ + //给用户退回签约金额记录行为日志 + $result2[$k] = model('api/UserWallet')->change_user_cion_log($v['user_id'],$v['sign_value'],$room_id,51,'签约失败退款'); + if(!$result2[$k]){ + db::rollback(); + return ['code' => 0, 'msg' => '网络错误,请重试', 'data' => null]; + } + $result3[$k] = db::name('vs_user_sign_auction')->where('id',$v['id'])->update(['type' => 2,'refundtime' => time()]); + if(!$result3[$k]){ + db::rollback(); + return ['code' => 0, 'msg' => '网络错误,请重试', 'data' => null]; + } + } + } + //修改房间信息 db::name('vs_room')->where('id',$room_id)->update([ 'sign_type' => 0, 'updatetime' => time() ]); + //修改房间签约信息 db::name('vs_room_sign')->where(['id' => $sign_time]) ->update([ 'sign_type' => 0, 'end_time' => time() ]); + $text['text'] = '流拍'; $text['FromUserInfo'] = null; $text['ToUserInfo'] = null;