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

@@ -3,6 +3,7 @@
namespace app\guildadmin\controller;
use app\admin\command\Menu;
use app\common\library\GiftTableManager;
use app\guildadmin\model\AuthGroup;
use app\guildadmin\model\AuthGroupAccess;
use app\guildadmin\model\AuthRule;
@@ -323,75 +324,76 @@ class Room extends GuildAdmin
//房间流水
public function room_flow()
{
$guild_id = $this->guildId ?? 0;
$room_id = input('room_id', '');
$page = input('page', 1);
$page_limit = input('page_limit', 10);
$type = input('type', 1);//1:全部流水 2:日流水 3:周流水 4:月流水
$stime = input('stime', '');
$etime = input('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]];
$begin_time = $stime ? strtotime($stime) : "";
$end_time = $etime ? strtotime($etime) : "";
if($guild_id){
$guild_user_data = db::name('vs_guild_user')->where('guild_id', $guild_id)->where(['apply_time'=>['>',0],'status'=>1,'room_id'=>$room_id])->field('room_id,apply_time,quit_time')->find();
if($guild_user_data){
if($guild_user_data['apply_time'] && $begin_time < $guild_user_data['apply_time']){
$begin_time = $guild_user_data['apply_time'];
}
if($guild_user_data['quit_time'] && ($end_time > $guild_user_data['quit_time'])){
$end_time = $guild_user_data['quit_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]];
$params['from_id'] = $room_id;
$ext_params['start_time'] = $begin_time;
$ext_params['end_time'] = $end_time;
$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');
}
elseif ($type == 4){
$begin_time = strtotime(date('Y-m-01'));
$end_time = time();
$where['a.createtime'] = ['between', [$begin_time, $end_time]];
}
$count = db::name('vs_give_gift')->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('vs_give_gift')->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'];
$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_luck = [];
$where['room_id'] = $room_id;
if($guild_id){
$where['guild_id'] = $guild_id;
}
if($begin_time && $end_time){
$where['createtime'] = ['between', [$begin_time, $end_time]];
$where_luck['createtime'] = ['between', [$begin_time, $end_time]];
}
$gift_total_price = db::name('vs_guild_flow')->where($where)->sum('flow_price');
$total_lucky_coin = db::name('vs_room_luck_value')->where('room_id',$room_id)->where($where_luck)->sum('luck_value');
$return_data = [
'page' =>$page,
'page_limit' => $page_limit,
'count' => $count,
'lists' => $list,
'total' =>[
'total_price' => db::name('vs_give_gift')->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' => $gift_total_price,
'total_lucky_coin' => $total_lucky_coin
]
];
return V(1,"成功", $return_data);