This commit is contained in:
Your Name
2026-03-23 18:02:16 +08:00
parent 18fee2e8f8
commit 250d173c2f
525 changed files with 10659 additions and 793 deletions
+23 -4
View File
@@ -15,6 +15,7 @@
namespace app\adminapi\logic;
use app\common\enum\FileEnum;
use app\common\logic\BaseLogic;
use app\common\model\file\File;
use app\common\model\file\FileCate;
@@ -36,7 +37,10 @@ class FileLogic extends BaseLogic
*/
public static function move($params)
{
$adminId = (int)(request()->adminId ?? 0);
(new File())->whereIn('id', $params['ids'])
->where('source', FileEnum::SOURCE_ADMIN)
->where('source_id', $adminId)
->update([
'cid' => $params['cid'],
'update_time' => time()
@@ -51,7 +55,10 @@ class FileLogic extends BaseLogic
*/
public static function rename($params)
{
$adminId = (int)(request()->adminId ?? 0);
(new File())->where('id', $params['id'])
->where('source', FileEnum::SOURCE_ADMIN)
->where('source_id', $adminId)
->update([
'name' => $params['name'],
'update_time' => time()
@@ -66,7 +73,15 @@ class FileLogic extends BaseLogic
*/
public static function delete($params)
{
$result = File::whereIn('id', $params['ids'])->select();
$adminId = (int)(request()->adminId ?? 0);
$result = File::whereIn('id', $params['ids'])
->where('source', FileEnum::SOURCE_ADMIN)
->where('source_id', $adminId)
->select();
$ids = $result->column('id');
if (empty($ids)) {
return;
}
$StorageDriver = new StorageDriver([
'default' => ConfigService::get('storage', 'default', 'local'),
'engine' => ConfigService::get('storage') ?? ['local'=>[]],
@@ -74,7 +89,7 @@ class FileLogic extends BaseLogic
foreach ($result as $item) {
$StorageDriver->delete($item['uri']);
}
File::destroy($params['ids']);
File::destroy($ids);
}
/**
@@ -123,8 +138,12 @@ class FileLogic extends BaseLogic
// 删除分类及子分类
$cateModel->whereIn('id', $cateIds)->update(['delete_time' => time()]);
// 删除文件
$fileIds = $fileModel->whereIn('cid', $cateIds)->column('id');
// 删除文件(仅当前管理员在该分类下的素材)
$adminId = (int)(request()->adminId ?? 0);
$fileIds = $fileModel->whereIn('cid', $cateIds)
->where('source', FileEnum::SOURCE_ADMIN)
->where('source_id', $adminId)
->column('id');
if (!empty($fileIds)) {
self::delete(['ids' => $fileIds]);