publicfunctiontest(){$params=$this->request->param();if(!isset($params['start_date'])&&!isset($params['end_date'])){return$this->success("ok",[]);}// 分页设置$page=$params['page']??1;// 当前页码$limit=$params['limit']??15;// 每页显示的记录数$offset=($page-1)*$limit;// 计算偏移量// 初始化相关变量$table_prefix="sh_user_visit_";$start_date=$params['start_date'];//查询开始时间$end_date=$params['end_date'];//查询结束时间$start=$table_prefix.date('Ym',strtotime($start_date));$isTable=Db::query("SHOW TABLES LIKE '{$start}'");if(!$isTable){return$this->error("日期错误");}//获取表数组$tables=$this->getListByCross($table_prefix,$start_date,$end_date);//条件查询$where_str="`create_time` BETWEEN '".$start_date."' AND '".$end_date."'";if(isset($params['uid'])&&$params['uid']!=''){$where_str.='AND uid = '.$params['uid'];}$union_query='';foreach($tablesas$table){if($union_query!=""){$union_query.=" UNION ALL ";}$union_query.="SELECT * FROM {$table} WHERE ".$where_str;}// 获取总记录数$total_query="SELECT COUNT(*) AS total FROM ({$union_query}) AS unioned_tables";$result=Db::query($total_query);$count=$result[0]['total'];// 分页查询$paged_query="{$union_query} LIMIT $limit OFFSET $offset";$result=Db::query($paged_query);$data=['page'=>$page,'count'=>$count,'data'=>$result];return$this->success("ok",$data);}