GoodsDeductionManager.php 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: shenyang
  5. * Date: 2017/10/11
  6. * Time: 上午10:41
  7. */
  8. namespace app\frontend\modules\deduction;
  9. use app\frontend\models\Goods;
  10. use app\frontend\modules\finance\deduction\BalanceGoodsDeduction;
  11. use app\frontend\modules\finance\deduction\PointDeductionSettingManager;
  12. use app\frontend\modules\finance\deduction\PointGoodsDeduction;
  13. use Illuminate\Container\Container;
  14. /**
  15. * 商品抵扣容器
  16. * Class GoodsDeductionManager
  17. * @package app\frontend\modules\deduction
  18. */
  19. class GoodsDeductionManager extends Container
  20. {
  21. public function __construct()
  22. {
  23. /**
  24. * 积分抵扣设置模型
  25. */
  26. $this->bind('point', function ($deductionSettingManager, $params) {
  27. /**
  28. * @var DeductionSettingManagerInterface $aDeductionSettingManager
  29. */
  30. $aDeductionSettingManager = app('DeductionManager')->make('DeductionSettingManager')->make('point');
  31. /**
  32. * @var PointDeductionSettingManager $aDeductionSettingManager
  33. */
  34. $deductionSettingCollection = $aDeductionSettingManager->getDeductionSettingCollection($params[0]);
  35. return new PointGoodsDeduction($deductionSettingCollection);
  36. });
  37. /**
  38. * 余额抵扣设置模型
  39. */
  40. $this->bind('balance', function ($deductionSettingManager, $params) {
  41. /**
  42. * @var DeductionSettingManagerInterface $aDeductionSettingManager
  43. */
  44. $aDeductionSettingManager = app('DeductionManager')->make('DeductionSettingManager')->make('balance');
  45. /**
  46. * @var PointDeductionSettingManager $aDeductionSettingManager
  47. */
  48. $deductionSettingCollection = $aDeductionSettingManager->getDeductionSettingCollection($params[0]);
  49. return new BalanceGoodsDeduction($deductionSettingCollection);
  50. });
  51. }
  52. }