Browse Source

文档report信息

kely 9 months ago
parent
commit
2d438fdfaa

+ 23 - 0
app/Http/Controllers/API/ContainerController.php

@@ -14,11 +14,13 @@ use App\Models\Enums\FileObjectType;
 use App\Models\Enums\ObjectAction;
 use App\Models\File;
 use App\Models\Folder;
+use App\Models\Library;
 use App\Repositories\ActionRepository;
 use App\Repositories\CustomFieldRepository;
 use App\Services\File\FileAssociationService;
 use App\Services\File\ImageUrlService;
 use App\Services\History\ModelChangeDetector;
+use Carbon\Carbon;
 use Illuminate\Http\Request;
 use Illuminate\Support\Facades\Auth;
 
@@ -249,4 +251,25 @@ class ContainerController extends Controller
         return $this->noContent();
 
     }
+    public function containerReport(){
+
+        $companyId=Auth::user()->company_id;
+        $librarys=Library::query()->where('company_id',$companyId)->withCount('container') ->get(['id', 'name', 'created_at', 'updated_at', 'container_count as container_count']);
+        $libraryCount=$librarys->count();
+        $containerCount = $librarys->sum('container_count');
+
+        $MyLibrarys=Library::query()->allowed()->orderBy('updated_at', 'desc')->get(['id', 'name', 'created_at', 'updated_at']);
+        $MyContainers = Container::query()->allowed()->orderBy('updated_at', 'desc')->get( ['id', 'name', 'created_at', 'updated_at']);
+
+        return $this->success([
+            'data' =>[
+                'libraryCount'=>$libraryCount,
+                'containerCount'=>$containerCount,
+                'MyLibrarysCount'=>$MyLibrarys->count(),
+                'MyContainersCount'=>$MyContainers->count(),
+                'MyContainers'=>$MyContainers,
+                'MyLibrarys'=>$MyLibrarys
+            ]
+        ]);
+    }
 }

+ 2 - 0
app/Models/Container.php

@@ -23,6 +23,8 @@ class Container extends Model
     protected $casts = [
         'mailto' => 'array',
         'naming_rules' => 'array',
+        'created_at' => 'datetime:Y-m-d H:i:s',
+        'updated_at' => 'datetime:Y-m-d H:i:s',
     ];
 
     protected static function booted(): void

+ 5 - 0
app/Models/Library.php

@@ -21,6 +21,11 @@ class Library extends Model
         'id'
     ];
 
+    protected $casts = [
+        'created_at' => 'datetime:Y-m-d H:i:s',
+        'updated_at' => 'datetime:Y-m-d H:i:s',
+    ];
+
     protected static function booted(): void
     {
         static::addGlobalScope(new CompanyScope);

+ 1 - 0
routes/api.php

@@ -190,6 +190,7 @@ Route::middleware(['auth:sanctum'])->group(function () {
 
         Route::get("container-linkage/{library_id}", [API\ContainerController::class, "linkage"])->name("container.linkage");
         Route::get("container-attachments", [API\ContainerController::class, "attachments"])->name("container.attachments");
+        Route::get("container-report", [API\ContainerController::class, "containerReport"])->name("container.report");
 
         Route::post("share-file", [API\ShareFileController::class, "store"])->name("share-file.store");
         Route::delete("share-file/{share_file}", [API\ShareFileController::class, "destroy"])