Logidav Docs

VirDeliveryHistoryRebuildService
in package

Table of Contents

Properties

$carrierName  : string
$deliveryCodeToStatus  : array<string, string>
$em  : EntityManagerInterface
$pdfCacheDir  : string
$projectDir  : string
$saleProductShipmentService  : SaleProductShipmentService
$saleProductShipmentTrackingService  : SaleProductShipmentTrackingService

Methods

__construct()  : mixed
rebuildBatch()  : array<string|int, mixed>
rebuildForIncrementId()  : array<string|int, mixed>
buildExpectedVirHistoryRowsFromLogs()  : array<string|int, mixed>
deleteVirHistoryForTracking()  : int
downloadPdfWithCache()  : string
ensureTrackingForSaleProduct()  : SaleProductShipmentTracking|null, created_shipment: bool, created_tracking: bool}
Ensure a SaleProductShipmentTracking exists for the sale product.
extractFullIncIdFromLogs()  : string|null
Extract the full inc_id from VIR logs.
extractIdsByPrefix()  : array<string|int, mixed>
Extract numeric ids after a prefix like LD or LC
extractPossibleSkus()  : array<string|int, mixed>
Extract candidate SKUs.
extractSaleProductIdsFromPdfUrl()  : array<string|int, mixed>
extractUrlFromComment()  : string|null
extractUrlsFromComment()  : array<string|int, mixed>
guessEventAt()  : DateTime|null
historyExists()  : bool
isVirHistoryAlreadyMatchingExpectedDesc()  : bool
mapSaleProductIdsFromSkuAndIncrement()  : array<string|int, mixed>
mergeTrackLinks()  : array<string|int, mixed>
normalizeIncrementId()  : string
normalizeTrackLinksValue()  : array<string|int, mixed>
pdfToTextWithPoppler()  : string
resolveSaleProductForTracking()  : SaleProduct|null
resolveTrackingForSaleProduct()  : mixed
syncComCfmTrackingLinksToTracking()  : array<string|int, mixed>

Properties

Methods

__construct()

public __construct(EntityManagerInterface $em, string $projectDir, SaleProductShipmentService $saleProductShipmentService, SaleProductShipmentTrackingService $saleProductShipmentTrackingService[, array<string|int, mixed> $deliveryCodeToStatus = [] ][, string $carrierName = 'VIR' ][, string|null $pdfCacheDir = null ]) : mixed
Parameters
$em : EntityManagerInterface
$projectDir : string
$saleProductShipmentService : SaleProductShipmentService
$saleProductShipmentTrackingService : SaleProductShipmentTrackingService
$deliveryCodeToStatus : array<string|int, mixed> = []
$carrierName : string = 'VIR'
$pdfCacheDir : string|null = null

rebuildBatch()

public rebuildBatch(DateTime|null $since, int $limit, int|null $restrictProductId, bool $dryRun, int $batchSize) : array<string|int, mixed>
Parameters
$since : DateTime|null
$limit : int
$restrictProductId : int|null
$dryRun : bool
$batchSize : int
Return values
array<string|int, mixed>

rebuildForIncrementId()

public rebuildForIncrementId(string $incrementId, int|null $restrictProductId, bool $dryRun) : array<string|int, mixed>
Parameters
$incrementId : string
$restrictProductId : int|null
$dryRun : bool
Return values
array<string|int, mixed>

buildExpectedVirHistoryRowsFromLogs()

private buildExpectedVirHistoryRowsFromLogs(array<string|int, mixed> $logs) : array<string|int, mixed>
Parameters
$logs : array<string|int, mixed>
Return values
array<string|int, mixed>

deleteVirHistoryForTracking()

private deleteVirHistoryForTracking(int $trackingId) : int
Parameters
$trackingId : int
Return values
int

downloadPdfWithCache()

private downloadPdfWithCache(string $incrementId, string $url) : string
Parameters
$incrementId : string
$url : string
Return values
string

ensureTrackingForSaleProduct()

Ensure a SaleProductShipmentTracking exists for the sale product.

private ensureTrackingForSaleProduct(int $saleProductId, string $incrementId, array<string|int, mixed> $logs, bool $dryRun) : SaleProductShipmentTracking|null, created_shipment: bool, created_tracking: bool}

Creates SaleProductShipment and SaleProductShipmentTracking if missing.

Parameters
$saleProductId : int
$incrementId : string
$logs : array<string|int, mixed>
$dryRun : bool
Return values
SaleProductShipmentTracking|null, created_shipment: bool, created_tracking: bool}

extractFullIncIdFromLogs()

Extract the full inc_id from VIR logs.

private extractFullIncIdFromLogs(array<string|int, mixed> $logs, string $baseIncrementId) : string|null

Returns the first inc_id found that starts with the base increment_id.

Parameters
$logs : array<string|int, mixed>
$baseIncrementId : string
Return values
string|null

extractIdsByPrefix()

Extract numeric ids after a prefix like LD or LC

private extractIdsByPrefix(string $text, string $prefix) : array<string|int, mixed>
Parameters
$text : string
$prefix : string
Return values
array<string|int, mixed>

extractPossibleSkus()

Extract candidate SKUs.

private extractPossibleSkus(string $text) : array<string|int, mixed>

This is conservative: alnum, 6-40 chars, must contain at least one letter.

Parameters
$text : string
Return values
array<string|int, mixed>

extractSaleProductIdsFromPdfUrl()

private extractSaleProductIdsFromPdfUrl(string $incrementId, string $pdfUrl) : array<string|int, mixed>
Parameters
$incrementId : string
$pdfUrl : string
Return values
array<string|int, mixed>

extractUrlFromComment()

private extractUrlFromComment(string $comment) : string|null
Parameters
$comment : string
Return values
string|null

extractUrlsFromComment()

private extractUrlsFromComment(string $comment) : array<string|int, mixed>
Parameters
$comment : string
Return values
array<string|int, mixed>

guessEventAt()

private guessEventAt(array<string|int, mixed> $logRow) : DateTime|null
Parameters
$logRow : array<string|int, mixed>
Return values
DateTime|null

historyExists()

private historyExists(int $trackingId, string $status, DateTime $eventAt, string|null $reference) : bool
Parameters
$trackingId : int
$status : string
$eventAt : DateTime
$reference : string|null
Return values
bool

isVirHistoryAlreadyMatchingExpectedDesc()

private isVirHistoryAlreadyMatchingExpectedDesc(int $trackingId, array<string|int, mixed> $expectedRows) : bool
Parameters
$trackingId : int
$expectedRows : array<string|int, mixed>
Return values
bool

mapSaleProductIdsFromSkuAndIncrement()

private mapSaleProductIdsFromSkuAndIncrement(array<string|int, mixed> $skus, string $incrementId) : array<string|int, mixed>
Parameters
$skus : array<string|int, mixed>
$incrementId : string
Return values
array<string|int, mixed>
private mergeTrackLinks(array<string|int, mixed> $existingLinks, array<string|int, mixed> $newLinks) : array<string|int, mixed>
Parameters
$existingLinks : array<string|int, mixed>
$newLinks : array<string|int, mixed>
Return values
array<string|int, mixed>

normalizeTrackLinksValue()

private normalizeTrackLinksValue(mixed $raw) : array<string|int, mixed>
Parameters
$raw : mixed
Return values
array<string|int, mixed>

resolveTrackingForSaleProduct()

private resolveTrackingForSaleProduct(int $saleProductId, string $incrementId) : mixed
Parameters
$saleProductId : int
$incrementId : string

        
On this page

Search results