Commit af4b5f2b af4b5f2b047a81911a70e083f0854d153029dcf7 by lemon

处理数据

2 parents f49e83f5 82af5d3c
...@@ -48,4 +48,13 @@ class IssueController extends Controller ...@@ -48,4 +48,13 @@ class IssueController extends Controller
48 return $this->issueService->subCompany(); 48 return $this->issueService->subCompany();
49 } 49 }
50 50
51 /**
52 * 最新发行记录
53 * @return \Illuminate\Http\JsonResponse
54 */
55 public function latestOnlineRecord()
56 {
57 return $this->issueService->latestOnlineRecord();
58 }
59
51 } 60 }
......
1 <?php
2
3
4 namespace App\Models\Legal;
5
6
7 use App\Models\BaseModel;
8 use Illuminate\Database\Eloquent\SoftDeletes;
9
10 class SongsApply extends BaseModel
11 {
12 use SoftDeletes;
13
14 /**
15 * @var string
16 */
17 protected $table = 'songs_apply';
18
19 /**
20 * @var array
21 */
22 public $guarded = [];
23
24 /**
25 * @var string[]
26 */
27 public $hidden = ['album_id'];
28
29 /**
30 * @return \Illuminate\Database\Eloquent\Relations\BelongsTo
31 */
32 public function songs_album()
33 {
34 return $this->belongsTo(SongsIssueAlbum::class, 'album_id', 'id');
35 }
36 }
1 <?php
2
3
4 namespace App\Models\Legal;
5
6 use App\Models\BaseModel;
7 use Illuminate\Database\Eloquent\SoftDeletes;
8
9 class SongsIssueAlbum extends BaseModel
10 {
11 use SoftDeletes;
12
13 protected $table = 'songs_issue_album';
14
15 public $guarded = [];
16
17
18 /**
19 * 关联封面
20 * @return \Illuminate\Database\Eloquent\Relations\HasOne
21 */
22 public function cover()
23 {
24 return $this->hasOne(FileMap::class, 'id','cover_map_id');
25 }
26 }
...@@ -3,8 +3,10 @@ ...@@ -3,8 +3,10 @@
3 namespace App\Services; 3 namespace App\Services;
4 4
5 use App\Helper\AesEncrypt; 5 use App\Helper\AesEncrypt;
6 use App\Helper\CosHelper;
6 use App\Helper\ErrorCode; 7 use App\Helper\ErrorCode;
7 use App\Helper\Response; 8 use App\Helper\Response;
9 use App\Models\Legal\SongsApply;
8 use App\Models\Legal\Stakeholder; 10 use App\Models\Legal\Stakeholder;
9 use App\Models\Legal\Subject; 11 use App\Models\Legal\Subject;
10 use Illuminate\Support\Facades\Log; 12 use Illuminate\Support\Facades\Log;
...@@ -69,7 +71,30 @@ class IssueService extends Service ...@@ -69,7 +71,30 @@ class IssueService extends Service
69 ->get(['no as value', 'name']); 71 ->get(['no as value', 'name']);
70 72
71 return Response::success($subject); 73 return Response::success($subject);
74 }
75
76 /**
77 * 发行(上架成功记录)
78 * @return \Illuminate\Http\JsonResponse
79 */
80 public function latestOnlineRecord()
81 {
82 $res = SongsApply::query()->where(['from'=>1, 'user_id'=>$this->request->get('identifier')->company_id])
83 ->whereNotNull('qy_url')->with(['songs_album:id,cover_map_id', 'songs_album.cover:id,link_id,key'])
84 ->select(['name','album_id','singer','online_time','qy_url'])->orderByDesc('online_time')
85 ->paginate($this->pageSize);
86
87 $cos = new CosHelper(env('MATERIAL_BUCKET'));
88
89 foreach ($res as &$item) {
90 if (!empty($item->songs_album->cover)) {
91 $item->cover = $cos->getPreviewUrl($item->songs_album->cover->key);
92 }
93 unset($item->songs_album);
94 $item->singer = explode(',', $item->singer);
95 }
72 96
97 return Response::success($res);
73 } 98 }
74 99
75 100
......
...@@ -53,7 +53,8 @@ Route::group([], function (){ ...@@ -53,7 +53,8 @@ Route::group([], function (){
53 //发行 53 //发行
54 Route::group(["prefix"=>"issue"], function (){ 54 Route::group(["prefix"=>"issue"], function (){
55 Route::post('/album/subCompany', 'IssueController@subCompany'); 55 Route::post('/album/subCompany', 'IssueController@subCompany');
56 Route::any('{uri}', 'IssueController@index')->where(['uri'=>'.*+']); 56 Route::get('/song/latestOnlineRecord', 'IssueController@latestOnlineRecord');
57 Route::post('{uri}', 'IssueController@index')->where(['uri'=>'.*+']);
57 }); 58 });
58 59
59 //api-v2 60 //api-v2
......