where('user_code', $search_uid)->value('id'); $where['user_id'] = $user_id; } $username = input('username', ''); if($username !== ''){ $user_id = db::name('user')->where('nickname', $username)->value('id'); $where['user_id'] = $user_id; } if($begin_time !== ''){ $where['createtime'] = ['>=', strtotime($begin_time)]; } if($end_time !== ''){ $where['createtime'] = ['<=', strtotime($end_time.' 23:59:59')]; } if(!empty($begin_time) && !empty($end_time)){ $where['createtime'] = ['between',[strtotime($begin_time),strtotime($end_time.' 23:59:59')]]; } $where['pay_status'] = 2;//1待支付,2已支付 $where['order_type'] = 1;//订单类型:1 充值 $count = db::name('vs_user_recharge') ->where($where) ->group('user_id') ->count(); $lists = db::name('vs_user_recharge') ->field('rid,createtime,user_id,sum(money) as money,sum(coin) as coin') ->where($where) ->group('user_id') ->order('money desc') ->page($page, $page_limit) ->select(); foreach ($lists as $key => $value) { $lists[$key]['createtime'] = date('Y-m-d H:i:s', $value['createtime']); $lists[$key]['user_name'] = db::name('user')->where('id', $value['user_id'])->value('nickname').'-'. db::name('user')->where('id', $value['user_id'])->value('user_code'); $lists[$key]['avatar'] = db::name('user')->where('id', $value['user_id'])->value('avatar'); } $return_data = [ 'page' =>$page, 'page_limit' => $page_limit, 'count' => $count, 'lists' => $lists, 'total' =>[ 'total_price' => db::name('vs_user_recharge')->where($where)->sum('money'), 'total_gold' => db::name('vs_user_recharge')->where($where)->sum('coin') ] ]; return V(1,"成功", $return_data); } //送礼、收礼排行 public function get_gift_ranking() { $page = input('page', 1); $page_limit = input('page_limit', 30); $type = input('type', 1);//1送礼,2收礼 $search_uid = input('search_uid', ''); $begin_time = input('begin_time', ''); $end_time = input('end_time', ''); $where=[]; $group = 'user_id'; if($type == 2){ $group = 'gift_user'; } //标签名称 if($search_uid !== ''){ $user_id = db::name('user')->where('user_code', $search_uid)->value('id'); if($type == 1){ $where['user_id'] = $user_id; }else{ $where['gift_user'] = $user_id; } } $username = input('username', ''); if($username !== ''){ $user_id = db::name('user')->where('nickname', $username)->value('id'); if($type == 1){ $where['user_id'] = $user_id; }else{ $where['gift_user'] = $user_id; } } if($begin_time !== ''){ $where['createtime'] = ['>=', strtotime($begin_time)]; } if($end_time !== ''){ $where['createtime'] = ['<=', strtotime($end_time.' 23:59:59')]; } if(!empty($begin_time) && !empty($end_time)){ $where['createtime'] = ['between',[strtotime($begin_time),strtotime($end_time.' 23:59:59')]]; } $count = db::name('vs_give_gift') ->where($where) ->group($group) ->count(); $lists = db::name('vs_give_gift') ->field('id,createtime,user_id,gift_user,sum(total_price) as total_price,sum(number) as number') ->where($where) ->group($group) ->order('total_price desc') ->page($page, $page_limit) ->select(); foreach ($lists as $key => $value) { $lists[$key]['createtime'] = date('Y-m-d H:i:s', $value['createtime']); if($type == 1){ $lists[$key]['user_name'] = db::name('user')->where('id', $value['user_id'])->value('nickname').'-'. db::name('user')->where('id', $value['user_id'])->value('user_code'); $lists[$key]['avatar'] = db::name('user')->where('id', $value['user_id'])->value('avatar'); }else{ $lists[$key]['user_name'] = db::name('user')->where('id', $value['gift_user'])->value('nickname').'-'. db::name('user')->where('id', $value['gift_user'])->value('user_code'); $lists[$key]['avatar'] = db::name('user')->where('id', $value['gift_user'])->value('avatar'); } } $return_data = [ 'page' =>$page, 'page_limit' => $page_limit, 'count' => $count, 'lists' => $lists, 'total' =>[ 'total_price' => db::name('vs_give_gift')->where($where)->sum('total_price'), 'total_num' => db::name('vs_give_gift')->where($where)->sum('number') ] ]; return V(1,"成功", $return_data); } //消费排行 public function get_consumption_ranking() { $page = input('page', 1); $page_limit = input('page_limit', 30); $search_uid = input('search_uid', ''); $begin_time = input('begin_time', ''); $end_time = input('end_time', ''); $where=[]; //标签名称 if($search_uid !== ''){ $user_id = db::name('user')->where('user_code', $search_uid)->value('id'); $where['user_id'] = $user_id; } $username = input('username', ''); if($username !== ''){ $user_id = db::name('user')->where('nickname', $username)->value('id'); $where['user_id'] = $user_id; } if($begin_time !== ''){ $where['createtime'] = ['>=', strtotime($begin_time)]; } if($end_time !== ''){ $where['createtime'] = ['<=', strtotime($end_time.' 23:59:59')]; } if(!empty($begin_time) && !empty($end_time)){ $where['createtime'] = ['between',[strtotime($begin_time),strtotime($end_time.' 23:59:59')]]; } // 1.系统调节 2.充值 3.提现 4.金币转增(送出) 5.每日任务奖励 6.充值返利 7.购买装扮 // 8.礼盒奖励 9.房间补贴 10.购买礼物 11.收礼增加收益 12.工会补贴 13.转赠金币(接收) 14.收益兑换 // 15.首充 16.天降好礼充值 17.退出工会扣款 18.房主收益 19.主持人收益 20.抢头条 21.公会长收益 $where['change_type'] = ['in', [4,7,10,17,20]]; $count = db::name('vs_user_money_log') ->where($where) ->group('user_id') ->count(); $lists = db::name('vs_user_money_log') ->field('log_id,createtime,user_id,sum(change_value) as change_value') ->where($where) ->group('user_id') ->order('change_value desc') ->page($page, $page_limit) ->select(); foreach ($lists as $key => $value) { $lists[$key]['createtime'] = date('Y-m-d H:i:s', $value['createtime']); $lists[$key]['user_name'] = db::name('user')->where('id', $value['user_id'])->value('nickname').'-'. db::name('user')->where('id', $value['user_id'])->value('user_code'); $lists[$key]['avatar'] = db::name('user')->where('id', $value['user_id'])->value('avatar'); } $return_data = [ 'page' =>$page, 'page_limit' => $page_limit, 'count' => $count, 'lists' => $lists, 'total' =>[ 'total_price' => db::name('vs_user_money_log')->where($where)->sum('change_value') ] ]; return V(1,"成功", $return_data); } //房间流水统计 public function get_room_flow_statistics() { $page = input('page', 1); $page_limit = input('page_limit', 30); $search_room_id = input('search_room_id', ''); $begin_time = input('begin_time', ''); $end_time = input('end_time', ''); $where=[]; //标签名称 $where['from_id'] = ['>' , 0]; if($search_room_id !== ''){ $room_id = db::name('vs_room')->where('room_number', $search_room_id)->value('id'); $where['from_id'] = $room_id; } $room_name = input('room_name', ''); if($room_name !== ''){ $room_id = db::name('vs_room')->where('room_name', $room_name)->value('id'); $where['from_id'] = $room_id; } if($begin_time !== ''){ $where['createtime'] = ['>=', strtotime($begin_time)]; } if($end_time !== ''){ $where['createtime'] = ['<=', strtotime($end_time.' 23:59:59')]; } if(!empty($begin_time) && !empty($end_time)){ $where['createtime'] = ['between',[strtotime($begin_time),strtotime($end_time.' 23:59:59')]]; } //不为空 $where['from'] = 2; $count = db::name('vs_give_gift') ->where($where) ->group('from_id') ->count(); $lists = db::name('vs_give_gift') ->field('id,createtime,user_id,gift_user,sum(total_price) as total_price,sum(number) as number,from_id') ->where($where) ->group('from_id') ->order('total_price desc') ->page($page, $page_limit) ->select(); foreach ($lists as $key => $value) { $room = db::name('vs_room')->where('id', $value['from_id'])->find(); $lists[$key]['createtime'] = date('Y-m-d H:i:s', $value['createtime']); $lists[$key]['room_name'] = $room['room_name'].'-'.$room['room_number']; $lists[$key]['room_number'] = $room['room_number']; $lists[$key]['room_cover'] = db::name('vs_room')->where('id', $value['from_id'])->value('room_cover'); $label = db::name('vs_room')->where('id', $value['from_id'])->value('label_id'); $lists[$key]['label'] = db::name('vs_room_label')->where('id', $label)->value('label_name'); } $return_data = [ 'page' =>$page, 'page_limit' => $page_limit, 'count' => $count, 'lists' => $lists, 'total' =>[ 'total_price' => db::name('vs_give_gift')->where($where)->sum('total_price') ] ]; return V(1,"成功", $return_data); } //充值列表 public function get_recharge_list() { $page = input('page', 1); $page_limit = input('page_limit', 30); $search_uid = input('search_uid', ''); $pay_stime = input('pay_stime', ''); $pay_etime = input('pay_etime', ''); $pay_status = input('pay_status', '');//1.待支付 2.支付成功 $order_sn = input('order_sn', ''); $pay_type = input('pay_type', '');//1.微信 2.支付宝 $money = input('money', ''); $where=[]; //标签名称 if($search_uid !== ''){ $user_id = db::name('user')->where('user_code', $search_uid)->value('id'); $where['user_id'] = $user_id; } if($pay_stime !== ''){ $where['createtime'] = ['>=', strtotime($pay_stime)]; } if($pay_etime !== ''){ $where['createtime'] = ['<=', strtotime($pay_etime.' 23:59:59')]; } if(!empty($pay_stime) && !empty($pay_etime)){ $where['createtime'] = ['between',[strtotime($pay_stime),strtotime($pay_etime.' 23:59:59')]]; } if($pay_status !== ''){ $where['pay_status'] = $pay_status; } if($order_sn !== ''){ $where['order_sn'] = $order_sn; } if($pay_type !== ''){ if($pay_type == 1){ $where['pay_type'] = ['in', [1,4]]; }elseif ($pay_type == 2){ $where['pay_type'] = ['in', [2,3]]; } } if($money !== ''){ $where['money'] = $money; } $count = db::name('vs_user_recharge')->where($where)->count(); $lists = db::name('vs_user_recharge')->where($where)->page($page, $page_limit)->select(); foreach ($lists as $key => $value) { $lists[$key]['createtime'] = date('Y-m-d H:i:s', $value['createtime']); $lists[$key]['user_name'] = db::name('user')->where('id', $value['user_id'])->value('nickname').'-'. db::name('user')->where('id', $value['user_id'])->value('user_code'); if($value['pay_type'] == 1 || $value['pay_type'] == 4){ $lists[$key]['pay_type_name'] = '微信支付'; }elseif ($value['pay_type'] == 2 || $value['pay_type'] == 3){ $lists[$key]['pay_type_name'] = '支付宝支付'; } $lists[$key]['pay_status_str'] = $value['pay_status'] == 1 ? '待支付' : '已支付'; $lists[$key]['pay_time'] = $value['pay_time'] == 0 ? '' : date('Y-m-d H:i:s', $value['pay_time']); } $return_data = [ 'page' =>$page, 'page_limit' => $page_limit, 'count' => $count, 'lists' => $lists ]; //总收入 $wherew=[]; $return_data['total_money'] = db::name('vs_user_recharge')->sum('money'); //未支付 $return_data['unpaid_money'] = db::name('vs_user_recharge')->where('pay_status',1)->sum('money'); //已支付 $return_data['paid_money'] = db::name('vs_user_recharge')->where('pay_status',2)->sum('money'); //微信支付 $wherew['pay_type'] = ['in', [1,4]]; $return_data['wx_money'] = db::name('vs_user_recharge')->where('pay_status',2)->where($wherew)->sum('money'); //支付宝支付 $wherez['pay_type'] = ['in', [2,3]]; $return_data['ali_money'] = db::name('vs_user_recharge')->where('pay_status',2)->where($wherez)->sum('money'); //金币数量 $return_data['gold_num'] = db::name('vs_user_recharge')->where('pay_status',2)->sum('coin'); return V(1,"成功", $return_data); } //兑换列表 public function get_exchange_list() { $page = input('page', 1); $page_limit = input('page_limit', 30); $search_uid = input('search_uid', ''); $where=[]; if($search_uid !== ''){ if(is_numeric($search_uid)){ $where['b.user_code'] = $search_uid; }else{ $where['b.nickname'] = ['like', '%'.$search_uid.'%']; } } //时间筛选 $start_time = input('start_time', ''); $end_time = input('end_time', ''); if($start_time !== ''){ $where['a.createtime'] = ['>=', strtotime($start_time)]; } if($end_time !== ''){ $where['a.createtime'] = ['<=', strtotime($end_time.' 23:59:59')]; } if($start_time !== '' && $end_time !== ''){ $where['a.createtime'] = ['between', [strtotime($start_time), strtotime($end_time.' 23:59:59')]]; } $count = db::name('user_exchange')->where($where)->alias('a')->join('user b', 'a.user_id = b.id')->count(); $lists = db::name('user_exchange')->where($where)->alias('a')->join('user b', 'a.user_id = b.id') ->field('a.*,b.nickname,b.user_code') ->page($page, $page_limit)->select(); foreach ($lists as $key => $value) { $lists[$key]['user_name'] = $value['nickname'].'-'.$value['user_code']; $lists[$key]['createtime'] = date('Y-m-d H:i:s', $value['createtime']); } $return_data = [ 'page' =>$page, 'page_limit' => $page_limit, 'count' => $count, 'lists' => $lists, 'total' =>[ 'total_coin_num' => db::name('user_exchange')->where($where)->alias('a')->join('user b', 'a.user_id = b.id')->sum('earnings_num'), 'total_earnings_num' => db::name('user_exchange')->where($where)->alias('a')->join('user b', 'a.user_id = b.id')->sum('coin_num'), ] ]; return V(1,"成功", $return_data); } //后台手动充值列表 public function admin_recharge_list(){ $page = input('page', 1); $page_limit = input('page_limit', 10); $where =[]; $search_id = input('search_id', ''); $search_name = input('search_name', ''); if($search_id){ $where['b.user_code'] = $search_id; } if($search_name){ $where['b.username'] = ['like', '%'.$search_name.'%']; } $start_time = input('start_time', ''); $end_time = input('end_time', ''); if($start_time !== ''){ $where['a.createtime'] = ['>=', strtotime($start_time)]; } if($end_time !== ''){ $where['a.createtime'] = ['<=', strtotime($end_time.' 23:59:59')]; } if($start_time !== '' && $end_time !== ''){ $where['a.createtime'] = ['between', [strtotime($start_time), strtotime($end_time.' 23:59:59')]]; } $count = db::name('vs_admin_recharge_log') ->alias('a')->join('user b', 'a.user_id = b.id') ->where($where) ->count(); $lists = db::name('vs_admin_recharge_log') ->alias('a')->join('user b', 'a.user_id = b.id') ->where($where) ->field('a.*,b.nickname') ->order('a.arid desc') ->page($page, $page_limit) ->select(); foreach ($lists as &$list){ $user_code = model('api/Decorate')->user_decorate_detail($list['user_id'],6); $list['nickname'] = $user_code."-".$list['nickname']; $list['admin_name'] = db::name('admin')->where('id', $list['admin_id'])->value('username'); $list['type_str'] = model('common/UserWallet')::getMoneyType($list['type']); $list['createtime'] = date('Y-m-d H:i:s', $list['createtime']); } //总充值(金币) $total_coin = db::name('vs_admin_recharge_log')->where(['type'=>1])->sum('change_value'); //总充值(收益) $total_earnings = db::name('vs_admin_recharge_log')->where(['type'=>2])->sum('change_value'); //今日充值(金币) $today_coin =db::name('vs_admin_recharge_log')->where(['type'=>1])->whereTime('createtime', 'today')->sum('change_value'); //今日充值(收益) $today_earnings = db::name('vs_admin_recharge_log')->where(['type'=>2])->whereTime('createtime', 'today')->sum('change_value'); $return_data = [ 'page' =>$page, 'page_limit' => $page_limit, 'count' => $count, 'lists' => $lists, 'total_data' => [ 'total_coin' => $total_coin, 'total_earnings' => $total_earnings, 'today_coin' => $today_coin, 'today_earnings' => $today_earnings ] ]; return V(1,"成功", $return_data); } }