feat: 共享给所有人

This commit is contained in:
kuaifan
2021-12-29 13:08:30 +08:00
parent 2b0467e00f
commit 4d8cf41b7a
5 changed files with 63 additions and 28 deletions

View File

@@ -8,12 +8,10 @@ use App\Models\File;
use App\Models\FileContent;
use App\Models\FileUser;
use App\Models\User;
use App\Models\WebSocket;
use App\Module\Base;
use App\Module\Ihttp;
use Arr;
use Illuminate\Support\Facades\DB;
use Request;
use Response;
/**
* @apiDefine file
@@ -56,10 +54,17 @@ class FileController extends AbstractController
}
} else {
// 获取共享相关
$list = File::select(['files.*', 'file_users.permission'])
DB::statement("SET SQL_MODE=''");
$pre = DB::connection()->getTablePrefix();
$list = File::select(["files.*", DB::raw("MAX({$pre}file_users.permission) as permission")])
->join('file_users', 'files.id', '=', 'file_users.file_id')
->where('files.userid', '!=', $user->userid)
->where('file_users.userid', $user->userid)
->where(function ($query) use ($user) {
$query->where('file_users.userid', 0);
$query->orWhere('file_users.userid', $user->userid);
})
->groupBy('files.id')
->take(100)
->get();
if ($list->isNotEmpty()) {
foreach ($list as $file) {
@@ -556,7 +561,6 @@ class FileController extends AbstractController
// 取消共享
$action = "delete";
foreach ($userids as $userid) {
if (!intval($userid)) continue;
if (FileUser::where([
'file_id' => $file->id,
'userid' => $userid,
@@ -571,8 +575,6 @@ class FileController extends AbstractController
return Base::retError('共享人数上限100个成员');
}
foreach ($userids as $userid) {
if (!intval($userid)) continue;
if (!User::whereUserid($userid)->exists()) continue;
if (FileUser::updateInsert([
'file_id' => $file->id,
'userid' => $userid,