Passed
Pull Request — master (#547)
by Songda
03:06
created

SupportServiceProviderTrait   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 20
Duplicated Lines 0 %

Importance

Changes 1
Bugs 1 Features 0
Metric Value
wmc 3
eloc 9
c 1
b 1
f 0
dl 0
loc 20
rs 10

1 Method

Rating   Name   Duplication   Size   Complexity  
A loadAlipayServiceProvider() 0 13 3
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Yansongda\Pay\Traits;
6
7
use Yansongda\Pay\Pay;
8
use Yansongda\Pay\Rocket;
9
10
trait SupportServiceProviderTrait
11
{
12
    /**
13
     * @throws \Yansongda\Pay\Exception\ContainerDependencyException
14
     * @throws \Yansongda\Pay\Exception\ContainerException
15
     * @throws \Yansongda\Pay\Exception\ServiceNotFoundException
16
     */
17
    protected function loadAlipayServiceProvider(Rocket $rocket): void
18
    {
19
        $params = $rocket->getParams();
20
        $config = get_alipay_config($params);
21
        $serviceProviderId = $config->get('service_provider_id');
22
23
        if (Pay::MODE_SERVICE !== $config->get('mode', Pay::MODE_NORMAL) ||
24
            empty($serviceProviderId)) {
25
            return;
26
        }
27
28
        $rocket->mergeParams([
29
            'extend_params' => array_merge($params['extend_params'] ?? [], ['sys_service_provider_id' => $serviceProviderId]),
30
        ]);
31
    }
32
}
33