class ShoppingService

Properties

Application $app
protected CartService $cartService
protected OrderService $orderService
protected BaseInfo $BaseInfo
protected EntityManager $em

Methods

__construct(Application $app, $cartService, $orderService)

No description

null|object
getOrder(null $status = null)

セッションにセットされた受注情報を取得

$Customer|null
getNonMember($sesisonKey)

非会員情報を取得

createOrder($Customer)

受注情報を作成

mixed
registerPreOrder(Customer $Customer, $preOrderId)

仮受注情報作成

getNewOrder(Customer $Customer)

受注情報を作成

newOrder()

受注情報を作成

copyToOrderFromCustomer(Order $Order, Customer $Customer = null)

受注情報を作成

array
getDeliveriesCart()

配送業者情報を取得

array
getDeliveriesOrder(Order $Order)

配送業者情報を取得

array
getDeliveries($productTypes)

配送業者情報を取得

getNewShipping(Order $Order, Customer $Customer, $deliveries)

お届け先情報を作成

copyToShippingFromCustomer(Shipping $Shipping, Customer $Customer = null)

お届け先情報を作成

getNewDetails(Order $Order)

受注明細情報、配送商品情報を作成

getNewOrderDetail(Product $Product, ProductClass $ProductClass, $quantity)

受注明細情報を作成

getNewShipmentItem(Order $Order, Product $Product, ProductClass $ProductClass, $quantity)

配送商品情報を作成

int
getShippingDeliveryFeeTotal($shippings)

お届け先ごとの送料合計を取得

int
getProductDeliveryFee(Shipping $Shipping)

商品ごとの配送料を取得

getAmount(Order $Order)

住所などの情報が変更された時に金額の再計算を行う

setShippingDeliveryFee(Shipping $Shipping, Delivery $Delivery = null)

配送料金の設定

setDeliveryFreeAmount(Order $Order)

配送料無料条件(合計金額)の条件を満たしていれば配送料金を0に設定

setDeliveryFreeQuantity(Order $Order)

配送料無料条件(合計数量)の条件を満たしていれば配送料金を0に設定

bool
isOrderProduct($em, Order $Order)

商品公開ステータスチェック、在庫チェック、購入制限数チェックを行い、在庫情報をロックする

setOrderUpdate(Order $Order, $data)

受注情報、お届け先情報の更新

setStockUpdate($em, Order $Order)

在庫情報の更新

setCustomerUpdate(Order $Order, Customer $user)

会員情報の更新

array
getPayments($payments, $subTotal)

支払方法選択の表示設定

array
getFormDeliveryDates(Order $Order)

お届け日を取得

array
getFormPayments($deliveries, Order $Order)

支払方法を取得

Form
getShippingForm(Order $Order)

お届け先ごとにFormを作成

Details

at line 56
__construct(Application $app, $cartService, $orderService)

Parameters

Application $app
$cartService
$orderService

at line 70
null|object getOrder(null $status = null)

セッションにセットされた受注情報を取得

Parameters

null $status

Return Value

null|object

at line 98
$Customer|null getNonMember($sesisonKey)

非会員情報を取得

Parameters

$sesisonKey

Return Value

$Customer|null

at line 120
Order createOrder($Customer)

受注情報を作成

Parameters

$Customer

Return Value

Order

at line 145
mixed registerPreOrder(Customer $Customer, $preOrderId)

仮受注情報作成

Parameters

Customer $Customer
$preOrderId

Return Value

mixed

Exceptions

NoResultException
NonUniqueResultException

at line 214
Order getNewOrder(Customer $Customer)

受注情報を作成

Parameters

Customer $Customer

Return Value

Order

at line 227
Order newOrder()

受注情報を作成

Return Value

Order

at line 249
Order copyToOrderFromCustomer(Order $Order, Customer $Customer = null)

受注情報を作成

Parameters

Order $Order
Customer $Customer

Return Value

Order

at line 290
array getDeliveriesCart()

配送業者情報を取得

Return Value

array

at line 306
array getDeliveriesOrder(Order $Order)

配送業者情報を取得

Parameters

Order $Order

Return Value

array

at line 322
array getDeliveries($productTypes)

配送業者情報を取得

Parameters

$productTypes

Return Value

array

at line 354
Order getNewShipping(Order $Order, Customer $Customer, $deliveries)

お届け先情報を作成

Parameters

Order $Order
Customer $Customer
$deliveries

Return Value

Order

at line 386
Shipping copyToShippingFromCustomer(Shipping $Shipping, Customer $Customer = null)

お届け先情報を作成

Parameters

Shipping $Shipping
Customer $Customer

Return Value

Shipping

at line 447
Order getNewDetails(Order $Order)

受注明細情報、配送商品情報を作成

Parameters

Order $Order

Return Value

Order

at line 480
OrderDetail getNewOrderDetail(Product $Product, ProductClass $ProductClass, $quantity)

受注明細情報を作成

Parameters

Product $Product
ProductClass $ProductClass
$quantity

Return Value

OrderDetail

at line 518
ShipmentItem getNewShipmentItem(Order $Order, Product $Product, ProductClass $ProductClass, $quantity)

配送商品情報を作成

Parameters

Order $Order
Product $Product
ProductClass $ProductClass
$quantity

Return Value

ShipmentItem

at line 574
int getShippingDeliveryFeeTotal($shippings)

お届け先ごとの送料合計を取得

Parameters

$shippings

Return Value

int

at line 591
int getProductDeliveryFee(Shipping $Shipping)

商品ごとの配送料を取得

Parameters

Shipping $Shipping

Return Value

int

at line 607
Order getAmount(Order $Order)

住所などの情報が変更された時に金額の再計算を行う

Parameters

Order $Order

Return Value

Order

at line 638
setShippingDeliveryFee(Shipping $Shipping, Delivery $Delivery = null)

配送料金の設定

Parameters

Shipping $Shipping
Delivery $Delivery

at line 665
setDeliveryFreeAmount(Order $Order)

配送料無料条件(合計金額)の条件を満たしていれば配送料金を0に設定

Parameters

Order $Order

at line 687
setDeliveryFreeQuantity(Order $Order)

配送料無料条件(合計数量)の条件を満たしていれば配送料金を0に設定

Parameters

Order $Order

at line 712
bool isOrderProduct($em, Order $Order)

商品公開ステータスチェック、在庫チェック、購入制限数チェックを行い、在庫情報をロックする

Parameters

$em トランザクション制御されているEntityManager
Order $Order 受注情報

Return Value

bool true : 成功、false : 失敗

at line 758
setOrderUpdate(Order $Order, $data)

受注情報、お届け先情報の更新

Parameters

Order $Order 受注情報
$data フォームデータ

at line 808
setStockUpdate($em, Order $Order)

在庫情報の更新

Parameters

$em トランザクション制御されているEntityManager
Order $Order 受注情報

at line 841
setCustomerUpdate(Order $Order, Customer $user)

会員情報の更新

Parameters

Order $Order 受注情報
Customer $user ログインユーザ

at line 867
array getPayments($payments, $subTotal)

支払方法選択の表示設定

Parameters

$payments 支払選択肢情報
$subTotal 小計

Return Value

array

at line 892
array getFormDeliveryDates(Order $Order)

お届け日を取得

Parameters

Order $Order

Return Value

array

at line 938
array getFormPayments($deliveries, Order $Order)

支払方法を取得

Parameters

$deliveries
Order $Order

Return Value

array

at line 967
Form getShippingForm(Order $Order)

お届け先ごとにFormを作成

Parameters

Order $Order

Return Value

Form