2025-08-13 10:43:56 +08:00
|
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
|
|
namespace app\adminapi\controller;
|
|
|
|
|
|
|
|
|
|
|
|
use app\common\controller\adminApi;
|
|
|
|
|
|
use think\Db;
|
|
|
|
|
|
use Yzh\YunPay;
|
|
|
|
|
|
|
|
|
|
|
|
class Statistical extends adminApi
|
|
|
|
|
|
{
|
|
|
|
|
|
//初始化
|
|
|
|
|
|
public function _initialize()
|
|
|
|
|
|
{
|
|
|
|
|
|
parent::_initialize();
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//充值排行统计
|
|
|
|
|
|
public function get_recharge_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 !== ''){
|
2025-09-27 17:29:15 +08:00
|
|
|
|
$where['createtime'] = ['<=', strtotime($end_time)];
|
2025-08-13 10:43:56 +08:00
|
|
|
|
}
|
|
|
|
|
|
if(!empty($begin_time) && !empty($end_time)){
|
2025-09-27 17:29:15 +08:00
|
|
|
|
$where['createtime'] = ['between',[strtotime($begin_time),strtotime($end_time)]];
|
2025-08-13 10:43:56 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
$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 !== ''){
|
2025-09-27 17:29:15 +08:00
|
|
|
|
$where['createtime'] = ['<=', strtotime($end_time)];
|
2025-08-13 10:43:56 +08:00
|
|
|
|
}
|
|
|
|
|
|
if(!empty($begin_time) && !empty($end_time)){
|
2025-09-27 17:29:15 +08:00
|
|
|
|
$where['createtime'] = ['between',[strtotime($begin_time),strtotime($end_time)]];
|
2025-08-13 10:43:56 +08:00
|
|
|
|
}
|
|
|
|
|
|
$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 !== ''){
|
2025-09-27 17:29:15 +08:00
|
|
|
|
$where['createtime'] = ['<=', strtotime($end_time)];
|
2025-08-13 10:43:56 +08:00
|
|
|
|
}
|
|
|
|
|
|
if(!empty($begin_time) && !empty($end_time)){
|
2025-09-27 17:29:15 +08:00
|
|
|
|
$where['createtime'] = ['between',[strtotime($begin_time),strtotime($end_time)]];
|
2025-08-13 10:43:56 +08:00
|
|
|
|
}
|
|
|
|
|
|
// 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 !== ''){
|
2025-09-27 17:29:15 +08:00
|
|
|
|
$where['createtime'] = ['<=', strtotime($end_time)];
|
2025-08-13 10:43:56 +08:00
|
|
|
|
}
|
|
|
|
|
|
if(!empty($begin_time) && !empty($end_time)){
|
2025-09-27 17:29:15 +08:00
|
|
|
|
$where['createtime'] = ['between',[strtotime($begin_time),strtotime($end_time)]];
|
2025-08-13 10:43:56 +08:00
|
|
|
|
}
|
|
|
|
|
|
//不为空
|
|
|
|
|
|
$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();
|
2025-09-27 17:40:36 +08:00
|
|
|
|
if($room){
|
|
|
|
|
|
$lists[$key]['room_name'] = $room['room_name'].'-'.$room['room_number'];
|
|
|
|
|
|
$lists[$key]['room_number'] = $room['room_number'];
|
|
|
|
|
|
}else{
|
|
|
|
|
|
$lists[$key]['room_name'] = "--";
|
|
|
|
|
|
$lists[$key]['room_number'] = "--";
|
|
|
|
|
|
}
|
2025-08-13 10:43:56 +08:00
|
|
|
|
$lists[$key]['createtime'] = date('Y-m-d H:i:s', $value['createtime']);
|
|
|
|
|
|
$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 !== ''){
|
2025-09-27 17:29:15 +08:00
|
|
|
|
$where['createtime'] = ['<=', strtotime($pay_etime)];
|
2025-08-13 10:43:56 +08:00
|
|
|
|
}
|
|
|
|
|
|
if(!empty($pay_stime) && !empty($pay_etime)){
|
2025-09-27 17:29:15 +08:00
|
|
|
|
$where['createtime'] = ['between',[strtotime($pay_stime),strtotime($pay_etime)]];
|
2025-08-13 10:43:56 +08:00
|
|
|
|
}
|
|
|
|
|
|
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();
|
2025-09-13 20:30:52 +08:00
|
|
|
|
$lists = db::name('vs_user_recharge')->where($where)->order('rid desc')->page($page, $page_limit)->select();
|
2025-08-13 10:43:56 +08:00
|
|
|
|
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=[];
|
2025-09-27 18:13:19 +08:00
|
|
|
|
unset($where['pay_status']);
|
|
|
|
|
|
unset($where['pay_type']);
|
2025-09-27 17:40:36 +08:00
|
|
|
|
$return_data['total_money'] = db::name('vs_user_recharge')->where($where)->sum('money');
|
2025-08-13 10:43:56 +08:00
|
|
|
|
//未支付
|
2025-09-27 17:40:36 +08:00
|
|
|
|
$return_data['unpaid_money'] = db::name('vs_user_recharge')->where($where)->where('pay_status',1)->sum('money');
|
2025-08-13 10:43:56 +08:00
|
|
|
|
//已支付
|
2025-09-27 17:40:36 +08:00
|
|
|
|
$return_data['paid_money'] = db::name('vs_user_recharge')->where($where)->where('pay_status',2)->sum('money');
|
2025-08-13 10:43:56 +08:00
|
|
|
|
//微信支付
|
|
|
|
|
|
$wherew['pay_type'] = ['in', [1,4]];
|
2025-09-27 17:40:36 +08:00
|
|
|
|
$return_data['wx_money'] = db::name('vs_user_recharge')->where($where)->where('pay_status',2)->where($wherew)->sum('money');
|
2025-08-13 10:43:56 +08:00
|
|
|
|
//支付宝支付
|
|
|
|
|
|
$wherez['pay_type'] = ['in', [2,3]];
|
2025-09-27 17:40:36 +08:00
|
|
|
|
$return_data['ali_money'] = db::name('vs_user_recharge')->where($where)->where('pay_status',2)->where($wherez)->sum('money');
|
2025-08-13 10:43:56 +08:00
|
|
|
|
//金币数量
|
2025-09-27 17:40:36 +08:00
|
|
|
|
$return_data['gold_num'] = db::name('vs_user_recharge')->where($where)->where('pay_status',2)->sum('coin');
|
2025-08-13 10:43:56 +08:00
|
|
|
|
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 !== ''){
|
2025-09-27 17:29:15 +08:00
|
|
|
|
$where['a.createtime'] = ['<=', strtotime($end_time)];
|
2025-08-13 10:43:56 +08:00
|
|
|
|
}
|
|
|
|
|
|
if($start_time !== '' && $end_time !== ''){
|
2025-09-27 17:29:15 +08:00
|
|
|
|
$where['a.createtime'] = ['between', [strtotime($start_time), strtotime($end_time)]];
|
2025-08-13 10:43:56 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
$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')
|
2025-09-13 20:30:52 +08:00
|
|
|
|
->order('a.id desc')
|
2025-08-13 10:43:56 +08:00
|
|
|
|
->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 !== ''){
|
2025-09-27 17:29:15 +08:00
|
|
|
|
$where['a.createtime'] = ['<=', strtotime($end_time)];
|
2025-08-13 10:43:56 +08:00
|
|
|
|
}
|
|
|
|
|
|
if($start_time !== '' && $end_time !== ''){
|
2025-09-27 17:29:15 +08:00
|
|
|
|
$where['a.createtime'] = ['between', [strtotime($start_time), strtotime($end_time)]];
|
2025-08-13 10:43:56 +08:00
|
|
|
|
}
|
|
|
|
|
|
$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);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|