rechargeModel = $event->getRechargeModel(); if ($this->upgradeSet() == 4 && $upgradeLevel = $this->upgradeLevel()) { (new UpgradeService())->upgrade($this->rechargeModel->member_id, $upgradeLevel); } } //通过等级权重,取出满足条件最高权重的等级 private function upgradeLevel() { //0.01起步,0.00的都是不自动升级 return MemberLevel::whereBetween('balance_recharge', [0.01, $this->rechargeModel->money]) ->orderBy('level', 'desc') ->first(); } /** * 会员等级升级依据设置 * * @return int */ private function upgradeSet() { return Setting::get('shop.member.level_type'); } }