paginate($this->pageSize) ->toArray(); $pager = PaginationHelper::show($list['total'], $list['current_page'], $this->pageSize); $sort_url = 'plugin.team-dividend.admin.team-dividend-level-set.displayorder'; $delete_msg = '确定要删除该等级吗'; return view('Yunshop\TeamDividend::admin.level-set', [ 'list' => $list, 'pager' => $pager, 'total' => $list['total'], 'sort_url' => $sort_url, 'delete_msg' => $delete_msg ])->render(); } public function add() { if (\Request::getMethod() == 'POST') { $data = \YunShop::request()->dividend; // dd(request()->all()); $data['upgrade_reward_gold'] = !empty($data['upgrade_reward_gold']) ? $data['upgrade_reward_gold'] : 0; foreach ($data['code_num'] as $key => $code_num) { if ($code_num) { unset($data['has_dividend_rates'][$key]); } } $data['code_num'] = !empty($data['code_num']) ? serialize($data['code_num']) : 0; $data['award_hierarchy'] = !empty($data['award_hierarchy']) ? $data['award_hierarchy'] : 0; $data['award_ratio'] = !empty($data['award_ratio']) ? $data['award_ratio'] : 0; $data['award_gratitude'] = !empty($data['award_gratitude']) ? $data['award_gratitude'] : 0; $data['hierarchy_limit'] = !empty($data['hierarchy_limit']) ? $data['hierarchy_limit'] : 0; $data['auto_withdraw_day'] = !empty($data['auto_withdraw_day']) ? $data['auto_withdraw_day'] : 0; $data['auto_withdraw_period'] = !empty($data['auto_withdraw_period']) ? $data['auto_withdraw_period'] : 0; $data['uniacid'] = \YunShop::app()->uniacid; $team_dividend_level_model = new TeamDividendLevelModel(); $team_dividend_level_model->fill($data); $validator = $team_dividend_level_model->validator(); if ($validator->fails()) { $this->error($validator->messages()); } else { if ($team_dividend_level_model->save()) { $redpack_data = request()->time; $redpack_data['level_id'] = $team_dividend_level_model->id; LevelRedPack::store($redpack_data); $upgrade_type = \YunShop::request()->upgrade_type; $upgrade_value = \YunShop::request()->upgrade_value; $upgrade = [$upgrade_type, $upgrade_value]; $upgrade_modle = new TeamDividendLevelUpgrade(); $upgrade_modle->dividend_id = $team_dividend_level_model->id; $upgrade_modle->uniacid = \YunShop::app()->uniacid; $upgrade_modle->parase = serialize($upgrade); $upgrade_modle->save(); return $this->message('经销商等级操作成功', yzWebUrl('plugin.team-dividend.admin.team-dividend-level-set'), 'success'); } } } $enableSubscription = app('plugins')->isEnabled('subscription'); $isPluginGold = \YunShop::plugin()->get('love');//爱心值插件 $settingData = \Setting::get('plugin.team_dividend'); $goldSet = array_pluck(\Setting::getAllByGroup('Love')->toArray(), 'value', 'key'); $goldTitle = $goldSet['name'] ? $goldSet['name'] : '爱心值'; $level_list = TeamDividendLevelModel::getList()->get(); return view('Yunshop\TeamDividend::admin.level-set-add', [ 'isPluginGold' => $isPluginGold, 'enableSubscription' => $enableSubscription, 'settingData' => $settingData, 'goldTitle' => $goldTitle, 'level_list' => $level_list, 'data' => json_encode([]) ])->render(); } /*public function edit() { $id = \YunShop::request()->id ? intval(\YunShop::request()->id) : 0; if ($id == 0 || !is_int($id)) { return $this->message('参数错误', '', 'error'); } $dividend_model = TeamDividendLevelModel::getLevelById($id); $redpackModel = LevelRedPack::select()->where('level_id', $id)->first(); $upgrateModel = TeamDividendLevelUpgrade::select()->where('dividend_id', $id)->first(); $data = [ 'id' => $dividend_model->id, 'uniacid' => $dividend_model->uniacid, 'level_name' => $dividend_model->level_name, 'level_weight' => $dividend_model->level_weight, 'dividend_ratio' => $dividend_model->dividend_ratio, 'award_hierarchy' => $dividend_model->award_hierarchy, 'hierarchy_limit' => $dividend_model->hierarchy_limit, 'upgrade_reward_List' => [ 'gratitude' => $dividend_model->award_gratitude, 'peers_hierarchy' => $dividend_model->award_hierarchy, 'peers_ratio' => $dividend_model->award_ratio, 'upgrade_reward_gold' => $dividend_model->upgrade_reward_gold, 'upgrade_reward_point' => $dividend_model->upgrade_reward_point ], 'code' => $dividend_model->code_num, 'redpack' => [ 'award_ratio' => $redpackModel->award_ratio, 'first_time' => $redpackModel->first_time, 'is_open' => $redpackModel->is_open, 'second_time' => $redpackModel->second_time, 'third_time' => $redpackModel->third_time ] ]; if ($upgrateModel) { $upgrateModel = $upgrateModel->toArray(); $data['upgrate_group'] = $upgrateModel['parase']['upgrate_group']; $data['upgrate_only'] = $upgrateModel['parase']['upgrate_only']; if ($data['upgrate_only']) { foreach ($data['upgrate_only'] as $datum) { if ($datum['type'] == 'buy_specified_goods') { $goods = Goods::select(['id', 'thumb', 'title']) ->where('id', $datum['value']) ->first(); if ($goods) { $goods = $goods->toArray(); $goods['thumb'] = yz_tomedia($goods['thumb']); } } } } } return view('Yunshop\TeamDividend::admin.level-set-add', [ 'data' => json_encode($data), 'goods' => json_encode($goods) ])->render(); }*/ public function edit() { $id = \YunShop::request()->id ? intval(\YunShop::request()->id) : 0; if ($id == 0 || !is_int($id)) { return $this->message('参数错误', '', 'error'); } $dividend_model = TeamDividendLevelModel::getLevelById($id); $upgrade_modle = TeamDividendLevelUpgrade::getUpgradeByDividendId($id); $level_list = TeamDividendLevelModel::getList()->get(); $dividend_model->code_num = unserialize($dividend_model->code_num); $parase = unserialize($upgrade_modle->parase); $upgrade_data = Goods::getGoodsById($parase[1]['goods']); $goods = is_array($parase[1]['many_good']) ? Goods::getGoodsByIds($parase[1]['many_good']):[]; if ($upgrade_data) { $upgrade_data->thumb = yz_tomedia($upgrade_data->thumb); } if ($goods) { $goods->each(function ($v) { $v->thumb = yz_tomedia($v->thumb); }); } if (\Request::getMethod() == 'POST') { $data = \YunShop::request()->dividend; $data['upgrade_reward_gold'] = !empty($data['upgrade_reward_gold'])?$data['upgrade_reward_gold']:0; foreach ($data['code_num'] as $key => $code_num) { if ($code_num) { unset($data['has_dividend_rates'][$key]); } } $data['code_num'] = !empty($data['code_num']) ? serialize($data['code_num']) : 0; $data['award_hierarchy'] = !empty($data['award_hierarchy']) ? $data['award_hierarchy'] : 0; $data['award_ratio'] = !empty($data['award_ratio']) ? $data['award_ratio'] : 0; $data['award_gratitude'] = !empty($data['award_gratitude']) ? $data['award_gratitude'] : 0; $data['hierarchy_limit'] = !empty($data['hierarchy_limit']) ? $data['hierarchy_limit'] : 0; $data['auto_withdraw_day'] = !empty($data['auto_withdraw_day']) ? $data['auto_withdraw_day'] : ''; $data['auto_withdraw_period'] = !empty($data['auto_withdraw_period']) ? $data['auto_withdraw_period'] : ''; $data['number_limit'] = !empty($data['number_limit']) ? $data['number_limit'] : 0; $dividend_model->fill($data); $validator = $dividend_model->validator(); if ($validator->fails()) { $this->error($validator->messages()); } else { if ($dividend_model->save()) { $redpack_data = request()->time; $redpack_data['level_id'] = $id; LevelRedPack::edit($redpack_data); //升级条件 if ($upgrade_modle) { $upgrade_type = \YunShop::request()->upgrade_type; $upgrade_value = \YunShop::request()->upgrade_value; $upgrade = [$upgrade_type, $upgrade_value]; $upgrade_modle->parase = serialize($upgrade); $upgrade_modle->save(); }else{ $upgrade_modle = new TeamDividendLevelUpgrade(); $upgrade_modle->dividend_id = $id; $upgrade_modle->uniacid = \YunShop::app()->uniacid; $upgrade_type = \YunShop::request()->upgrade_type; $upgrade_value = \YunShop::request()->upgrade_value; $upgrade = [$upgrade_type, $upgrade_value]; $upgrade_modle->parase = serialize($upgrade); $upgrade_modle->save(); } return $this->message('经销商等级操作成功', yzWebUrl('plugin.team-dividend.admin.team-dividend-level-set'), 'success'); } } } $isPluginGold = \YunShop::plugin()->get('love');//爱心值插件 $enableSubscription = app('plugins')->isEnabled('subscription'); $goldSet = array_pluck(\Setting::getAllByGroup('Love')->toArray(), 'value', 'key'); $goldTitle = $goldSet['name'] ? $goldSet['name'] : '爱心值'; $settingData = \Setting::get('plugin.team_dividend'); return view('Yunshop\TeamDividend::admin.level-set-add', [ 'dividend' => $dividend_model, 'code_num' => $dividend_model->code_num, 'upgrade_type' => $parase[0], 'upgrade_value' => $parase[1], 'upgrade_data' => $upgrade_data, 'level_list' => $level_list, 'level_set' => 1, 'isPluginGold' => $isPluginGold, 'enableSubscription' => $enableSubscription, 'goldTitle' => $goldTitle, 'settingData' => $settingData, 'goods' => $goods, ])->render(); } public function deleted() { $id = \YunShop::request()->id ? intval(\YunShop::request()->id) : 0; if ($id == 0 || !is_int($id)) { return $this->message('参数错误', '', 'error'); } $level = TeamDividendLevelModel::getLevelById($id); if (empty($level)) { return $this->message('经销商等级不存在', '', 'error'); } if (TeamDividendLevelModel::deletedLevle(\YunShop::request()->id)) { return $this->message('经销商等级删除成功', yzWebUrl('plugin.team-dividend.admin.team-dividend-level-set.index')); } else { return $this->message('经销商等级删除失败', yzWebUrl('plugin.team-dividend.admin.team-dividend-level-set.index'), 'error'); } } public function displayorder() { $displayOrders = \YunShop::request()->display_order; foreach($displayOrders as $id => $displayOrder){ $dividend_model = TeamDividendLevelModel::find($id); $dividend_model->level_weight = $displayOrder? $displayOrder : 1; $dividend_model->save(); } return $this->message('等级权重排序成功', yzWebUrl('plugin.team-dividend.admin.team-dividend-level-set.index')); } }