This commit is contained in:
molong
2022-10-04 15:10:37 +08:00
parent d2752116a7
commit 96319f0898
23 changed files with 338 additions and 39 deletions
+46 -1
View File
@@ -11,6 +11,7 @@ namespace app\services\auth;
use app\model\auth\Users;
use app\model\auth\UsersLog;
use xin\helper\Server;
use xin\helper\Time;
class UsersLogService{
@@ -23,6 +24,17 @@ class UsersLogService{
public function getUserLogList($request){
$param = $request->param();
$map = [];
if(isset($param['date_type']) && $param['date_type']){
$time = Time::today();
if($param['date_type'] == 'seven'){
$time = Time::dayToNow(7);
}elseif($param['date_type'] == 'yesterday'){
$time = Time::yesterday(7);
}elseif($param['date_type'] == 'week'){
$time = Time::week(7);
}
$map[] = ['create_time', 'BETWEEN TIME', $time];
}
if(isset($param['method']) && $param['method']){
$map[] = ['method', '=', strtoupper($param['method'])];
}
@@ -34,6 +46,38 @@ class UsersLogService{
return $list;
}
/**
* @title 获取用户操作日志
*
* @param [type] $request
* @return void
*/
public function getMyLogList($request){
$param = $request->param();
$map = [];
$map[] = ['uid', '=', $request->user['uid']];
if(isset($param['method']) && $param['method']){
$map[] = ['method', '=', strtoupper($param['method'])];
}
if(isset($param['date_type']) && $param['date_type']){
$time = Time::today();
if($param['date_type'] == 'seven'){
$time = Time::dayToNow(7);
}elseif($param['date_type'] == 'yesterday'){
$time = Time::yesterday(7);
}elseif($param['date_type'] == 'week'){
$time = Time::week(7);
}
$map[] = ['create_time', 'BETWEEN TIME', $time];
}
if(isset($param['date']) && $param['date'] && count($param['date']) == 2){
$map[] = ['create_time', 'BETWEEN TIME', $param['date']];
}
$list = UsersLog::with(['user'])->where($map)->order('create_time desc')->paginate($request->pageConfig);
return $list;
}
/**
* @title 用户操作记录
*
@@ -47,11 +91,12 @@ class UsersLogService{
if(!isset($request->user['uid'])){
return false;
}
$param = strlen(json_encode($param)) > 1000 ? 'param to loog' : json_encode($param);
$data = [
'uid' => isset($request->user['uid']) ? $request->user['uid'] : '',
'title' => self::getCurrentTitle($request),
'route' => $request->baseUrl(),
'params' => json_encode($param),
'params' => $param,
'method' => $request->method(),
'client_ip' => Server::getRemoteIp(),
'browser' => $request->header('user-agent'),