$oper_type
$oper_type : int[]
操作类型
$oper_type : int[]
操作类型
OperSuccess( $param, $options, string $oper_type = 'O', $json_result) : mixed
操作成功日志
$param | 请求参数 |
|
$options | 自定义参数 |
|
string | $oper_type | 操作类型 |
$json_result | 返回参数 |
OperError( $param, $options, string $oper_type = 'O', $json_result, $error_msg = '') : mixed
操作失败日志
$param | 请求参数 |
|
$options | 自定义参数 |
|
string | $oper_type | 操作类型 |
$json_result | 返回参数 |
|
$error_msg | 错误消息 |
<?php
namespace app\common\controller;
use app\api\model\SysOperLog;
use think\Db;
use think\db\exception\DataNotFoundException;
use think\db\exception\ModelNotFoundException;
use think\exception\DbException;
class OperationLog
{
/**
* 操作类型
* @var int[]
*/
protected static $oper_type = [
'O' => 0,
'C' => 1,
'D' => 2,
'U' => 3,
'R' => 4
];
/**
* 操作成功日志
* @param $param 请求参数
* @param $options 自定义参数
* @param string $oper_type 操作类型
* @param $json_result 返回参数
* @throws DataNotFoundException
* @throws ModelNotFoundException
* @throws DbException
*/
public static function OperSuccess($param, $options, $oper_type = 'O', $json_result)
{
// 通过token查询用户名
if (empty($options['token'])) {
$findOperNameRes = '';
} else {
$findOperNameRes = Db::name('admin')
->where('token', '=', $options['token'])
->field('username')
->find();
}
// 模块标题
$sysOperInfo['title'] = $options['title'];
// 业务类型
$sysOperInfo['type'] = self::$oper_type[$oper_type];
// 方法名称
$sysOperInfo['method'] = $options['method'];
// 请求方式
$sysOperInfo['request_method'] = $options['request_method'];
// 操作人员
$sysOperInfo['oper_name'] = empty($findOperNameRes) ? '公共人员' : $findOperNameRes['username'];
// 请求URL
$sysOperInfo['open_url'] = $options['open_url'];
// 主机地址
$sysOperInfo['oper_ip'] = $options['oper_ip'];
// 操作地点
$sysOperInfo['oper_location'] = Util::get_location_by_ip($options['oper_ip']);
// 请求参数
$sysOperInfo['oper_param'] = json_encode($param);
// 返回参数
$sysOperInfo['json_result'] = json_encode($json_result);
// 操作状态
$sysOperInfo['status'] = 0;
// 错误消息
$sysOperInfo['error_msg'] = '';
// 操作时间
$sysOperInfo['oper_time'] = time();
$sysOperLog = new SysOperLog();
$sysOperLog->save($sysOperInfo);
}
/**
* 操作失败日志
* @param $param 请求参数
* @param $options 自定义参数
* @param string $oper_type 操作类型
* @param $json_result 返回参数
* @param $error_msg 错误消息
* @throws DataNotFoundException
* @throws ModelNotFoundException
* @throws DbException
*/
public static function OperError($param, $options, $oper_type = 'O', $json_result, $error_msg = '')
{
// 通过token查询用户名
if (empty($options['token'])) {
$findOperNameRes = '';
} else {
$findOperNameRes = Db::name('admin')
->where('token', '=', $options['token'])
->field('username')
->find();
}
// 模块标题
$sysOperInfo['title'] = $options['title'];
// 业务类型
$sysOperInfo['type'] = self::$oper_type[$oper_type];
// 方法名称
$sysOperInfo['method'] = $options['method'];
// 请求方式
$sysOperInfo['request_method'] = $options['request_method'];
// 操作人员
$sysOperInfo['oper_name'] = empty($findOperNameRes) ? '公共人员' : $findOperNameRes['username'];
// 请求URL
$sysOperInfo['open_url'] = $options['open_url'];
// 主机地址
$sysOperInfo['oper_ip'] = $options['oper_ip'];
// 操作地点
$sysOperInfo['oper_location'] = Util::get_location_by_ip($options['oper_ip']);
// 请求参数
$sysOperInfo['oper_param'] = json_encode($param);
// 返回参数
$sysOperInfo['json_result'] = json_encode($json_result);
// 操作状态
$sysOperInfo['status'] = 1;
// 错误消息
$sysOperInfo['error_msg'] = $error_msg;
// 操作时间
$sysOperInfo['oper_time'] = time();
$sysOperLog = new SysOperLog();
$sysOperLog->save($sysOperInfo);
}
}