bind('goods', function (PointDeductionSettingManager $deductionSettingManager, array $params) { //dump(debug_backtrace(0,20)); return new PointGoodsDeductionSetting($params[0]); }); /** * 积分抵扣商城设置 */ $this->bind('shop', function (PointDeductionSettingManager $deductionSettingManager, array $params) { return new PointShopDeductionSetting(); }); } /** * @param Goods $goods * @return PointDeductionSettingCollection */ public function getDeductionSettingCollection(Goods $goods) { $deductionSettingCollection = collect(); foreach ($this->getBindings() as $key => $value) { $deductionSettingCollection->push($this->make($key, [$goods])); } // 按权重排序 $deductionSettingCollection = $deductionSettingCollection->sortBy(function (DeductionSettingInterface $deductionSetting) { return $deductionSetting->getWeight(); }); return new PointDeductionSettingCollection($deductionSettingCollection); } }