bug修改

This commit is contained in:
2026-01-17 15:54:51 +08:00
parent 761fc6e86f
commit 3a120b55cb
4 changed files with 104 additions and 125 deletions

View File

@@ -725,94 +725,64 @@ class Room extends adminApi
$lastDay = date('Y-m-t 23:59:59');
$begin_time_table = empty($stime) ? $firstDay : $stime;
$end_time_table = empty($etime) ? $lastDay : $etime;
if($room_id == ''){
return V(0,"参数错误");
}
// if($type == 1){
// $begin_time = 1748676768;//2025-06-00 15:32:48
// $end_time = time();
// $where['a.createtime'] = ['between', [$begin_time, $end_time]];
// }elseif ($type == 2){
// //日流水
// $begin_time = strtotime(date('Y-m-d 00:00:00',time()));
// $end_time = time();
// $where['a.createtime'] = ['between', [$begin_time, $end_time]];
// }
// elseif ($type == 3){
// //周流水
// //本周一
// $begin_time = strtotime(date('Y-m-d 00:00:00', strtotime('this week')));
// $end_time = time();
// $where['a.createtime'] = ['between', [$begin_time, $end_time]];
// }
// elseif ($type == 4){
// $begin_time = strtotime(date('Y-m-01'));
// $end_time = time();
// $where['a.createtime'] = ['between', [$begin_time, $end_time]];
// }
if($begin_time_table != '' && $end_time_table != ''){
$begin_time = strtotime($begin_time_table);
$end_time = strtotime($end_time_table);
$where['a.createtime'] = ['between', [$begin_time, $end_time]];
}elseif($begin_time_table != '' && $end_time_table == ''){
$begin_time = strtotime($begin_time_table);
$end_time = time();
$where['a.createtime'] = ['between', [$begin_time, $end_time]];
}elseif($begin_time_table != '' && $end_time_table == ''){
$end_time = strtotime($end_time_table);
$where['a.createtime'] = ['<=', $end_time];
$params['from_id'] = $room_id;
$ext_params['start_time'] = strtotime($begin_time_table);
$ext_params['end_time'] = strtotime($end_time_table);
$params['page'] = $page;
$params['limit'] = $page_limit;
$res = model('api/GiveGiftBases')->getGiftRecords($params,$ext_params);
$list = $res['data'];
$count = $res['total'];
$list_data = [];
foreach ($list as &$value) {
$value['time'] = date('Y-m-d', $value['createtime']);
$value['sender_nickname'] = db::name('user')->where('id', $value['user_id'])->value('nickname');
$value['sender_avatar'] = db::name('user')->where('id', $value['user_id'])->value('avatar');
$value['receive_nickname'] = db::name('user')->where('id', $value['gift_user'])->value('nickname');
$value['receive_avatar'] = db::name('user')->where('id', $value['gift_user'])->value('avatar');
$value['gift_name'] = db::name('vs_gift')->where('gid', $value['gift_id'])->value('gift_name');
}
if($list){
foreach ($list as &$v){
$v['createtime'] = date('Y-m-d H:i:s',$v['createtime']);
$v['content'] = $v['sender_nickname'].' 给 '.$v['receive_nickname'].' 送了 '.$v['gift_name'].' x '.$v['number'];
// 来源1聊天送礼物 2房间语聊送礼 3直播送礼 4动态打赏
$v['from_str'] = model('adminapi/Gift')->GiveGiftFromStr[$v['from']];
}
}
$where =[];
$where['createtime'] = ['between', [strtotime($begin_time_table), strtotime($end_time_table)]];
$all_total_price = 0;
$tables = GiftTableManager::getTablesByTimeRange(
strtotime($begin_time_table),
strtotime($end_time_table)
);
if(empty($tables)){
$tables[0] = "fa_vs_give_gift";
}
$table_name = substr($tables[0], 3);//截取可查询的表名
$count = db::name($table_name)->alias('a')
->field('a.id')
->join('user b', 'a.user_id = b.id', 'left')
->join('user c', 'a.gift_user = c.id', 'left')
->join('vs_gift d', 'a.gift_id = d.gid', 'left')
->where('a.from',2)
->where('a.from_id',$room_id)
->where($where)
->count();
$list = db::name($table_name)->alias('a')
->field('a.number,a.createtime,a.total_price,a.type,b.nickname,b.avatar,c.nickname as gift_nickname,c.avatar as gift_avatar,d.gift_name,a.from,a.from_id')
->join('user b', 'a.user_id = b.id', 'left')
->join('user c', 'a.gift_user = c.id', 'left')
->join('vs_gift d', 'a.gift_id = d.gid', 'left')
->where('a.from',2)
->where('a.from_id',$room_id)
->where($where)
->order('a.id desc')
->page($page, $page_limit)
->select();
if($list){
foreach ($list as &$v){
$v['createtime'] = date('Y-m-d H:i:s',$v['createtime']);
$v['content'] = $v['nickname'].' 给 '.$v['gift_nickname'].' 送了 '.$v['gift_name'].' x '.$v['number'];
// 来源1聊天送礼物 2房间语聊送礼 3直播送礼 4动态打赏
$v['from_str'] = model('Gift')->GiveGiftFromStr[$v['from']];
if($tables){
foreach ($tables as $table_name){
//表前缀
$table_prefix = config('database.prefix');
$table_name = str_replace($table_prefix, '', $table_name);
$total_price = db::name($table_name)
->where('from',2)
->where('from_id',$room_id)
->where($where)->sum('total_price');
$all_total_price += $total_price;
}
}
//幸运流水总计
$total_lucky_coin = db::name('vs_room_luck_value')->alias('a')->where('room_id',$room_id)->where($where)->sum('luck_value');
$total_lucky_coin = db::name('vs_room_luck_value')->where('room_id',$room_id)->where($where)->sum('luck_value');
$return_data = [
'page' =>$page,
'page_limit' => $page_limit,
'count' => $count,
'lists' => $list,
'total' =>[
'total_price' => db::name($table_name)->alias('a')
->join('user b', 'a.user_id = b.id', 'left')
->where('a.from',2)
->where('a.from_id',$room_id)
->where($where)->sum('total_price'),
'total_price' => $all_total_price,
'total_lucky_coin' => $total_lucky_coin,
]
];