优化:Give_Gift 表查询处理
This commit is contained in:
@@ -4,6 +4,7 @@ namespace app\adminapi\controller;
|
||||
|
||||
use app\admin\model\AdminLog;
|
||||
use app\common\controller\adminApi;
|
||||
use app\common\library\GiftTableManager;
|
||||
use think\Cache;
|
||||
use think\Config;
|
||||
use think\Db;
|
||||
@@ -719,45 +720,58 @@ class Room extends adminApi
|
||||
$type = input('type', 1);//1:全部流水 2:日流水 3:周流水 4:月流水
|
||||
$stime = input('stime', '');
|
||||
$etime = input('etime', '');
|
||||
|
||||
$firstDay = date('Y-m-01');
|
||||
$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()));
|
||||
// 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];
|
||||
}
|
||||
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]];
|
||||
$tables = GiftTableManager::getTablesByTimeRange(
|
||||
strtotime($begin_time_table),
|
||||
strtotime($end_time_table)
|
||||
);
|
||||
if(empty($tables)){
|
||||
$tables[0] = "fa_vs_give_gift";
|
||||
}
|
||||
elseif ($type == 4){
|
||||
$begin_time = strtotime(date('Y-m-01'));
|
||||
$end_time = time();
|
||||
$where['a.createtime'] = ['between', [$begin_time, $end_time]];
|
||||
}
|
||||
if($stime != '' && $etime != ''){
|
||||
$begin_time = strtotime($stime);
|
||||
$end_time = strtotime($etime);
|
||||
$where['a.createtime'] = ['between', [$begin_time, $end_time]];
|
||||
}elseif($stime != '' && $etime == ''){
|
||||
$begin_time = strtotime($stime);
|
||||
$end_time = time();
|
||||
$where['a.createtime'] = ['between', [$begin_time, $end_time]];
|
||||
}elseif($etime != '' && $stime == ''){
|
||||
$end_time = strtotime($etime);
|
||||
$where['a.createtime'] = ['<=', $etime];
|
||||
}
|
||||
|
||||
$count = db::name('vs_give_gift')->alias('a')
|
||||
$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')
|
||||
@@ -766,7 +780,7 @@ class Room extends adminApi
|
||||
->where('a.from_id',$room_id)
|
||||
->where($where)
|
||||
->count();
|
||||
$list = db::name('vs_give_gift')->alias('a')
|
||||
$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')
|
||||
@@ -794,7 +808,7 @@ class Room extends adminApi
|
||||
'count' => $count,
|
||||
'lists' => $list,
|
||||
'total' =>[
|
||||
'total_price' => db::name('vs_give_gift')->alias('a')
|
||||
'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)
|
||||
|
||||
Reference in New Issue
Block a user