|
|
@ -12,22 +12,32 @@ class Resource extends Model |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
* 资源 素材 多对多 |
|
|
|
|
|
|
|
|
* 资源 普通素材 一对多 |
|
|
*/ |
|
|
*/ |
|
|
public function files() |
|
|
public function files() |
|
|
{ |
|
|
{ |
|
|
return $this->belongsToMany(File::class, ResourceFile::class, 'file_id', 'resource_id'); |
|
|
|
|
|
|
|
|
return $this->hasMany(File::class, 'resource_id', 'id')->where('type', 1); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
* 资源 授权文件 一对多 |
|
|
|
|
|
|
|
|
* 资源 授权素材 一对多 |
|
|
*/ |
|
|
*/ |
|
|
public function accreditFiles() |
|
|
public function accreditFiles() |
|
|
{ |
|
|
{ |
|
|
return $this->hasMany(AccreditFile::class, 'resource_id', 'id'); |
|
|
|
|
|
|
|
|
return $this->hasMany(File::class, 'resource_id', 'id')->where('type', 2); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
|
|
|
* 资源 所有素材 |
|
|
|
|
|
*/ |
|
|
|
|
|
public function allFiles() |
|
|
|
|
|
{ |
|
|
|
|
|
return $this->hasMany(File::class, 'resource_id', 'id'); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
* @param $param 前端提交的参数 |
|
|
* @param $param 前端提交的参数 |
|
|
* @return array |
|
|
* @return array |
|
|
* 添加资源 |
|
|
* 添加资源 |
|
|
@ -37,9 +47,10 @@ class Resource extends Model |
|
|
try { |
|
|
try { |
|
|
//插入资源表
|
|
|
//插入资源表
|
|
|
$resource = self::create($param); |
|
|
$resource = self::create($param); |
|
|
|
|
|
|
|
|
//存在授权文件 插入授权文件表
|
|
|
//存在授权文件 插入授权文件表
|
|
|
if ($param['copyright_type'] == 2 && isset($param['accredit_files'])) { |
|
|
if ($param['copyright_type'] == 2 && isset($param['accredit_files'])) { |
|
|
$resource->accreditFiles()->saveAll($param['accredit_files']); |
|
|
|
|
|
|
|
|
(new File())->addAccreditFile($resource, $param['accredit_files']); |
|
|
} |
|
|
} |
|
|
//插入素材表
|
|
|
//插入素材表
|
|
|
(new File())->addFile($resource, $param['files'], $param['file_input_mode']); |
|
|
(new File())->addFile($resource, $param['files'], $param['file_input_mode']); |
|
|
@ -49,6 +60,7 @@ class Resource extends Model |
|
|
} catch (\Exception $e) { |
|
|
} catch (\Exception $e) { |
|
|
throw new ModelException($e->getMessage()); |
|
|
throw new ModelException($e->getMessage()); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
return dataReturn($this->sucCode, $this->addMsg, $resource->id); |
|
|
return dataReturn($this->sucCode, $this->addMsg, $resource->id); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@ -81,6 +93,7 @@ class Resource extends Model |
|
|
//移动到同文件夹 无需操作
|
|
|
//移动到同文件夹 无需操作
|
|
|
continue; |
|
|
continue; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
//1 更新原文件夹 以及所有父文件夹 大小和数量
|
|
|
//1 更新原文件夹 以及所有父文件夹 大小和数量
|
|
|
(new ResourceDir())->changeDirSizeAndCount($resource, $resource->parent_id, '-'); |
|
|
(new ResourceDir())->changeDirSizeAndCount($resource, $resource->parent_id, '-'); |
|
|
|
|
|
|
|
|
@ -93,6 +106,62 @@ class Resource extends Model |
|
|
} |
|
|
} |
|
|
return dataReturn($this->sucCode, $this->moveMsg); |
|
|
return dataReturn($this->sucCode, $this->moveMsg); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
* @param $ids 需要复制的资源ids |
|
|
|
|
|
* @param $to_id 文件夹id |
|
|
|
|
|
* @return array |
|
|
|
|
|
* 移动操作 |
|
|
|
|
|
*/ |
|
|
|
|
|
public function copyTo($ids, $to_id) |
|
|
|
|
|
{ |
|
|
|
|
|
foreach ($ids as $resource_id) { |
|
|
|
|
|
//复制需要 需要复制里面所有的素材
|
|
|
|
|
|
$resource = $this::with(['files', 'accredit_files'])->find($resource_id); |
|
|
|
|
|
|
|
|
|
|
|
//1.创建一个新资源
|
|
|
|
|
|
$this->copyResource($resource->toArray(), $to_id); |
|
|
|
|
|
|
|
|
|
|
|
//2 更新 新的文件夹 以及所有父文件夹 大小和数量
|
|
|
|
|
|
(new ResourceDir())->changeDirSizeAndCount($resource, $to_id, '+'); |
|
|
|
|
|
} |
|
|
|
|
|
return dataReturn($this->sucCode, $this->copyMsg); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
* @param $resource 资源数组(因为前台创建是数组 保持一致) |
|
|
|
|
|
* @param $to_id 复制到的文件夹id |
|
|
|
|
|
* @return array |
|
|
|
|
|
* 复制一个资源数据 |
|
|
|
|
|
*/ |
|
|
|
|
|
public function copyResource($resource, $to_id) |
|
|
|
|
|
{ |
|
|
|
|
|
//资源表字段更新
|
|
|
|
|
|
unset($resource['id']); |
|
|
|
|
|
$resource['create_time'] = date('Y-m-d H:i:s'); |
|
|
|
|
|
$resource['update_time'] = date('Y-m-d H:i:s'); |
|
|
|
|
|
$resource['parent_id'] = $to_id; |
|
|
|
|
|
|
|
|
|
|
|
//关联表去掉关联字段
|
|
|
|
|
|
if (isset($resource['files'])) { |
|
|
|
|
|
foreach ($resource['files'] as $key => $file) { |
|
|
|
|
|
unset($resource['files'][$key]['id']); |
|
|
|
|
|
unset($resource['files'][$key]['resource_id']); //去掉原来的关联关系
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if (isset($resource['accredit_files'])) { |
|
|
|
|
|
foreach ($resource['accredit_files'] as $key => $file) { |
|
|
|
|
|
unset($resource['accredit_files'][$key]['id']); |
|
|
|
|
|
unset($resource['accredit_files'][$key]['resource_id']); //去掉原来的关联关系
|
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
//重新创建资源
|
|
|
|
|
|
return $this->addResource($resource); |
|
|
|
|
|
} |
|
|
/** |
|
|
/** |
|
|
* @param $resource 资源对象 |
|
|
* @param $resource 资源对象 |
|
|
* @return array |
|
|
* @return array |
|
|
@ -103,7 +172,9 @@ class Resource extends Model |
|
|
$size = 0; |
|
|
$size = 0; |
|
|
$count = 0; |
|
|
$count = 0; |
|
|
foreach ($resource->files as $file) { |
|
|
foreach ($resource->files as $file) { |
|
|
|
|
|
if (isset($file['size'])) { |
|
|
$size += $file['size']; |
|
|
$size += $file['size']; |
|
|
|
|
|
} |
|
|
$count++; |
|
|
$count++; |
|
|
} |
|
|
} |
|
|
return [ |
|
|
return [ |
|
|
|