class OrderManager implements OrderManagerInterface, BasicEntityManagerInterface

Class OrderManager is injected as alligator.order_manager service. OrderManager handles the logic for managed entity.

Traits

Trait JQGridManagerTrait

Properties

protected OrderRepository $orderRepository
protected OrderRepository $repository
protected OrderEventContainer $eventContainer

Methods

mixed
searchForJQGRID(array $searchParams, array $sortParams = array(), array $additionalParams = array(), JQGridWrapper $jqGridWrapper = null)

No description

mixed
findAllForJQGRID(int $page, int $offset, array $sortParams, array $additionalParams = array(), JQGridWrapper $jqGridWrapper = null)

No description

mixed
getCountForJQGRID(array|null $searchParams = null, array|null $sortParams = null, array|null $additionalParams = array(), JQGridWrapper|null $jqGridWrapper = null)

No description

__construct(OrderRepository $orderRepository, OrderEventContainer $eventContainer)

OrderManager constructor.

mixed
saveOrder(Order $order)

No description

Order|Proxy|object|null
getReference(int $id, string $class = Order::class)

Retrieve reference for provided class and id

mixed
editOrder(Order $order)

No description

mixed
findAllOrders(mixed $user)

No description

findOrder(Order $order)

Find order by id

Order|object|null
findOrderByTransId(string $transId)

Find order by transaction id

array
findAbandonedCarts()

No description

array
findOrdersForReport(array $params)

No description

mixed
getDBOrder(Order $order)

No description

array
loadGraphData($currency = null)

No description

array|null
loadOrderDetailsGraphData(string $date)

Retrieve data for statistics

array
loadGraphDataForInterval(string $dateFrom, string $dateTo, string $currency = null)

Retrieve data for statistics

array
getBestSellerThatAreNotBoughtByUser(int $userId, int $numberOfProducts, array|null $limitData = null)

Find all products that user hasn't bought

mixed
changeOrderState(stdClass $data)

No description

dispatchAfterAddToCartLogicEvent(Order $order)

Dispatch event after add to cart

commentMerge(Order $order)

Update existing order checkout comment

array
findLastOrdersForLiveSale(User $user, int $number)

Find all orders without abandoned carts

array
doOrderItemsSearch(int $page, int $offset, int $productId, null $searchParams = null)

Find all orders that match provided criteria

array
getOrdersForDashboard(int $number)

Find provided number of finished orders for dashboard

array
getOrdersForDashboardByCurrency(string $currency = null, int $number = 5, array $params = null)

Find all finished orders by currency for dashboard

bool
deleteOrders(array $ordersArray)

Remove provided order

array
getAmountByTypeOfPayment(array|null $searchParams, int|null $userId = null)

Retrieve summary of payment depending on payment type

updateQuantities(Order $order, String $oldState = null, array $updateOnlyWithId = array())

Update product(product attribute values) quantities(number in stock, total quantity and reserved quantity) based on old and new state of order

editOrderRemoveItem(int $itemId, int $orderId)

Remove order item - called from edit order in backend

editOrderCheckoutSuccess(Order $order)

Update product(product attribute values) quantities and update order

completeOrder(Order $order)

Complete provided order

array|bool
changeOrderItem(stdClass $data)

Change order item

changePAV(Order $order, OrderItem $item, mixed $data, mixed $oldQuantity, ProductAttributeValuesRepository $pavRepository)

Change product attribute value for order item

editOrderAddItem(Order $order, Product $product, array $additionalData = array())

Edit order item, and update quantities

bool
activateCoupon(Order $order)

Active coupon that is cached in session

getDBOrderForDetails(int $id)

Find order with relationships by id

array
getAbandonedCartsForPagination(int $userId, int $page, int $offset)

Retrieve orders in abandoned cart state with pagination

array
getOrdersForPagination(int $userId, int $page, int $offset, bool $hidePending = true)

JQGrid function

array
countAbandonedCartsByUserForPagination(int $userId)

JQGrid function

array
countOrdersByUserForPagination(int $userId, bool $hidePending = true)

JQGrid function

getOrderForSocket(int $id)

Find order by id

Order|null
getLastOrderForUser(User $user)

Find last order for provided user

mixed
getNumberOfSalesOfProduct(int $productId)

Retrieve number of sales for provided product

confirmOrderByToken(string $token)

Change state of order to confirmed

bool
setOrderCurrency(Order $order)

Update currency and currency ratio for provided order

bool
setOrderLocale(Order $order)

