Commit 3e213fd2 3e213fd27a190ee1094ad44c29c2d6af35a1049e by lemon

文件上传

1 parent a75196cb
...@@ -7,11 +7,13 @@ use App\Helper\ErrorCode; ...@@ -7,11 +7,13 @@ use App\Helper\ErrorCode;
7 use App\Helper\RedisClient; 7 use App\Helper\RedisClient;
8 use App\Helper\Response; 8 use App\Helper\Response;
9 use App\Models\Legal\Contract; 9 use App\Models\Legal\Contract;
10 use App\Models\Legal\FileMap;
10 use App\Models\Legal\PropertyFileType; 11 use App\Models\Legal\PropertyFileType;
11 use App\Models\Legal\PropertyShare; 12 use App\Models\Legal\PropertyShare;
12 use App\Models\Legal\PropertyShareVerification; 13 use App\Models\Legal\PropertyShareVerification;
13 use App\Models\Legal\PropertyTrack; 14 use App\Models\Legal\PropertyTrack;
14 use App\Models\Legal\PropertyTrackFile; 15 use App\Models\Legal\PropertyTrackFile;
16 use App\Models\Legal\PropertyTrackFileType;
15 use App\Models\Legal\StakeholderContract; 17 use App\Models\Legal\StakeholderContract;
16 use App\Models\Legal\Treaty; 18 use App\Models\Legal\Treaty;
17 use App\Models\Legal\User; 19 use App\Models\Legal\User;
...@@ -20,6 +22,8 @@ use App\Models\Musician\AppCompanyUser; ...@@ -20,6 +22,8 @@ use App\Models\Musician\AppCompanyUser;
20 use Carbon\Carbon; 22 use Carbon\Carbon;
21 use Illuminate\Database\Eloquent\Builder; 23 use Illuminate\Database\Eloquent\Builder;
22 use Illuminate\Http\Request; 24 use Illuminate\Http\Request;
25 use Illuminate\Support\Facades\DB;
26 use Illuminate\Support\Facades\Log;
23 use Qcloud\Cos\Client; 27 use Qcloud\Cos\Client;
24 28
25 /** 29 /**
...@@ -238,4 +242,68 @@ class PropertyTrackService extends Service ...@@ -238,4 +242,68 @@ class PropertyTrackService extends Service
238 $res = PropertyFileType::query()->where(['type'=>'track', 'visible'=>1])->orderBy('id')->get(); 242 $res = PropertyFileType::query()->where(['type'=>'track', 'visible'=>1])->orderBy('id')->get();
239 return Response::success($res); 243 return Response::success($res);
240 } 244 }
245
246 /**
247 * 歌曲文件存储
248 * @return \Illuminate\Http\JsonResponse|mixed
249 */
250 public function fileSave()
251 {
252 try {
253
254 $fileTypes = $this->request->input('file_types');
255
256 DB::transaction(function () use ($fileTypes){
257
258 $upload_user = '';
259 if ($this->request->input('from') == 1) {
260 $upload_user = $this->request->get('identifier')->user_id;
261 }
262
263 //property_track_files
264 $res = PropertyTrackFile::query()->create([
265 'pt_id' => $this->request->get('track_id'),
266 'name' => $this->request->input('name'),
267 'size_byte' => $this->request->input('size'),
268 'upload_user' => $upload_user,
269 'upload_ip' => $this->request->input('upload_ip'), //上传客户端ip
270 'from' => $this->request->input('from'), // 0:版权 1:分贝登录用户 2:通过分享
271 ]);
272
273 $data = [];
274 foreach ($fileTypes as $tpye_id) {
275 $data[] = [
276 'pt_id' => $this->request->input('track_id'),
277 'p_file_id' => $res->id,
278 'p_type_id' => $tpye_id,
279 'created_at'=> $this->now,
280 ];
281 }
282
283 //property_track_file_types
284 PropertyTrackFileType::query()->insert($data);
285
286 //file_maps
287 FileMap::query()->create([
288 'user_id' => $this->request->get('identifier') ? $this->request->get('identifier')->user_id : 0,
289 'company_id' => $this->request->get('identifier') ? $this->request->get('identifier')->company_id : 0,
290 'name' => $this->request->input('name'),
291 'path' => $this->request->input('dir'),
292 'location' => $this->request->input('location'),
293 'key' => $this->request->input('url'),
294 'mime' => $this->request->input('mime'),
295 'size' => $this->request->input('size'),
296 'link' => 'property',
297 'link_id' => $res->id,
298 ]);
299 });
300
301 return Response::success();
302 } catch (\Throwable $throwable) {
303 Log::info(__METHOD__, ['msg'=>$throwable->getMessage()]);
304 return Response::error();
305 }
306
307 }
308
241 } 309 }
......
...@@ -32,7 +32,8 @@ Route::group(["prefix"=>"property"], function (){ ...@@ -32,7 +32,8 @@ Route::group(["prefix"=>"property"], function (){
32 Route::group(["prefix"=>"property", "middleware"=>['auth.share']], function (){ 32 Route::group(["prefix"=>"property", "middleware"=>['auth.share']], function (){
33 Route::get('/track/shareShow', 'PropertyTrackController@shareShow'); 33 Route::get('/track/shareShow', 'PropertyTrackController@shareShow');
34 Route::get('/track/shareFile', 'PropertyTrackController@shareFile'); 34 Route::get('/track/shareFile', 'PropertyTrackController@shareFile');
35 35 Route::get('/track/getCosToken', 'PropertyTrackController@getCosToken');
36 Route::post('/track/fileSave', 'PropertyTrackController@fileSave');
36 }); 37 });
37 38
38 39
......