PHP Class Eccube\Service\ShoppingService

Show file Open project: ec-cube/ec-cube

Public Properties

Property Type Description
$app Eccube\Application

Protected Properties

Property Type Description
$BaseInfo Eccube\Entity\BaseInfo
$cartService CartService
$em Doctrine\ORM\EntityManager
$orderService Eccube\Service\OrderService

Public Methods

Method Description
__construct ( Application $app, $cartService, $orderService )
calculateDeliveryFee ( Order $Order ) : Order 配送料の合計金額を計算
calculatePrice ( Order $Order ) : Order 合計金額を計算
copyToOrderFromCustomer ( Order $Order, Customer $Customer = null ) : Order 受注情報を作成
copyToShippingFromCustomer ( Shipping $Shipping, Customer $Customer = null ) : Shipping お届け先情報を作成
createOrder ( $Customer ) : Order 受注情報を作成
getAmount ( Order $Order ) : Order 住所などの情報が変更された時に金額の再計算を行う
getDeliveries ( $productTypes ) : array 配送業者情報を取得
getDeliveriesCart ( ) : array 配送業者情報を取得
getDeliveriesOrder ( Order $Order ) : array 配送業者情報を取得
getFormDeliveryDates ( Order $Order ) : array お届け日を取得
getFormPayments ( $deliveries, Order $Order ) : array 支払方法を取得
getNewDetails ( Order $Order ) : Order 受注明細情報、配送商品情報を作成
getNewOrder ( Customer $Customer ) : Order 受注情報を作成
getNewOrderDetail ( Product $Product, Eccube\Entity\ProductClass $ProductClass, $quantity ) : OrderDetail 受注明細情報を作成
getNewShipmentItem ( Order $Order, Product $Product, Eccube\Entity\ProductClass $ProductClass, $quantity ) : Eccube\Entity\ShipmentItem 配送商品情報を作成
getNewShipping ( Order $Order, Customer $Customer, $deliveries ) : Order お届け先情報を作成
getNonMember ( $sesisonKey ) 非会員情報を取得
getOrder ( null $status = null ) : null | object セッションにセットされた受注情報を取得
getPayments ( $payments, $subTotal ) : array 支払方法選択の表示設定
getProductDeliveryFee ( Shipping $Shipping ) : integer 商品ごとの配送料を取得
getShippingDeliveryFeeTotal ( $shippings ) : integer お届け先ごとの送料合計を取得
getShippingForm ( Order $Order ) : Form お届け先ごとにFormを作成
getShippingFormBuilder ( Order $Order ) : Symfony\Component\Form\FormBuilderInterface お届け先ごとにFormBuilderを作成
isDiscount ( Order $Order, $discount ) : boolean 値引き可能かチェック
isOrderProduct ( $em, Order $Order ) : boolean 商品公開ステータスチェック、在庫チェック、購入制限数チェックを行い、在庫情報をロックする
newOrder ( ) : Order 受注情報を作成
notifyComplete ( Order $Order ) 受注処理完了通知
processPurchase ( Order $Order ) 購入処理を行う
registerPreOrder ( Customer $Customer, $preOrderId ) : mixed 仮受注情報作成
sendOrderMail ( Order $Order ) : Eccube\Entity\MailHistory 受注メール送信を行う
setCustomerUpdate ( Order $Order, Customer $user ) 会員情報の更新
setDeliveryFreeAmount ( Order $Order ) 配送料無料条件(合計金額)の条件を満たしていれば配送料金を0に設定
setDeliveryFreeQuantity ( Order $Order ) 配送料無料条件(合計数量)の条件を満たしていれば配送料金を0に設定
setDiscount ( Order $Order, $discount ) 値引き金額をセット
setFormData ( Order $Order, array $data ) フォームデータを更新
setOrderStatus ( Order $Order, $status ) : Order 受注ステータスをセット
setOrderUpdate ( Order $Order, $data ) 受注情報、お届け先情報の更新
setOrderUpdateData ( Order $Order ) 受注情報の更新
setShippingDeliveryFee ( Shipping $Shipping, Eccube\Entity\Delivery $Delivery = null ) 配送料金の設定
setStockUpdate ( $em, Order $Order ) 在庫情報の更新

Method Details

__construct() public method

