ソースを参照

上传文件管理

gorden 1 年間 前
コミット
926b6f651b

+ 20 - 29
app/admin/controller/UploadFileController.php → app/admin/controller/sys_manage/UploadController.php

@@ -1,36 +1,13 @@
 <?php
 
-namespace app\admin\controller;
+namespace app\admin\controller\sys_manage;
 
 
-use support\Storage;
+use app\admin\service\sys_manage\UploadService;
+use support\Request;
 
-class UploadFileController
+class UploadController
 {
-    /**
-     * @Desc 上传文件
-     * @Author Gorden
-     * @Date 2024/2/26 13:22
-     *
-     * @return \support\Response
-     */
-    public function upload($config)
-    {
-        try {
-            $res = Storage::uploadFile($config);
-            $data = [
-                'url' => $res[0]['url'],
-                'path' => $config['uri'] . date('Ymd') . '/' . $res[0]['save_name'],
-                'size' => $res[0]['size'],
-                'mime_type' => $res[0]['mime_type'],
-            ];
-        } catch (\Exception $e) {
-            return json_fail('上传失败:' . $e->getMessage());
-        }
-
-        return json_success('上传成功', $data);
-    }
-
     /**
      * @Desc 上传图片
      * @Author Gorden
@@ -48,7 +25,7 @@ class UploadFileController
             'root' => public_path() . '/storage/images/',
         ];
 
-        return $this->upload($config);
+        return UploadService::upload($config);
     }
 
     /**
@@ -68,6 +45,20 @@ class UploadFileController
             'root' => public_path() . '/storage/videos/',
         ];
 
-        return $this->upload($config);
+        return UploadService::upload($config);
+    }
+
+    /**
+     * @Desc 修改文件状态
+     * @Author Gorden
+     * @Date 2024/3/7 9:32
+     *
+     * @param $id
+     * @param Request $request
+     * @return \support\Response
+     */
+    public function updateStatus($id, Request $request)
+    {
+        return UploadService::updateStatus($id, $request->post());
     }
 }

+ 64 - 0
app/admin/service/sys_manage/UploadService.php

@@ -0,0 +1,64 @@
+<?php
+
+namespace app\admin\service\sys_manage;
+
+use app\model\SysUpload;
+use support\Storage;
+
+class UploadService
+{
+    /**
+     * @Desc 上传文件
+     * @Author Gorden
+     * @Date 2024/2/26 13:22
+     *
+     * @return \support\Response
+     */
+    public static function upload($config)
+    {
+        try {
+            $res = Storage::uploadFile($config);
+            $data = [
+                'url' => $res[0]['url'],
+                'path' => $config['uri'] . date('Ymd') . '/' . $res[0]['save_name'],
+                'size' => $res[0]['size'],
+                'mime_type' => $res[0]['mime_type'],
+            ];
+
+            $insertData = [
+                'upload_category' => '',
+                'upload_name' => $res[0]['origin_name'],
+                'upload_ext_name' => $res[0]['extension'],
+                'upload_file_path' => $data['path'],
+                'upload_file_name' => $res[0]['save_name'],
+                'upload_file_size' => round($data['size'] / 1024, 2),
+                'upload_addtimes' => time()
+            ];
+            SysUpload::insert($insertData);
+        } catch (\Exception $e) {
+            return json_fail('上传失败:' . $e->getMessage());
+        }
+
+        return json_success('上传成功', $data);
+    }
+
+    /**
+     * @Desc 修改文件状态
+     * @Author Gorden
+     * @Date 2024/3/7 9:29
+     *
+     * @param $id
+     * @param $params
+     * @return \support\Response
+     */
+    public static function updateStatus($id, $params)
+    {
+        try {
+            SysUpload::where('upload_id', $id)->update(['upload_status' => $params['upload_status']]);
+
+            return json_success('状态修改成功~');
+        } catch (\Exception $e) {
+            return json_fail('状态修改失败~');
+        }
+    }
+}

+ 18 - 0
app/model/SysUpload.php

@@ -0,0 +1,18 @@
+<?php
+
+namespace app\model;
+
+use support\Model;
+
+class SysUpload extends Model
+{
+    protected $table = 'sys_upload';
+
+    protected $primaryKey = 'upload_id';
+
+    protected $dateFormat = 'U';
+
+    const CREATED_AT = 'upload_addtimes';
+
+    const UPDATED_AT = null;
+}

+ 3 - 2
route/admin.php

@@ -4,8 +4,9 @@ use Webman\Route;
 
 Route::group('/admin', function () {
     Route::group('/upload', function () {
-        Route::post('/image', [\app\admin\controller\UploadFileController::class, 'image']);
-        Route::post('/video', [\app\admin\controller\UploadFileController::class, 'video']);
+        Route::post('/image', [\app\admin\controller\sys_manage\UploadController::class, 'image']);
+        Route::post('/video', [\app\admin\controller\sys_manage\UploadController::class, 'video']);
+        Route::post('/updateStatus/{id:\d+}', [\app\admin\controller\sys_manage\UploadController::class, 'updateStatus']);
     })->middleware([
         \app\middleware\AdminAuthCheck::class
     ]);