diff --git a/app/Http/Controllers/Admin/MainController.php b/app/Http/Controllers/Admin/MainController.php index fcb275b457b7849ebeda7f7e335d1611d554b87a..5f43d91cc88b3489a92b6a11a4d76a554096c0f4 100644 --- a/app/Http/Controllers/Admin/MainController.php +++ b/app/Http/Controllers/Admin/MainController.php @@ -23,6 +23,7 @@ use App\Models\Log; use App\Models\Menu; use App\Models\Recall; use App\Models\User; +use App\Models\WebView; use Illuminate\Http\Request; use Illuminate\Support\Carbon; use Illuminate\Support\Facades\Artisan; @@ -45,7 +46,7 @@ class MainController extends Controller $shortcutList = Menu::where ('status', 1)->where ('is_shortcut', 1)->orderBy ('sort', 'ASC')->get (); foreach ($shortcutList as $key => $menu) { //屏蔽无权限菜单 - if ($menu['auth_name'] && !check_admin_auth ($menu['auth_name'].'_index')) { + if ($menu['auth_name'] && !check_admin_auth ($menu['auth_name'] . '_index')) { unset($shortcutList[ $key ]); } } @@ -226,40 +227,25 @@ class MainController extends Controller /** * 获取实时统计数据 add by gui */ - public function sync_real_num () + public function syncRealNum () { $monthDate = date ('Y-m-01'); $userId = get_login_user_id (); - $noDone = 0; - $againNoDone = 0; - $monthDone = 0; - $allDone = 0; - $noAssigner = 0; - if (User::onlyOperatorAuth ()) { - //只有话务员权限的时候 - $noDone = Recall::where ('is_done', 0)->where ('recall_user_id', $userId)->count ('id'); - $againNoDone = Recall::where ('is_done', 0)->where ('recallstatus', '>', 0)->where ('recall_user_id', $userId)->count ('id'); - $monthDone = Recall::where ('is_done', 1)->where ('recalldate', '>=', $monthDate)->where ('recall_user_id', $userId)->count ('id'); - $allDone = Recall::where ('is_done', 1)->where ('recall_user_id', $userId)->count ('id'); - } else { - $noDone = Recall::where ('is_done', 0)->count ('id'); - $againNoDone = Recall::where ('is_done', 0)->where ('recallstatus', '>', 0)->count ('id'); - $monthDone = Recall::where ('is_done', 1)->where ('recalldate', '>=', $monthDate)->count ('id'); - $allDone = Recall::where ('is_done', 1)->count ('id'); - $noAssigner = Recall::where ('recall_user_id', 0)->count ('id'); - } + $todayOrderCount = 0; + $monthOrderCount = 0; + $monthOrderMoney = '0.00'; + $memberCount = User\UserMember::count (); - $result['no_done'] = $noDone; - $result['again_no_done'] = $againNoDone; - $result['month_done'] = $monthDone; - $result['all_done'] = $allDone; - $result['no_assigner'] = $noAssigner; + $result['member'] = $memberCount; + $result['today_order'] = $todayOrderCount; + $result['month_order'] = $monthOrderCount; + $result['month_order_money'] = $monthOrderMoney; return ajax_success_result ('', $result); } - public function get_echart () + public function getEchart () { $date_str = request ()->input ('dates'); $date = array_get_date ($date_str); @@ -273,29 +259,36 @@ class MainController extends Controller if (empty($end_date)) { $end_date = Carbon::now ()->toDateString (); } - //已完成回访数 - $doneRecall = Recall::selectRaw ('COUNT(1) as count,DATE(recalldate) as date') - ->whereDate ('recalldate', '>=', $start_date) - ->whereDate ('recalldate', '<=', $end_date) - ->where ('is_done', '=', 1) - ->groupByRaw ('DATE(recalldate)') - ->orderBy ('date', 'ASC'); - $doneDate = []; - if (User::onlyOperatorAuth ()) { - //只有话务员权限的时候 - $doneRecall = $doneRecall->where ('recall_user_id', get_login_user_id ()); + //访问用户 + $webUser = WebView::selectRaw ('COUNT(DISTINCT web_user) as count,DATE(view_at) as date') + ->whereDate ('view_at', '>=', $start_date) + ->whereDate ('view_at', '<=', $end_date) + ->groupByRaw ('DATE(view_at)') + ->orderBy ('date', 'ASC')->get (); + $userData = []; + + foreach ($webUser as $log) { + $userData[ $log->date ] = $log->count ?? 0; } - foreach ($doneRecall->get () as $log) { - $doneDate[ $log->date ] = $log->count ?? 0; + //访问次数 + $webView = WebView::selectRaw ('COUNT(web_user) as count,DATE(view_at) as date') + ->whereDate ('view_at', '>=', $start_date) + ->whereDate ('view_at', '<=', $end_date) + ->groupByRaw ('DATE(view_at)') + ->orderBy ('date', 'ASC')->get(); + $viewData = []; + foreach ($webView as $log) { + $viewData[ $log->date ] = $log->count ?? 0; } - for ($i = 0; $i < 90; $i++) { + for ($i = 0; $i < 100; $i++) { $_date = Carbon::parse ($start_date)->addDays ($i)->toDateString (); if ($_date > $end_date) { break; } $x_data[] = $_date; - $series['done'][] = isset($doneDate[ $_date ]) ? $doneDate[ $_date ] : 0; + $series['users'][] = isset($userData[ $_date ]) ? $userData[ $_date ] : 0; + $series['views'][] = isset($viewData[ $_date ]) ? $viewData[ $_date ] : 0; } return ajax_success_result ('', [ diff --git a/app/Http/Controllers/Home/PublicController.php b/app/Http/Controllers/Home/PublicController.php new file mode 100644 index 0000000000000000000000000000000000000000..e2ce30018e2970999e0420799a775729eb43df53 --- /dev/null +++ b/app/Http/Controllers/Home/PublicController.php @@ -0,0 +1,47 @@ + +|----------------------------------------------------------------------------------------------------------- +*/ + +namespace App\Http\Controllers\Home; + + +use App\Http\Controllers\Controller; +use App\Models\WebView; +use Illuminate\Http\Request; + +class PublicController extends Controller +{ + public function webViewBrowsing (Request $request) + { + $web_user = get_login_user_id (); + $userAgent = $request->userAgent (); + $clientId = $request->getClientIp (); + $viewUrl = $request->input ('url'); + if (!$viewUrl) { + $viewUrl = $request->header ('referer'); + } + if (!$web_user) { + $web_user = session ()->getId (); + } + $insArr = [ + 'web_user' => $web_user, + 'user_agent' => $userAgent, + 'client_id' => $clientId, + 'view_url' => $viewUrl, + 'view_at' => now () + ]; + $ret = WebView::create ($insArr); + $data = ['result' => $ret ? true : false]; + + return ajax_success_result ('', $data); + } +} diff --git a/app/Models/WebView.php b/app/Models/WebView.php new file mode 100644 index 0000000000000000000000000000000000000000..33dc0d32b0e3668749195b6486e2e99c20370f0e --- /dev/null +++ b/app/Models/WebView.php @@ -0,0 +1,22 @@ + +|----------------------------------------------------------------------------------------------------------- +*/ + +namespace App\Models; + +use Illuminate\Database\Eloquent\Model; + +class WebView extends Model +{ + public $timestamps = false; + protected $fillable = ['web_user', 'view_url', 'client_ip', 'user_agent', 'view_at']; +} diff --git a/public/static/layuimini/js/lay-module/layuimini/miniAdmin.js b/public/static/layuimini/js/lay-module/layuimini/miniAdmin.js index e4ba12c6be6631378356be0bee49a444ecc6e8fd..a7afc4b7da95a5a5ff02370eafd940983965a50e 100644 --- a/public/static/layuimini/js/lay-module/layuimini/miniAdmin.js +++ b/public/static/layuimini/js/lay-module/layuimini/miniAdmin.js @@ -262,9 +262,9 @@ layui.define(["jquery", "miniMenu", "element","miniTab", "miniTheme"], function $.getJSON(clearUrl, function (data, status) { layer.close(loading); if (data.code !== 0) { - return miniAdmin.error(data.msg); + return miniAdmin.error(data.message); } else { - return miniAdmin.success(data.msg); + return miniAdmin.success(data.message); } }).fail(function () { layer.close(loading); diff --git a/readme.md b/readme.md index 735148cbe9f7fb424bba7c2c082088a420379006..d522bb906cd24643b86e7208a24d731d8a6adaea 100644 --- a/readme.md +++ b/readme.md @@ -67,7 +67,6 @@ php artisan serve ### 开发文档 - [https://www.jianbaizhan.com/cmf/docs](https://www.jianbaizhan.com/cmf/docs) -- [https://gitee.com/liaodeiy/laravel-admin-docs](https://gitee.com/liaodeiy/laravel-admin-docs) diff --git a/resources/views/admin/config/add.blade.php b/resources/views/admin/config/add.blade.php deleted file mode 100644 index f73d8c103b8ee69ebcf33956c4af6dbf1f1d0c14..0000000000000000000000000000000000000000 --- a/resources/views/admin/config/add.blade.php +++ /dev/null @@ -1,459 +0,0 @@ -@extends('layouts.app') -@section('style') - -@endsection - -@section('content') - -