Item.php 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Downloadable\Model\Link\Purchased;
  7. use Magento\Downloadable\Model\ResourceModel\Link\Purchased\Item as Resource;
  8. /**
  9. * Downloadable links purchased item model
  10. *
  11. * @method int getPurchasedId()
  12. * @method Item setPurchasedId($value)
  13. * @method int getOrderItemId()
  14. * @method Item setOrderItemId($value)
  15. * @method int getProductId()
  16. * @method Item setProductId($value)
  17. * @method string getLinkHash()
  18. * @method Item setLinkHash($value)
  19. * @method int getNumberOfDownloadsBought()
  20. * @method Item setNumberOfDownloadsBought($value)
  21. * @method int getNumberOfDownloadsUsed()
  22. * @method Item setNumberOfDownloadsUsed($value)
  23. * @method int getLinkId()
  24. * @method Item setLinkId($value)
  25. * @method string getLinkTitle()
  26. * @method Item setLinkTitle($value)
  27. * @method int getIsShareable()
  28. * @method Item setIsShareable($value)
  29. * @method string getLinkUrl()
  30. * @method Item setLinkUrl($value)
  31. * @method string getLinkFile()
  32. * @method Item setLinkFile($value)
  33. * @method string getLinkType()
  34. * @method Item setLinkType($value)
  35. * @method string getStatus()
  36. * @method Item setStatus($value)
  37. * @method string getCreatedAt()
  38. * @method Item setCreatedAt($value)
  39. * @method string getUpdatedAt()
  40. * @method Item setUpdatedAt($value)
  41. *
  42. * @api
  43. * @since 100.0.2
  44. */
  45. class Item extends \Magento\Framework\Model\AbstractModel
  46. {
  47. const XML_PATH_ORDER_ITEM_STATUS = 'catalog/downloadable/order_item_status';
  48. const LINK_STATUS_PENDING = 'pending';
  49. const LINK_STATUS_AVAILABLE = 'available';
  50. const LINK_STATUS_EXPIRED = 'expired';
  51. const LINK_STATUS_PENDING_PAYMENT = 'pending_payment';
  52. const LINK_STATUS_PAYMENT_REVIEW = 'payment_review';
  53. /**
  54. * Enter description here...
  55. *
  56. * @return void
  57. */
  58. protected function _construct()
  59. {
  60. $this->_init(\Magento\Downloadable\Model\ResourceModel\Link\Purchased\Item::class);
  61. parent::_construct();
  62. }
  63. /**
  64. * Check order item id
  65. *
  66. * @return $this
  67. * @throws \Exception
  68. */
  69. public function beforeSave()
  70. {
  71. if (null == $this->getOrderItemId()) {
  72. throw new \Exception(__('Order item id cannot be null'));
  73. }
  74. return parent::beforeSave();
  75. }
  76. }