Update locale for provided order

array
getOrderForGoogleAnalytics(int $orderId)

Get order with custom information - used to send data to Google Analytics

getOrderByToken(string $token)

Find order by token

ArrayCollection
getOrdersSummary(int $id)

Retrieve summary for order

mixed
generateNewOrderFromBackend(array $additionalData)

Create and persist new order with provided currency and locale

getUserByPk(int $id)

Retrieve reference for user that match provided id

string|null
getPaymentTypeByPk(int $id)

Find payment type by id

ShippingProvider|Proxy|null|object
getShippingByPk(int $id)

Retrieve reference for shipping provider

Address|null
getAddressFromOrderDB(Order $order)

No description

array
getAllGroupProductsForOrder(int $orderId)

Find all group products in order

Order|null
getLastUnfinishedOrderForUser(User|null $user, string|null $sessionId = null, bool $shouldConvertMoney = true)

Find last unfinished order for provided user

convertOrderToPricelistCurrency(Order $order)

Convert order to pricelist currency

null|string
getUserPriceListCurrency()

Retrieve pricelist for user. NULL otherwise

bool
updateCouponCode(int $orderId, string $code)

No description

bool
deleteDbOrders(array $ordersArray)

Remove provided order

array
getPendingOrders()

Find all orders in state pending or processing

array
getOrderIdErpCodes()

Find id and erp code of all orders

array
getAllOrdersIds()

Find id of all orders

User|null
getLoggedUser()

Retrieve logged user. NULL if no user is logged in

array
getAllUnfinishedBankOrdersBeforeDate(DateTime $currentDate)

Get all unfinished orders that are in state "payment_bank"

saveChanges()

Flushes all changes to objects that have been queued up to now to the database

array
getUnsyncedErpOrderIds()

Retrieve id of all orders that are synchronized with erp

array
getOrdersForIds(array $ids)

Find all orders that match provided ids

mixed
getCurrentSession()

Retrieve current session

Details

in JQGridManagerTrait at line 26
mixed searchForJQGRID(array $searchParams, array $sortParams = array(), array $additionalParams = array(), JQGridWrapper $jqGridWrapper = null)

Parameters

array $searchParams
array $sortParams
array $additionalParams
JQGridWrapper $jqGridWrapper

Return Value

mixed

in JQGridManagerTrait at line 40
mixed findAllForJQGRID(int $page, int $offset, array $sortParams, array $additionalParams = array(), JQGridWrapper $jqGridWrapper = null)

Parameters

int $page
int $offset
array $sortParams
array $additionalParams
JQGridWrapper $jqGridWrapper

Return Value

mixed

in JQGridManagerTrait at line 53
mixed getCountForJQGRID(array|null $searchParams = null, array|null $sortParams = null, array|null $additionalParams = array(), JQGridWrapper|null $jqGridWrapper = null)

Parameters

array|null $searchParams
array|null $sortParams
array|null $additionalParams
JQGridWrapper|null $jqGridWrapper

Return Value

mixed

at line 67
__construct(OrderRepository $orderRepository, OrderEventContainer $eventContainer)

OrderManager constructor.

Parameters

OrderRepository $orderRepository
OrderEventContainer $eventContainer

at line 77
mixed saveOrder(Order $order)

Parameters

Order $order

Return Value

mixed

at line 90
Order|Proxy|object|null getReference(int $id, string $class = Order::class)

Retrieve reference for provided class and id

Parameters

int $id
string $class

Return Value

Order|Proxy|object|null

at line 98
mixed editOrder(Order $order)

Parameters

Order $order

Return Value

mixed

at line 110
mixed findAllOrders(mixed $user)

Parameters

mixed $user

Return Value

mixed

at line 122
Order findOrder(Order $order)

Find order by id

Parameters

Order $order

Return Value

Order

at line 134
Order|object|null findOrderByTransId(string $transId)

Find order by transaction id

Parameters

string $transId

Return Value

Order|object|null

at line 142
array findAbandonedCarts()

Return Value

array

at line 150
array findOrdersForReport(array $params)

Parameters

array $params

Return Value

array

at line 158
mixed getDBOrder(Order $order)

Parameters

Order $order

Return Value

mixed

at line 166
array loadGraphData($currency = null)

Parameters

$currency

Return Value

array

at line 178
array|null loadOrderDetailsGraphData(string $date)

Retrieve data for statistics

Parameters

string $date

Return Value

array|null