public __construct ( Application $app, $cartService, $orderService )
$app Eccube\Application

calculateDeliveryFee() public method

配送料の合計金額を計算
public calculateDeliveryFee ( Order $Order ) : Order
$Order Eccube\Entity\Order
return Eccube\Entity\Order

calculatePrice() public method

合計金額を計算
public calculatePrice ( Order $Order ) : Order
$Order Eccube\Entity\Order
return Eccube\Entity\Order

copyToOrderFromCustomer() public method

受注情報を作成
public copyToOrderFromCustomer ( Order $Order, Customer $Customer = null ) : Order
$Order Eccube\Entity\Order
$Customer Eccube\Entity\Customer
return Eccube\Entity\Order

copyToShippingFromCustomer() public method

お届け先情報を作成
public copyToShippingFromCustomer ( Shipping $Shipping, Customer $Customer = null ) : Shipping
$Shipping Eccube\Entity\Shipping
$Customer Eccube\Entity\Customer
return Eccube\Entity\Shipping

createOrder() public method

受注情報を作成
public createOrder ( $Customer ) : Order
$Customer
return Eccube\Entity\Order

getAmount() public method

住所などの情報が変更された時に金額の再計算を行う
public getAmount ( Order $Order ) : Order
$Order Eccube\Entity\Order
return Eccube\Entity\Order

getDeliveries() public method

配送業者情報を取得
public getDeliveries ( $productTypes ) : array
$productTypes
return array

getDeliveriesCart() public method

配送業者情報を取得
public getDeliveriesCart ( ) : array
return array

getDeliveriesOrder() public method

配送業者情報を取得
public getDeliveriesOrder ( Order $Order ) : array
$Order Eccube\Entity\Order
return array

getFormDeliveryDates() public method

お届け日を取得
public getFormDeliveryDates ( Order $Order ) : array
$Order Eccube\Entity\Order
return array

getFormPayments() public method

支払方法を取得
public getFormPayments ( $deliveries, Order $Order ) : array
$deliveries
$Order Eccube\Entity\Order
return array

getNewDetails() public method

受注明細情報、配送商品情報を作成
public getNewDetails ( Order $Order ) : Order
$Order Eccube\Entity\Order
return Eccube\Entity\Order

getNewOrder() public method

受注情報を作成
public getNewOrder ( Customer $Customer ) : Order
$Customer Eccube\Entity\Customer
return Eccube\Entity\Order

getNewOrderDetail() public method

受注明細情報を作成
public getNewOrderDetail ( Product $Product, Eccube\Entity\ProductClass $ProductClass, $quantity ) : OrderDetail
$Product Eccube\Entity\Product
$ProductClass Eccube\Entity\ProductClass
$quantity
return Eccube\Entity\OrderDetail

getNewShipmentItem() public method

配送商品情報を作成
public getNewShipmentItem ( Order $Order, Product $Product, Eccube\Entity\ProductClass $ProductClass, $quantity ) : Eccube\Entity\ShipmentItem
$Order Eccube\Entity\Order
$Product Eccube\Entity\Product
$ProductClass Eccube\Entity\ProductClass
$quantity
return Eccube\Entity\ShipmentItem

getNewShipping() public method

お届け先情報を作成
public getNewShipping ( Order $Order, Customer $Customer, $deliveries ) : Order
$Order Eccube\Entity\Order
$Customer Eccube\Entity\Customer
$deliveries
return Eccube\Entity\Order

getNonMember() public method

非会員情報を取得
public getNonMember ( $sesisonKey )
$sesisonKey

getOrder() public method

セッションにセットされた受注情報を取得
public getOrder ( null $status = null ) : null | object
$status null
return null | object

getPayments() public method

支払方法選択の表示設定
public getPayments ( $payments, $subTotal ) : array
$payments 支払選択肢情報
$subTotal 小計
return array

getProductDeliveryFee() public method

商品ごとの配送料を取得
public getProductDeliveryFee ( Shipping $Shipping ) : integer
$Shipping Eccube\Entity\Shipping
return integer

getShippingDeliveryFeeTotal() public method

お届け先ごとの送料合計を取得
public getShippingDeliveryFeeTotal ( $shippings ) : integer
$shippings
return integer

getShippingForm() public method

