bug修改
This commit is contained in:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user