at line 192
array loadGraphDataForInterval(string $dateFrom, string $dateTo, string $currency = null)

Retrieve data for statistics

Parameters

string $dateFrom
string $dateTo
string $currency

Return Value

array

at line 208
array getBestSellerThatAreNotBoughtByUser(int $userId, int $numberOfProducts, array|null $limitData = null)

Find all products that user hasn't bought

Parameters

int $userId
int $numberOfProducts
array|null $limitData

Return Value

array

Exceptions

NonUniqueResultException

at line 216
mixed changeOrderState(stdClass $data)

Parameters

stdClass $data

Return Value

mixed

at line 279
OrderEvent dispatchAfterAddToCartLogicEvent(Order $order)

Dispatch event after add to cart

Parameters

Order $order

Return Value

OrderEvent

at line 291
Order commentMerge(Order $order)

Update existing order checkout comment

Parameters

Order $order

Return Value

Order

at line 308
array findLastOrdersForLiveSale(User $user, int $number)

Find all orders without abandoned carts

Parameters

User $user
int $number

Return Value

array

at line 325
array doOrderItemsSearch(int $page, int $offset, int $productId, null $searchParams = null)

Find all orders that match provided criteria

Parameters

int $page
int $offset
int $productId
null $searchParams

Return Value

array

Exceptions

Exception

at line 370
array getOrdersForDashboard(int $number)

Find provided number of finished orders for dashboard

Parameters

int $number

Return Value

array

at line 392
array getOrdersForDashboardByCurrency(string $currency = null, int $number = 5, array $params = null)

Find all finished orders by currency for dashboard

Parameters

string $currency
int $number
array $params

Return Value

array

at line 404
bool deleteOrders(array $ordersArray)

Remove provided order

Parameters

array $ordersArray

Return Value

bool

at line 414
OrderRepository getOrderRepository()

Return Value

OrderRepository

at line 427
array getAmountByTypeOfPayment(array|null $searchParams, int|null $userId = null)

Retrieve summary of payment depending on payment type

Parameters

array|null $searchParams
int|null $userId

Return Value

array

at line 443
Order updateQuantities(Order $order, String $oldState = null, array $updateOnlyWithId = array())

Update product(product attribute values) quantities(number in stock, total quantity and reserved quantity) based on old and new state of order

Parameters

Order $order
String $oldState
array $updateOnlyWithId

Return Value

Order

Exceptions

DBALException

at line 522
Order editOrderRemoveItem(int $itemId, int $orderId)

Remove order item - called from edit order in backend

Parameters

int $itemId
int $orderId

Return Value

Order

Exceptions

DBALException

at line 578
Order editOrderCheckoutSuccess(Order $order)

Update product(product attribute values) quantities and update order

Parameters

Order $order

Return Value

Order

at line 604
Order completeOrder(Order $order)

Complete provided order

Parameters

Order $order

Return Value

Order

Exceptions

DBALException

at line 623
array|bool changeOrderItem(stdClass $data)

Change order item

Parameters

stdClass $data

Return Value

array|bool

Exceptions

DBALException

at line 720
OrderItem changePAV(Order $order, OrderItem $item, mixed $data, mixed $oldQuantity, ProductAttributeValuesRepository $pavRepository)

Change product attribute value for order item

Parameters

Order $order
OrderItem $item
mixed $data
mixed $oldQuantity
ProductAttributeValuesRepository $pavRepository

Return Value

OrderItem

Exceptions

DBALException

at line 802
Order editOrderAddItem(Order $order, Product $product, array $additionalData = array())

Edit order item, and update quantities

Parameters

Order $order
Product $product
array $additionalData

Return Value

Order

Exceptions

DBALException
NoResultException
NonUniqueResultException

at line 899
bool activateCoupon(Order $order)

Active coupon that is cached in session

Parameters

Order $order

Return Value

bool

at line 914
Order getDBOrderForDetails(int $id)

Find order with relationships by id

Parameters

int $id

Return Value

Order

Exceptions

NoResultException
NonUniqueResultException

at line 928
array getAbandonedCartsForPagination(int $userId, int $page, int $offset)

Retrieve orders in abandoned cart state with pagination

Parameters

int $userId
int $page
int $offset

Return Value

array

at line 943
array getOrdersForPagination(int $userId, int $page, int $offset, bool $hidePending = true)

JQGrid function

Parameters

int $userId
int $page
int $offset
bool $hidePending

Return Value

array

at line 959
array countAbandonedCartsByUserForPagination(int $userId)

