|
@@ -13,6 +13,8 @@ use app\index\model\Goods as GoodsModel;
|
|
|
use app\index\model\Order as OrderModel;
|
|
|
use app\index\service\passport\UMailer;
|
|
|
use app\store\model\Express as ExpressModel;
|
|
|
+use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
|
|
+use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
|
|
|
use think\facade\Cache;
|
|
|
use think\facade\Log;
|
|
|
use think\facade\Session;
|
|
@@ -25,6 +27,8 @@ use Endroid\QrCode\Logo\Logo;
|
|
|
use Endroid\QrCode\RoundBlockSizeMode\RoundBlockSizeModeMargin;
|
|
|
use Endroid\QrCode\Writer\PngWriter;
|
|
|
use Endroid\QrCode\Writer\ValidationException;
|
|
|
+use Spatie\SimpleExcel\SimpleExcelReader;
|
|
|
+use Spatie\SimpleExcel\SimpleExcelWriter;
|
|
|
|
|
|
/**
|
|
|
* 默认控制器
|
|
@@ -983,13 +987,30 @@ class User extends Controller
|
|
|
|
|
|
public function pullLogsToNow()
|
|
|
{
|
|
|
- $from = intval($this->request->param('from'));//要统计的起始时间戳
|
|
|
+ //$pathToCsv = public_path('uploads/10001').date('Ymd').'/'.uniqid().'.xlsx';
|
|
|
+ $spreadsheet = new Spreadsheet();
|
|
|
+ // Set cell A1 with a string value
|
|
|
+ $spreadsheet->getActiveSheet()->setCellValue('B1', '进入积分说明页');
|
|
|
+ $spreadsheet->getActiveSheet()->setCellValue('C1', '商城首页');
|
|
|
+ $spreadsheet->getActiveSheet()->setCellValue('D1', '登录页');
|
|
|
+ $spreadsheet->getActiveSheet()->setCellValue('E1', '获取验证码行为');
|
|
|
+ $spreadsheet->getActiveSheet()->setCellValue('F1', '点击注册行为');
|
|
|
+
|
|
|
+ $spreadsheet->getActiveSheet()->setCellValue('A1', '');
|
|
|
+
|
|
|
+ $fromDate = $this->request->param('from');
|
|
|
+ $from = strtotime($fromDate);
|
|
|
+ if (!$from){
|
|
|
+ return $this->renderError('input valid from date');
|
|
|
+ }
|
|
|
+
|
|
|
+ //$from = intval($this->request->param('from'));//要统计的起始时间戳
|
|
|
//$to = 86400;
|
|
|
if ($from > time()){
|
|
|
return $this->renderError('input valid ck');
|
|
|
}
|
|
|
|
|
|
- if (bcdiv(time() - $from,86400,0) > 10){
|
|
|
+ if (bcdiv(time() - $from,86400,0) > 15){
|
|
|
return $this->renderError('from too old');
|
|
|
}
|
|
|
|
|
@@ -1000,7 +1021,6 @@ class User extends Controller
|
|
|
|
|
|
$data = [];
|
|
|
|
|
|
- $data['distinct_ip_cnt'] = UserAccessLog::getAccessLogDistinctIps($from,time());
|
|
|
|
|
|
while ($from < time()){
|
|
|
$to = $from + 86399;
|
|
@@ -1008,6 +1028,34 @@ class User extends Controller
|
|
|
|
|
|
$from = $from + 86400;
|
|
|
}
|
|
|
+
|
|
|
+ $data['total_ips'] = [UserAccessLog::getAccessLogDistinctIps($from,time())];
|
|
|
+
|
|
|
+ $i = 2;
|
|
|
+
|
|
|
+ foreach ($data as $date => $datum){
|
|
|
+ $col = 'A';
|
|
|
+ $spreadsheet->getActiveSheet()->setCellValue($col.$i, $date);
|
|
|
+ foreach ($datum as $v){
|
|
|
+ $col = chr(ord($col) +1);
|
|
|
+ $spreadsheet->getActiveSheet()->setCellValue($col.$i, $v);
|
|
|
+ }
|
|
|
+ $i++;
|
|
|
+ }
|
|
|
+
|
|
|
+ $spreadsheet->getActiveSheet()->setCellValue('A'.$i, '说明:数量均为独立IP数量');
|
|
|
+
|
|
|
+ $writer = new Xlsx($spreadsheet);
|
|
|
+ if (file_exists('05featuredemo.xlsx')){
|
|
|
+ unlink('05featuredemo.xlsx');
|
|
|
+ }
|
|
|
+
|
|
|
+ $writer->save("05featuredemo.xlsx");
|
|
|
+
|
|
|
+ //$rows->toBrowser();
|
|
|
+ return $this->renderSuccess([]);
|
|
|
+
|
|
|
+
|
|
|
return $this->renderSuccess($data);
|
|
|
|
|
|
|