更新
This commit is contained in:
@@ -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]);
|
||||
|
||||
Reference in New Issue
Block a user