orderGoods = $orderGoods; $this->uid = $this->orderGoods->uid; $orderGoods->setRelation('orderGoodsCoinExchange',$this); $this->getMemberCoin()->lockCoin($this->coin); } public function save(array $options = []) { $this->getMemberCoin()->consume($this->newCoin()->setCoin($this->coin), ['order_sn' => $this->orderGoods->order->order_sn]); return parent::save($options); } /** * 此抵扣对应的虚拟币 * @return VirtualCoin */ private function newCoin() { return app('CoinManager')->make($this->code); } /** * 下单用户此抵扣对应虚拟币的余额 * @return MemberCoin */ private function getMemberCoin() { if (isset($this->memberCoin)) { return $this->memberCoin; } return \app\frontend\modules\deduction\EnableDeductionService::getInstance()->getMemberCoin($this->code); //return app('CoinManager')->make('MemberCoinManager')->make($this->code, [$this->orderGoods->order->belongsToMember]); } }