添加操作日志列表查询接口
parent
655c9ba04f
commit
b9ea4698c9
|
|
@ -0,0 +1,20 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers;
|
||||||
|
|
||||||
|
use App\Helpers\Paginator;
|
||||||
|
use App\Models\OperationLog;
|
||||||
|
use App\Http\Resources\OperationLogResource;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
|
||||||
|
class OperationLogController extends Controller
|
||||||
|
{
|
||||||
|
public function index(Request $request)
|
||||||
|
{
|
||||||
|
$query = OperationLog::filter($request->all())->orderBy('created_at', 'desc');
|
||||||
|
|
||||||
|
$list = $query->paginate(Paginator::resolvePerPage('per_page', 20, 50));
|
||||||
|
|
||||||
|
return $this->json(OperationLogResource::collection($list));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,26 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Resources;
|
||||||
|
|
||||||
|
use Illuminate\Http\Resources\Json\JsonResource;
|
||||||
|
|
||||||
|
class OperationLogResource extends JsonResource
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Transform the resource into an array.
|
||||||
|
*
|
||||||
|
* @param \Illuminate\Http\Request $request
|
||||||
|
* @return array|\Illuminate\Contracts\Support\Arrayable|\JsonSerializable
|
||||||
|
*/
|
||||||
|
public function toArray($request)
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
'id' => $this->id,
|
||||||
|
'user_name' => $this->user_name,
|
||||||
|
'type' => $this->type,
|
||||||
|
'message' => $this->message,
|
||||||
|
'input_data' => $this->input_data,
|
||||||
|
'created_at' => strtotime($this->created_at) ?? 0, //录入时间
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,16 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\ModelFilters;
|
||||||
|
|
||||||
|
use EloquentFilter\ModelFilter;
|
||||||
|
|
||||||
|
class OperationLogFilter extends ModelFilter
|
||||||
|
{
|
||||||
|
public function type($type){
|
||||||
|
return $this->where('type', $type);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function user($user){
|
||||||
|
return $this->where('user_id', $user);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -5,10 +5,11 @@ namespace App\Models;
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||||
use Illuminate\Database\Eloquent\Model;
|
use Illuminate\Database\Eloquent\Model;
|
||||||
use App\Enums\OperationType;
|
use App\Enums\OperationType;
|
||||||
|
use EloquentFilter\Filterable;
|
||||||
|
|
||||||
class OperationLog extends Model
|
class OperationLog extends Model
|
||||||
{
|
{
|
||||||
use HasFactory;
|
use HasFactory, Filterable;
|
||||||
|
|
||||||
protected $casts = [
|
protected $casts = [
|
||||||
'type' => OperationType::class,
|
'type' => OperationType::class,
|
||||||
|
|
|
||||||
|
|
@ -59,6 +59,9 @@ Route::group(['middleware' => 'auth:sanctum'], function () {
|
||||||
//友情链接
|
//友情链接
|
||||||
Route::apiResource('friend-links', FriendLinkController::class)->only(['index'])->names('friend_links');
|
Route::apiResource('friend-links', FriendLinkController::class)->only(['index'])->names('friend_links');
|
||||||
|
|
||||||
|
//操作日志
|
||||||
|
Route::apiResource('operation-logs', OperationLogController::class)->only(['index'])->names('operation_logs');
|
||||||
|
|
||||||
/**统计 **/
|
/**统计 **/
|
||||||
Route::get('crop-yield-quarter-statics', [CropYieldController::class, 'quarterStaticsChart']); //季度统计
|
Route::get('crop-yield-quarter-statics', [CropYieldController::class, 'quarterStaticsChart']); //季度统计
|
||||||
Route::get('crop-yield-category-statics', [CropYieldController::class, 'categoryStaticsChart']); //行业统计产值
|
Route::get('crop-yield-category-statics', [CropYieldController::class, 'categoryStaticsChart']); //行业统计产值
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue