Passed
Push — develop ( d5179e...bede24 )
by Портнов
05:56 queued 11s
created

ActionAppEnd   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 23
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 4
eloc 12
c 1
b 0
f 0
dl 0
loc 23
rs 10

2 Methods

Rating   Name   Duplication   Size   Complexity  
A execute() 0 11 3
A getFilter() 0 6 1
1
<?php
2
3
4
namespace MikoPBX\Core\Workers\Libs\WorkerCallEvents;
5
6
use MikoPBX\Common\Models\CallDetailRecordsTmp;
7
use MikoPBX\Core\System\Util;
8
use MikoPBX\Core\Workers\WorkerCallEvents;
9
10
class ActionAppEnd {
11
12
    public static function execute(WorkerCallEvents $worker, $data):void
13
    {
14
        $filter = self::getFilter($data);
15
        /** @var CallDetailRecordsTmp $m_data */
16
        /** @var CallDetailRecordsTmp $row */
17
        $m_data = CallDetailRecordsTmp::find($filter);
18
        foreach ($m_data as $row) {
19
            $row->writeAttribute('endtime', $data['start']);
20
            $res = $row->update();
21
            if ( ! $res) {
22
                Util::sysLogMsg(static::class, implode(' ', $row->getMessages()), LOG_DEBUG);
23
            }
24
        }
25
    }
26
27
    private static function getFilter($data):array
28
    {
29
        return [
30
            'linkedid=:linkedid: AND is_app=1 AND endtime = ""',
31
            'bind' => [
32
                'linkedid' => $data['linkedid'],
33
            ],
34
        ];
35
    }
36
37
}