JQGrid function

Parameters

int $userId

Return Value

array

Exceptions

NonUniqueResultException

at line 972
array countOrdersByUserForPagination(int $userId, bool $hidePending = true)

JQGrid function

Parameters

int $userId
bool $hidePending

Return Value

array

at line 988
Order getOrderForSocket(int $id)

Find order by id

Parameters

int $id

Return Value

Order

Exceptions

NoResultException
NonUniqueResultException

at line 1002
Order|null getLastOrderForUser(User $user)

Find last order for provided user

Parameters

User $user

Return Value

Order|null

Exceptions

NonUniqueResultException

at line 1017
mixed getNumberOfSalesOfProduct(int $productId)

Retrieve number of sales for provided product

Parameters

int $productId

Return Value

mixed

Exceptions

NoResultException
NonUniqueResultException

at line 1028
Order confirmOrderByToken(string $token)

Change state of order to confirmed

Parameters

string $token

Return Value

Order

at line 1047
bool setOrderCurrency(Order $order)

Update currency and currency ratio for provided order

Parameters

Order $order

Return Value

bool

at line 1059
bool setOrderLocale(Order $order)

Update locale for provided order

Parameters

Order $order

Return Value

bool

at line 1070
array getOrderForGoogleAnalytics(int $orderId)

Get order with custom information - used to send data to Google Analytics

Parameters

int $orderId

Return Value

array

at line 1082
Order getOrderByToken(string $token)

Find order by token

Parameters

string $token

Return Value

Order

at line 1093
ArrayCollection getOrdersSummary(int $id)

Retrieve summary for order

Parameters

int $id

Return Value

ArrayCollection

at line 1104
mixed generateNewOrderFromBackend(array $additionalData)

Create and persist new order with provided currency and locale

Parameters

array $additionalData

Return Value

mixed

at line 1115
User getUserByPk(int $id)

Retrieve reference for user that match provided id

Parameters

int $id

Return Value

User

at line 1126
string|null getPaymentTypeByPk(int $id)

Find payment type by id

Parameters

int $id

Return Value

string|null

at line 1137
ShippingProvider|Proxy|null|object getShippingByPk(int $id)

Retrieve reference for shipping provider

Parameters

int $id

Return Value

ShippingProvider|Proxy|null|object

at line 1145
Address|null getAddressFromOrderDB(Order $order)

Parameters

Order $order

Return Value

Address|null

at line 1156
array getAllGroupProductsForOrder(int $orderId)

Find all group products in order

Parameters

int $orderId

Return Value

array

at line 1171
Order|null getLastUnfinishedOrderForUser(User|null $user, string|null $sessionId = null, bool $shouldConvertMoney = true)

Find last unfinished order for provided user

Parameters

User|null $user
string|null $sessionId
bool $shouldConvertMoney

Return Value

Order|null

Exceptions

NonUniqueResultException

at line 1191
Order convertOrderToPricelistCurrency(Order $order)

Convert order to pricelist currency

Parameters

Order $order

Return Value

Order

at line 1223
null|string getUserPriceListCurrency()

Retrieve pricelist for user. NULL otherwise

Return Value

null|string

at line 1231
bool updateCouponCode(int $orderId, string $code)

Parameters

int $orderId
string $code

Return Value

bool

at line 1242
bool deleteDbOrders(array $ordersArray)

Remove provided order

Parameters

array $ordersArray

Return Value

bool

at line 1252
array getPendingOrders()

Find all orders in state pending or processing

Return Value

array

at line 1262
array getOrderIdErpCodes()

Find id and erp code of all orders

Return Value

array

at line 1272
array getAllOrdersIds()

Find id of all orders

Return Value

array

at line 1282
User|null getLoggedUser()

Retrieve logged user. NULL if no user is logged in

Return Value

User|null

at line 1293
array getAllUnfinishedBankOrdersBeforeDate(DateTime $currentDate)

Get all unfinished orders that are in state "payment_bank"

Parameters

DateTime $currentDate

Return Value

array

at line 1301
saveChanges()

Flushes all changes to objects that have been queued up to now to the database

at line 1311
array getUnsyncedErpOrderIds()

Retrieve id of all orders that are synchronized with erp

Return Value

array

at line 1322
array getOrdersForIds(array $ids)

Find all orders that match provided ids

Parameters

array $ids

Return Value

array

at line 1332
mixed getCurrentSession()

Retrieve current session

Return Value

mixed