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 58
__construct(Application $app, $cartService, $orderService)

Parameters

Application $app
$cartService
$orderService

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

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

Parameters

null $status

Return Value

null|object

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

非会員情報を取得

Parameters

$sesisonKey

Return Value

$Customer|null

at line 122
Order createOrder($Customer)

受注情報を作成

Parameters

$Customer

Return Value

Order

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

仮受注情報作成

Parameters

Customer $Customer
$preOrderId

Return Value

mixed

Exceptions

NoResultException
NonUniqueResultException

at line 216
Order getNewOrder(Customer $Customer)

受注情報を作成

Parameters

Customer $Customer

Return Value

Order

at line 229
Order newOrder()

受注情報を作成

Return Value

Order

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

受注情報を作成

Parameters

Order $Order
Customer $Customer

Return Value

Order

at line 284
array getDeliveriesCart()

配送業者情報を取得

Return Value

array

at line 300
array getDeliveriesOrder(Order $Order)

配送業者情報を取得

Parameters

Order $Order

Return Value

array

at line 316
array getDeliveries($productTypes)

配送業者情報を取得

Parameters

$productTypes

Return Value

array

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

お届け先情報を作成

Parameters

Order $Order
Customer $Customer
$deliveries

Return Value

Order

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

お届け先情報を作成

Parameters

Shipping $Shipping
Customer $Customer

Return Value

Shipping

at line 441
Order getNewDetails(Order $Order)

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

Parameters

Order $Order

Return Value

Order

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

受注明細情報を作成

Parameters

Product $Product
ProductClass $ProductClass
$quantity

Return Value

OrderDetail

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

配送商品情報を作成

Parameters

Order $Order
Product $Product
ProductClass $ProductClass
$quantity

Return Value

ShipmentItem

at line 573
int getShippingDeliveryFeeTotal($shippings)

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

Parameters

$shippings

Return Value

int

at line 590
int getProductDeliveryFee(Shipping $Shipping)

商品ごとの配送料を取得

Parameters

Shipping $Shipping

Return Value

int

at line 606
Order getAmount(Order $Order)

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

Parameters

Order $Order

Return Value

Order

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

配送料金の設定

Parameters

Shipping $Shipping
Delivery $Delivery

at line 664
setDeliveryFreeAmount(Order $Order)

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

Parameters

Order $Order

at line 686
setDeliveryFreeQuantity(Order $Order)

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

Parameters

Order $Order

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

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

Parameters

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

Return Value

bool true : 成功、false : 失敗

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

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

Parameters

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

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

在庫情報の更新

Parameters

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

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

会員情報の更新

Parameters

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

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

支払方法選択の表示設定

Parameters

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

Return Value

array

at line 891
array getFormDeliveryDates(Order $Order)

お届け日を取得

Parameters

Order $Order

Return Value

array

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

支払方法を取得

Parameters

$deliveries
Order $Order

Return Value

array

at line 966
Form getShippingForm(Order $Order)

お届け先ごとにFormを作成

Parameters

Order $Order

Return Value

Form