123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 |
- <?php
- namespace App\Http\Controllers\Admin\Base;
- use App\Http\Controllers\Controller;
- use App\Repositories\Enums\ResponseCodeEnum;
- use App\Repositories\Models\Base\AppLog;
- use App\Services\Base\LogService;
- use App\Services\Base\ResourceService;
- use Illuminate\Http\Request;
- /**
- * 日志
- */
- class LogController extends Controller
- {
- /**
- * @var LogService
- */
- private $logService;
- private $resourceService;
- /**
- * LogController constructor.
- *
- * @param LogService $logService
- */
- public function __construct(LogService $logService, ResourceService $resourceService)
- {
- parent::__construct();
- // $this->middleware('checkUserPermission');
- $this->logService = $logService;
- $this->resourceService = $resourceService;
- }
- /**
- * 列表
- * @param Request $request
- *
- * @return \Illuminate\Http\JsonResponse|\Illuminate\Http\Resources\Json\JsonResource
- * @throws \Prettus\Repository\Exceptions\RepositoryException
- */
- public function index(Request $request)
- {
- $logs = $this->logService->handleList($request);
- return $this->response->success($logs);
- }
- /**
- * 详情
- * @param int $id
- * @return \Illuminate\Http\JsonResponse|\Illuminate\Http\Resources\Json\JsonResource
- */
- public function show(Request $request)
- {
- $this->validate($request, ['id' => 'required|integer']);
- $log = $this->logService->handleProfile($request->get('id'));
- return $this->response->success($log);
- }
- /**
- * 上传用户日志
- * @param Request $request
- * @return \Illuminate\Http\JsonResponse|\Illuminate\Http\Resources\Json\JsonResource
- * @throws \Illuminate\Validation\ValidationException
- */
- public function appUploadLog(Request $request)
- {
- $this->validate($request, [
- 'file' => 'required|file',
- 'data' => 'nullable'
- ], [], [
- 'file' => '文件',
- 'data' => '数据',
- ]);
- $file = $request->file('file');
- if (!$file->isFile()) {
- return $this->response->fail('请上传一个文件', ResponseCodeEnum::CLIENT_VALIDATION_ERROR);
- }
- $config = ['log'];
- if (!is_array($config)) {
- abort(ResponseCodeEnum::SYSTEM_CONFIG_ERROR, '系统文件配置错误');
- }
- if (!in_array(strtolower($file->getClientOriginalExtension()), $config)) {
- return $this->response->fail('文件类型不合法', ResponseCodeEnum::CLIENT_VALIDATION_ERROR);
- }
- $admin_id = login_admin_id() ? login_admin_id() : $request->get('user_id', 0);
- $day = date('Y-m-d');
- $fileData = $this->logService->handleUpload($request, "/logs/{$admin_id}", 'public');
- if (!$fileData) {
- return $this->response->fail('上传文件失败', ResponseCodeEnum::SYSTEM_ERROR);
- }
- AppLog::query()->create(['day' => $day, 'log' => $fileData, 'admin_id' => $admin_id, 'params' => $request->except(['file'])]);
- return $this->response->success(['status' => 1]);
- }
- }
|