request->isAjax) { if(\Yii::$app->request->isGet){ $group = \Yii::$app->request->get('group'); $group = $group ?: 'basic'; $configs = \Yii::$app->services->setting->addons->get($this->mall_id, AddonsEnum::ADDONS_NAME_DISTRIBUTION, $group); $configs['is_huiju_beauty'] = DistributionEnum::getHuiJuBeauty($this->mall_id); if (!empty($configs['score'])) { $configs['score'] = json_decode($configs['score'], true); } else { $configs['score'] = [ 'is_percent' => 0, 'first_prize' => 0, 'second_prize' => 0, 'third_prize' => 0, ]; } if (!empty($configs['commission'])) { $configs['commission'] = json_decode($configs['commission'], true); } else { $configs['commission'] = [ 'is_percent' => 0, 'first_prize' => 0, 'second_prize' => 0, 'third_prize' => 0, ]; } if (!empty($configs['drive_cy'])) { $configs['drive_cy'] = json_decode($configs['drive_cy'], true); } else { $configs['drive_cy'] = [ 'is_percent' => 0, 'first_prize' => 0, 'second_prize' => 0, 'third_prize' => 0, ]; } if (!empty($configs['digital'])) { $configs['digital'] = json_decode($configs['digital'], true); } else { $configs['digital'] = [ 'is_percent' => 0, 'first_prize' => 0, 'second_prize' => 0, 'third_prize' => 0, ]; } if(!isset($configs['is_show_at_center'])) $configs['is_show_at_center'] = 1; if(!isset($configs['is_default_level'])) $configs['is_default_level'] = 1; if(!isset($configs['default_level_name'])) $configs['default_level_name'] = '默认等级'; $is_show_decr_score = isset(\Yii::$app->params['is_show_decr_score']) ? intval(\Yii::$app->params['is_show_decr_score']): 0; $configs['is_show_decr_score'] = $is_show_decr_score; if(!isset( $configs['set_team_achievement'])) $configs['is_open_level_limit'] = 0; if(!isset( $configs['is_open_level_limit'])) $configs['is_open_level_limit'] = 0; if(!isset( $configs['enable_repurchase_reward'])) $configs['enable_repurchase_reward'] = 0; if(!isset( $configs['is_reward_score_limit'])) $configs['is_reward_score_limit'] = 0; if(!isset( $configs['reward_score_limit'])) $configs['reward_score_limit'] = 0; return $this->success('操作成功', $configs); } if(\Yii::$app->request->isPost){ $post = \Yii::$app->request->post(); $rules = [ [['level', 'is_apply', 'is_check', 'is_self_buy', 'is_show_share_level', 'rebuy_price_date', 'is_rebuy', 'is_team', 'subsidy_price_date', 'is_subsidy', 'computing_method', 'compute_type','set_team_achievement','is_open_level_limit'], 'required'], [['protocol'], 'string'], [['enable_repurchase_reward','is_reward_score_limit'], 'integer'], [['commission', 'score','is_show_at_center','default_level_name','is_default_level', 'drive_cy','digital'], 'safe'], [['level', 'is_apply', 'is_check', 'is_self_buy', 'is_show_share_level', 'rebuy_price_date', 'is_rebuy', 'is_team', 'subsidy_price_date', 'is_subsidy', 'computing_method', 'compute_type', 'is_decr_score','reward_score_limit'], 'number'] ]; $res = \Yii::$app->services->validate->validate($post['basic'], $rules); if ($res === false) return $this->error(\Yii::$app->services->validate->getErrorMessage()); \Yii::$app->services->setting->addons->set($this->mall_id, DistributionEnum::ADDONS_NAME, ['basic' => $post['basic']]); return $this->success('操作成功'); } } return $this->render('index'); } public function actionConfigVal() { if (!\Yii::$app->request->isGet) { return $this->error('请求方式错误'); } $group = \Yii::$app->request->get('group'); $group = $group ?: 'basic'; $configs = \Yii::$app->services->setting->addons->get($this->mall_id, AddonsEnum::ADDONS_NAME_DISTRIBUTION, $group); if (!empty($configs['score'])) { $configs['score'] = json_decode($configs['score'], true); } else { $configs['score'] = [ 'is_percent' => 0, 'first_prize' => 0, 'second_prize' => 0, 'third_prize' => 0, ]; } if (!empty($configs['commission'])) { $configs['commission'] = json_decode($configs['commission'], true); } else { $configs['commission'] = [ 'is_percent' => 0, 'first_prize' => 0, 'second_prize' => 0, 'third_prize' => 0, ]; } return $this->success('操作成功', $configs); } public function actionStore() { if (!\Yii::$app->request->isPost) { return $this->error('请求方式错误'); } $post = \Yii::$app->request->post(); $rules = [ [['level', 'is_apply', 'is_check', 'is_self_buy', 'price_type', 'score_type', 'first_price', 'second_price', 'third_price', 'first_score', 'second_score', 'third_score', 'is_show_share_level', 'rebuy_price_date', 'is_rebuy', 'is_team', 'subsidy_price_date', 'is_subsidy', 'computing_method', 'compute_type'], 'required'], [['protocol'], 'string'], [['commission', 'score'], 'safe'], [['level', 'is_apply', 'is_check', 'is_self_buy', 'price_type', 'score_type', 'first_price', 'second_price', 'third_price', 'first_score', 'second_score', 'third_score', 'is_show_share_level', 'rebuy_price_date', 'is_rebuy', 'is_team', 'subsidy_price_date', 'is_subsidy', 'computing_method', 'compute_type'], 'number'] ]; $res = \Yii::$app->services->validate->validate($post['basic'], $rules); if ($res === false) return $this->error(\Yii::$app->services->validate->getErrorMessage()); \Yii::$app->services->setting->addons->set($this->mall_id, 'Distribution', ['basic' => $post['basic']]); return $this->success('操作成功'); } public function actionConfigSetting() { $setting = \Yii::$app->services->setting->addons->get($this->mall_id, DistributionEnum::ADDONS_NAME, 'basic'); $data['levels'] = $setting['level'] ?? '2'; $data['level_list'] = DistributionLevel::lists([ 'where' => [ ['mall_id' => $this->mall_id], ['status' => StatusEnum::ENABLED] ], 'select' => 'id, level, name' ]); $default_level_name = '默认等级'; if(!empty($setting['default_level_name'])){ $default_level_name = $setting['default_level_name']; } array_unshift($data['level_list'], ['id' => 0,'level' => 0, 'name' => $default_level_name]); $data['is_install_regular_bonus'] = (int)MallAddons::isInstall($this->mall_id, AddonsEnum::ADDONS_NAME_REGULAR_BONUS); return $this->success('操作成功', $data); } }