UploadFile.php 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | 萤火商城系统 [ 致力于通过产品和服务,帮助商家高效化开拓市场 ]
  4. // +----------------------------------------------------------------------
  5. // | Copyright (c) 2017~2024 https://www.yiovo.com All rights reserved.
  6. // +----------------------------------------------------------------------
  7. // | Licensed 这不是一个自由软件,不允许对程序代码以任何形式任何目的的再发行
  8. // +----------------------------------------------------------------------
  9. // | Author: 萤火科技 <admin@yiovo.com>
  10. // +----------------------------------------------------------------------
  11. declare (strict_types=1);
  12. namespace app\api\model;
  13. use app\common\model\UploadFile as UploadFileModel;
  14. /**
  15. * 文件库模型
  16. * Class UploadFile
  17. * @package app\api\model
  18. */
  19. class UploadFile extends UploadFileModel
  20. {
  21. /**
  22. * 隐藏字段
  23. * @var array
  24. */
  25. protected $hidden = [
  26. 'file_path',
  27. 'file_name',
  28. 'group_id',
  29. 'channel',
  30. 'storage',
  31. 'domain',
  32. 'file_size',
  33. 'file_ext',
  34. 'cover',
  35. 'uploader_id',
  36. 'is_recycle',
  37. 'is_delete',
  38. 'store_id',
  39. 'create_time',
  40. 'update_time',
  41. ];
  42. /**
  43. * 添加新记录
  44. * @param array $data 文件信息
  45. * @param int $fileType 文件类型
  46. * @param int $userId 用户ID
  47. * @return bool
  48. */
  49. public function add(array $data, int $fileType, int $userId): bool
  50. {
  51. return $this->save([
  52. 'channel' => 20,
  53. 'storage' => $data['storage'],
  54. 'domain' => $data['domain'],
  55. 'file_name' => $data['file_name'],
  56. 'file_path' => $data['file_path'],
  57. 'file_size' => $data['file_size'],
  58. 'file_ext' => $data['file_ext'],
  59. 'file_type' => $fileType,
  60. 'uploader_id' => $userId,
  61. 'store_id' => self::$storeId
  62. ]);
  63. }
  64. /**
  65. * 设置上传者用户ID
  66. * @param int $fileId 文件ID
  67. * @param int $userId 上传者用户ID
  68. * @return bool
  69. */
  70. public static function setUploaderId(int $fileId, int $userId): bool
  71. {
  72. $model = static::detail($fileId);
  73. if (empty($model) || $model['uploader_id'] > 0) {
  74. return false;
  75. }
  76. return $model->save(['uploader_id' => $userId]);
  77. }
  78. }