add door manager logs
This commit is contained in:
@@ -11,6 +11,7 @@ use common\models\Card;
|
||||
use common\models\CardKeyAssignment;
|
||||
use common\models\DoorLog;
|
||||
use common\models\DoorLogForTest;
|
||||
use common\models\DoorManagerLog;
|
||||
use common\models\Key;
|
||||
use common\models\Log;
|
||||
use common\models\Ticket;
|
||||
@@ -138,6 +139,10 @@ class DoorManager extends BaseObject
|
||||
|
||||
$context->virtualKey = $virtualKey;
|
||||
$context->card = $card;
|
||||
$keyAssignment = CardKeyAssignment::findOne(['id_card' =>$card->id_card]);
|
||||
if ( isset($keyAssignment)){
|
||||
$context->key = Key::findOne($keyAssignment->id_key);
|
||||
}
|
||||
$context->cardNumber = $cardNumber;
|
||||
|
||||
\Yii::info("$requestId: Card number " . $card->number);
|
||||
@@ -181,36 +186,67 @@ class DoorManager extends BaseObject
|
||||
function logContext($ctx){
|
||||
try{
|
||||
$result = [
|
||||
'requestId' => $ctx->requestId,
|
||||
//datetime $updated_at --
|
||||
//datetime $created_at --
|
||||
//string $ticket_usage
|
||||
//string $request_id
|
||||
'request_id' => $ctx->requestId,
|
||||
//string $identifier
|
||||
'identifier' => $ctx->identifier,
|
||||
'verifyOnly' => $ctx->verifyOnly,
|
||||
//bool $verify_only
|
||||
'verify_only' => $ctx->verifyOnly,
|
||||
//string $device
|
||||
'device' => $ctx->device,
|
||||
//string $direction
|
||||
'direction' => $ctx->direction,
|
||||
'originalDirection' => $ctx->originalDirection,
|
||||
'idCard' => isset($ctx->card)? $ctx->card->id_card : null,
|
||||
'cardNumber' => isset($ctx->card) ? $ctx->card->number : null,
|
||||
'idTicket' => isset($ctx->ticket) ? $ctx->ticket->id_ticket : null,
|
||||
'ticketType' => isset($ctx->ticket) ? $ctx->ticket->ticketType->name : null,
|
||||
'ticketUsageCount' => isset($ctx->ticket) ? $ctx->ticket->usage_count : null,
|
||||
'idCustomer' => isset($ctx->customer) ? $ctx->customer->id_customer : null,
|
||||
'customerName' => isset($ctx->customer) ? $ctx->customer->name : null,
|
||||
'customerEmail' => isset($ctx->customer) ? $ctx->customer->email : null,
|
||||
'key' => isset($ctx->key) ? $ctx->key->name : null,
|
||||
'idVirtualKey' => isset($ctx->virtualKey) ? $ctx->virtualKey->id : null,
|
||||
'kind' => $ctx->kind,
|
||||
'actions' => implode(",",$ctx->actions),
|
||||
//string $original_direction
|
||||
'original_direction' => $ctx->originalDirection,
|
||||
//integer $card_id_card
|
||||
'card_id_card' => isset($ctx->card)? $ctx->card->id_card : null,
|
||||
//string $card_number
|
||||
'card_number' => isset($ctx->card) ? $ctx->card->number : null,
|
||||
//string $ticket_id_ticket
|
||||
'ticket_id_ticket' => isset($ctx->ticket) ? $ctx->ticket->id_ticket : null,
|
||||
//string $ticket_type_name
|
||||
'ticket_type_name' => isset($ctx->ticket) ? $ctx->ticket->ticketType->name : null,
|
||||
//string $ticket_usage_count
|
||||
'ticket_usage_count' => isset($ctx->ticket) ? $ctx->ticket->usage_count : null,
|
||||
//string $customer_id_customer
|
||||
'customer_id_customer' => isset($ctx->customer) ? $ctx->customer->id_customer : null,
|
||||
//string $customer_name
|
||||
'customer_name' => isset($ctx->customer) ? $ctx->customer->name : null,
|
||||
//string $customer_email
|
||||
'customer_email' => isset($ctx->customer) ? $ctx->customer->email : null,
|
||||
//integer $key_id_key
|
||||
'key_id_key' => isset($ctx->key) ? $ctx->key->id_key : null,
|
||||
//string $key_number
|
||||
'key_number' => isset($ctx->key) ? $ctx->key->number : null,
|
||||
//integer $virtual_key_id
|
||||
'virtual_key_id' => isset($ctx->virtualKey) ? $ctx->virtualKey->id : null,
|
||||
//string $validation_kind
|
||||
'validation_kind' => $ctx->kind,
|
||||
//bool $error
|
||||
'error' => $ctx->error,
|
||||
'errorCode' => $ctx->errorCode,
|
||||
'ticketUsage' => 1,
|
||||
//string $error_code
|
||||
'error_code' => $ctx->errorCode,
|
||||
'ticket_usage' => $ctx->increasedTicketUsageCount,
|
||||
// 'actions' => implode(",",$ctx->actions),
|
||||
];
|
||||
|
||||
if ( $ctx->error === true ){
|
||||
if ( isset($ctx->exception )){
|
||||
$result['errorMessage'] = substr( $ctx->exception->getMessage(),0,100);
|
||||
// string $error_message
|
||||
$result['error_message'] = substr( $ctx->exception->getMessage(),0,100);
|
||||
}
|
||||
}
|
||||
|
||||
\Yii::info("door log: " . implode(";", $result));
|
||||
\Yii::info("door log: " . implode(";", $result));
|
||||
|
||||
\Yii::$app->db->beginTransaction();
|
||||
$log = new DoorManagerLog($result);
|
||||
$log->save(false);
|
||||
\Yii::$app->db->transaction->commit();
|
||||
|
||||
|
||||
}catch (\Exception $e){
|
||||
\Yii::error("Failed to log door context:". $e->getMessage());
|
||||
@@ -444,6 +480,7 @@ class DoorManager extends BaseObject
|
||||
if ($countDoorLogsForTicketSince == 1) {
|
||||
// increase the ticket usage count with 1
|
||||
$usageCount = $ticket->usage_count;
|
||||
$ctx->increasedTicketUsageCount = true;
|
||||
$ticket->usage_count += 1;
|
||||
$ticket->save(false);
|
||||
\Yii::info("$ctx->requestId: First ticket usage today, increasing usage count for card: " . $ctx->card->id_card);
|
||||
@@ -515,6 +552,7 @@ class DoorManager extends BaseObject
|
||||
$logCountInActiveInterval = count($activeInterval['logs']);
|
||||
|
||||
if ($logCountInActiveInterval == 1) {
|
||||
$ctx->increasedTicketUsageCount = true;
|
||||
$ticket->usage_count = $ticket->usage_count + 1;
|
||||
$ticket->save(false);
|
||||
\Yii::info("$ctx->requestId: Ticket usage count increased after first IN after first door_log in interval in sec " . $stopWatch->split());
|
||||
@@ -558,6 +596,8 @@ class DoorManager extends BaseObject
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (isset($ctx->virtualKey)) {
|
||||
\Yii::info("Move OUT: Virtual key set");
|
||||
if (!isset($ctx->virtualKey->direction_in_at)) {
|
||||
|
||||
Reference in New Issue
Block a user