*
Showing
5 changed files
with
76 additions
and
40 deletions
app/Helper/CosHelper.php
0 → 100644
1 | <?php | ||
2 | |||
3 | |||
4 | namespace App\Helper; | ||
5 | |||
6 | |||
7 | use Illuminate\Support\Str; | ||
8 | use Qcloud\Cos\Client; | ||
9 | |||
10 | class CosHelper | ||
11 | { | ||
12 | protected $client; | ||
13 | protected $bucket; | ||
14 | |||
15 | public function __construct() | ||
16 | { | ||
17 | $secretId = env('COS_SECRET_ID'); //"云 API 密钥 SecretId"; | ||
18 | $secretKey = env('COS_SECRET_KEY'); //"云 API 密钥 SecretKey"; | ||
19 | $region = env('COS_REGION'); //设置一个默认的存储桶地域 | ||
20 | $cosClient = new Client( | ||
21 | array( | ||
22 | 'region' => $region, | ||
23 | 'schema' => 'https', //协议头部,默认为http | ||
24 | 'credentials'=> array( | ||
25 | 'secretId' => $secretId , | ||
26 | 'secretKey' => $secretKey))); | ||
27 | |||
28 | $this->client = $cosClient; | ||
29 | $this->bucket = env('COS_BUCKET'); | ||
30 | } | ||
31 | |||
32 | /** | ||
33 | * 预览文档 ———— 同步转换为html | ||
34 | * @param string $key | ||
35 | * @param int $expire | ||
36 | * @return string | ||
37 | */ | ||
38 | public function getPreviewUrl(string $key, int $expire = 10) : string | ||
39 | { | ||
40 | $url = $this->client->getObjectUrl($this->bucket, $key, "+{$expire}minutes"); | ||
41 | return $url; | ||
42 | // return $url . "ci-process=doc-preview&dstType=html"; | ||
43 | } | ||
44 | |||
45 | } |
... | @@ -2,10 +2,12 @@ | ... | @@ -2,10 +2,12 @@ |
2 | 2 | ||
3 | namespace App\Services; | 3 | namespace App\Services; |
4 | 4 | ||
5 | use App\Helper\CosHelper; | ||
5 | use App\Helper\Response; | 6 | use App\Helper\Response; |
6 | use App\Models\Legal\Contract; | 7 | use App\Models\Legal\Contract; |
7 | use App\Models\Legal\StakeholderContract; | 8 | use App\Models\Legal\StakeholderContract; |
8 | use App\Models\Legal\Treaty; | 9 | use App\Models\Legal\Treaty; |
10 | use Qcloud\Cos\Client; | ||
9 | 11 | ||
10 | /** | 12 | /** |
11 | * Class MusicianAgreementService | 13 | * Class MusicianAgreementService |
... | @@ -18,17 +20,24 @@ class MusicianAgreementService extends Service | ... | @@ -18,17 +20,24 @@ class MusicianAgreementService extends Service |
18 | */ | 20 | */ |
19 | public function treatyList() | 21 | public function treatyList() |
20 | { | 22 | { |
21 | $res = Treaty::query()->whereIn('party_b', $this->stakeholder_ids)->where('deadline_date', '>', $this->now)->with(['file:id,treaty_id,file_id', 'file.fileInfo:id,location']) | 23 | $res = Treaty::query()->whereIn('party_b', $this->stakeholder_ids)->where('deadline_date', '>', $this->now)->with(['file:id,treaty_id,file_id', 'file.fileInfo:id,key']) |
22 | ->select(['id', 'treaty_name', 'treaty_type', 'service_type', 'deadline_date', 'music_no'])->orderByDesc('created_at')->paginate($this->pageSize); | 24 | ->select(['id', 'treaty_name', 'treaty_type', 'service_type', 'deadline_date', 'music_no'])->orderByDesc('created_at')->paginate($this->pageSize); |
23 | 25 | ||
26 | $client = new CosHelper(); | ||
27 | |||
24 | foreach ($res as &$item) { | 28 | foreach ($res as &$item) { |
25 | $item_res = $item->toArray(); | 29 | $item_res = $item->toArray(); |
26 | $files = []; | 30 | $files = []; |
27 | if (!empty($item_res['file'])) { | 31 | if (!empty($item_res['file'])) { |
28 | foreach ($item_res['file'] as $file_item) { | 32 | foreach ($item_res['file'] as $file_item) { |
29 | !empty($file_item['file_info']['location']) && $files[] = $file_item['file_info']['location']; | 33 | !empty($file_item['file_info']['key']) && $files[] = $file_item['file_info']['key']; |
34 | } | ||
30 | } | 35 | } |
36 | |||
37 | foreach ($files as &$file) { | ||
38 | $file = $client->getPreviewUrl($file); | ||
31 | } | 39 | } |
40 | |||
32 | $item->setAttribute('files', $files); | 41 | $item->setAttribute('files', $files); |
33 | unset($item->file); | 42 | unset($item->file); |
34 | } | 43 | } | ... | ... |
... | @@ -48,43 +48,6 @@ class MusicianWithdrawService extends Service | ... | @@ -48,43 +48,6 @@ class MusicianWithdrawService extends Service |
48 | } | 48 | } |
49 | 49 | ||
50 | /** | 50 | /** |
51 | * 修改提现状态 | ||
52 | * @return \Illuminate\Http\JsonResponse|mixed | ||
53 | */ | ||
54 | public function changeStatus() | ||
55 | { | ||
56 | $withdraw_status = ''; | ||
57 | |||
58 | $query = StakeholderIncomeSyncAppDetails::query()->where(['sync_status'=>1, 'identifier'=>$this->identifier->identifier]) | ||
59 | ->whereIn('serial_no', $this->request->input('busi_id')); | ||
60 | |||
61 | switch ($this->request->input('type')) { | ||
62 | case 'confirm': //已确认 | ||
63 | $withdraw_status = 1; | ||
64 | $query = $query->where(['withdraw_status'=>0]); | ||
65 | break; | ||
66 | case 'fail': //提现失败 -> 待提现 | ||
67 | $withdraw_status = 1; | ||
68 | $query = $query->where(['withdraw_status'=>2]); | ||
69 | break; | ||
70 | case 'advance': //提现中 | ||
71 | $withdraw_status = 2; | ||
72 | $query = $query->where(['withdraw_status'=>1]); | ||
73 | break; | ||
74 | case 'success': //提现完成 | ||
75 | $withdraw_status = 3; | ||
76 | $query = $query->where(['withdraw_status'=>2]); | ||
77 | break; | ||
78 | } | ||
79 | |||
80 | if ($query->update(['withdraw_status'=>$withdraw_status])) { | ||
81 | return Response::success(); | ||
82 | } else { | ||
83 | return Response::error(); | ||
84 | } | ||
85 | } | ||
86 | |||
87 | /** | ||
88 | * 确认账单 | 51 | * 确认账单 |
89 | * @return \Illuminate\Http\JsonResponse | 52 | * @return \Illuminate\Http\JsonResponse |
90 | */ | 53 | */ |
... | @@ -147,4 +110,22 @@ class MusicianWithdrawService extends Service | ... | @@ -147,4 +110,22 @@ class MusicianWithdrawService extends Service |
147 | } | 110 | } |
148 | } | 111 | } |
149 | 112 | ||
113 | /** | ||
114 | * 修改提现状态 | ||
115 | * @return \Illuminate\Http\JsonResponse|mixed | ||
116 | */ | ||
117 | public function changeStatus() | ||
118 | { | ||
119 | $withdraw_status = ''; | ||
120 | |||
121 | $query = StakeholderIncomeSyncAppDetails::query()->where(['sync_status'=>1, 'identifier'=>$this->identifier->identifier]) | ||
122 | ->whereIn('serial_no', $this->request->input('busi_id')); | ||
123 | |||
124 | if ($query->update(['withdraw_status'=>$withdraw_status])) { | ||
125 | return Response::success(); | ||
126 | } else { | ||
127 | return Response::error(); | ||
128 | } | ||
129 | } | ||
130 | |||
150 | } | 131 | } | ... | ... |
... | @@ -14,7 +14,8 @@ | ... | @@ -14,7 +14,8 @@ |
14 | "guzzlehttp/guzzle": "^7.0.1", | 14 | "guzzlehttp/guzzle": "^7.0.1", |
15 | "laravel/framework": "^8.40", | 15 | "laravel/framework": "^8.40", |
16 | "laravel/tinker": "^2.5", | 16 | "laravel/tinker": "^2.5", |
17 | "phpseclib/phpseclib": "~3.0" | 17 | "phpseclib/phpseclib": "~3.0", |
18 | "qcloud/vod-sdk-v5": "^2.4" | ||
18 | }, | 19 | }, |
19 | "require-dev": { | 20 | "require-dev": { |
20 | "facade/ignition": "^2.5", | 21 | "facade/ignition": "^2.5", | ... | ... |
This diff is collapsed.
Click to expand it.
-
Please register or sign in to post a comment