| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180 |
- <?php
- /**
- * @link:http://www.goodmall.com/
- * @copyright: Copyright (c) 2020
- * Created by PhpStorm
- * Author: ganxiaohao
- * Date: 2020-05-08
- * Time: 16:09
- */
- namespace addons\Distribution\backend\controllers;
- use addons\Distribution\common\enums\DistributionEnum;
- use addons\Distribution\common\models\DistributionLevel;
- use common\enums\addons\MallAddonsEnum;
- use common\enums\AddonsEnum;
- use common\enums\StatusEnum;
- use common\models\mall\MallAddons;
- use common\enums\GoodsTypeEnum;
- use common\globals\GlobalInvoke;
- class SettingController extends BaseController
- {
- public $enableCsrfValidation = false;
- public function actionIndex()
- {
- if (\Yii::$app->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);
- }
- }
|