お届け先ごとにFormを作成
Deprecation: since 3.0, to be removed in 3.1
public getShippingForm ( Order $Order ) : Form
$Order Eccube\Entity\Order
return Symfony\Component\Form\Form

getShippingFormBuilder() public method

お届け先ごとにFormBuilderを作成
public getShippingFormBuilder ( Order $Order ) : Symfony\Component\Form\FormBuilderInterface
$Order Eccube\Entity\Order
return Symfony\Component\Form\FormBuilderInterface

isDiscount() public method

値引き可能かチェック
public isDiscount ( Order $Order, $discount ) : boolean
$Order Eccube\Entity\Order
$discount
return boolean

isOrderProduct() public method

商品公開ステータスチェック、在庫チェック、購入制限数チェックを行い、在庫情報をロックする
public isOrderProduct ( $em, Order $Order ) : boolean
$em トランザクション制御されているEntityManager
$Order Eccube\Entity\Order 受注情報
return boolean true : 成功、false : 失敗

newOrder() public method

受注情報を作成
public newOrder ( ) : Order
return Eccube\Entity\Order

notifyComplete() public method

受注処理完了通知
public notifyComplete ( Order $Order )
$Order Eccube\Entity\Order

processPurchase() public method

購入処理を行う
public processPurchase ( Order $Order )
$Order Eccube\Entity\Order

registerPreOrder() public method

仮受注情報作成
public registerPreOrder ( Customer $Customer, $preOrderId ) : mixed
$Customer Eccube\Entity\Customer
$preOrderId
return mixed

sendOrderMail() public method

受注メール送信を行う
public sendOrderMail ( Order $Order ) : Eccube\Entity\MailHistory
$Order Eccube\Entity\Order
return Eccube\Entity\MailHistory

setCustomerUpdate() public method

会員情報の更新
public setCustomerUpdate ( Order $Order, Customer $user )
$Order Eccube\Entity\Order 受注情報
$user Eccube\Entity\Customer ログインユーザ

setDeliveryFreeAmount() public method

配送料無料条件(合計金額)の条件を満たしていれば配送料金を0に設定
public setDeliveryFreeAmount ( Order $Order )
$Order Eccube\Entity\Order

setDeliveryFreeQuantity() public method

配送料無料条件(合計数量)の条件を満たしていれば配送料金を0に設定
public setDeliveryFreeQuantity ( Order $Order )
$Order Eccube\Entity\Order

setDiscount() public method

値引き金額をセット
public setDiscount ( Order $Order, $discount )
$Order Eccube\Entity\Order
$discount

setFormData() public method

フォームデータを更新
public setFormData ( Order $Order, array $data )
$Order Eccube\Entity\Order
$data array

setOrderStatus() public method

受注ステータスをセット
public setOrderStatus ( Order $Order, $status ) : Order
$Order Eccube\Entity\Order
$status
return Eccube\Entity\Order

setOrderUpdate() public method

受注情報、お届け先情報の更新
Deprecation: since 3.0.5, to be removed in 3.1
public setOrderUpdate ( Order $Order, $data )
$Order Eccube\Entity\Order 受注情報
$data フォームデータ

setOrderUpdateData() public method

受注情報の更新
public setOrderUpdateData ( Order $Order )
$Order Eccube\Entity\Order 受注情報

setShippingDeliveryFee() public method

配送料金の設定
public setShippingDeliveryFee ( Shipping $Shipping, Eccube\Entity\Delivery $Delivery = null )
$Shipping Eccube\Entity\Shipping
$Delivery Eccube\Entity\Delivery

setStockUpdate() public method

在庫情報の更新
public setStockUpdate ( $em, Order $Order )
$em トランザクション制御されているEntityManager
$Order Eccube\Entity\Order 受注情報

Property Details

$BaseInfo protected property

protected BaseInfo,Eccube\Entity $BaseInfo
return Eccube\Entity\BaseInfo

$app public property

public Application,Eccube $app
return Eccube\Application

$cartService protected property

protected CartService,Eccube\Service $cartService
return CartService

$em protected property

protected EntityManager,Doctrine\ORM $em
return Doctrine\ORM\EntityManager

$orderService protected property

protected OrderService,Eccube\Service $orderService
return Eccube\Service\OrderService