87 lines
2.2 KiB
PHP
87 lines
2.2 KiB
PHP
<?php
|
|
|
|
namespace App\Services;
|
|
|
|
use Response;
|
|
use Schema;
|
|
use Hash;
|
|
use App\Libraries\ListHelper;
|
|
|
|
use Illuminate\Http\Request;
|
|
|
|
use App\Contracts\MobileAnalyticsResourceInterface;
|
|
use App\MobileAnalytics;
|
|
use App\Helpers\HttpStatusCode;
|
|
use App\Helpers\CurrentUserHelper;
|
|
use App\Libraries\UuidHelper;
|
|
|
|
class MabileAnalyticsService implements MobileAnalyticsResourceInterface
|
|
{
|
|
|
|
public $mobileAnalytics;
|
|
|
|
|
|
public function report_mobileUsage($params, $export = false)
|
|
{
|
|
|
|
$pagination = ListHelper::validatePagination($params['page_size'],$params['page']);
|
|
$list = MobileAnalytics::select('*');
|
|
|
|
if($params['date_start'] != null && $params['date_end'] != null)
|
|
{
|
|
$list = $list->where('date','>=',date('Y-m-d',strtotime($params['date_start'])))
|
|
->where('date','<=',date('Y-m-d',strtotime($params['date_end'])));
|
|
}
|
|
|
|
$sorting = $params['sorting'];
|
|
if(count($sorting) > 0)
|
|
{
|
|
$list = $list->orderBy($sorting['field'],$sorting['sort_order']);
|
|
}
|
|
|
|
if($export)
|
|
return $list->get();
|
|
else
|
|
return $list->paginate($params['page_size']);
|
|
|
|
}
|
|
|
|
private function check_existing()
|
|
{
|
|
$date = date('Y-m-d');
|
|
|
|
$data = MobileAnalytics::where('date',$date)->first();
|
|
|
|
if($data)
|
|
$this->mobileAnalytics = $data;
|
|
else
|
|
{
|
|
$this->mobileAnalytics = new MobileAnalytics();
|
|
$this->mobileAnalytics->date = $date;
|
|
}
|
|
|
|
}
|
|
|
|
public function add_active()
|
|
{
|
|
$this->check_existing();
|
|
$this->mobileAnalytics->active = isset($this->mobileAnalytics->active) ? $this->mobileAnalytics->active + 1 : 1;
|
|
$this->mobileAnalytics->save();
|
|
}
|
|
|
|
public function add_inactive()
|
|
{
|
|
$this->check_existing();
|
|
$this->mobileAnalytics->inactive = isset($this->mobileAnalytics->inactive) ? $this->mobileAnalytics->inactive + 1 : 1;
|
|
$this->mobileAnalytics->save();
|
|
}
|
|
|
|
public function add_locked()
|
|
{
|
|
$this->check_existing();
|
|
$this->mobileAnalytics->locked = isset($this->mobileAnalytics->locked) ? $this->mobileAnalytics->locked + 1 : 1;
|
|
$this->mobileAnalytics->save();
|
|
}
|
|
|
|
|
|
} |