request; if ($retuest->isAjax) { if ($retuest->isPost) { $params = Yii::$app->request->post(); $res = Yii::$app->services->validate->validate($params,[ [['detail'], 'string'], [['is_enable','compute_type','compute_period','settlement_method','settlement_period','is_show_at_center','is_sediment','sediment_type', 'is_decr_score', 'is_prize_pool', 'prize_pool_time', 'prize_pool_period', 'performance_settlement_method', 'prize_pool_source', 'custom_compute_days'], 'integer'], [['is_enable','compute_type','compute_period','settlement_method','settlement_period'], 'required'], [['sediment_percent', 'prize_pool_amount'], 'double'], [['boss_level', 'participate_decr_score_type'], 'safe'], ]); if($res === false) return $this->error(Yii::$app->services->validate->getErrorMessage()); if (!empty($params['boss_level'])) $params['boss_level'] = json_encode($params['boss_level']); if ( isset($params['compute_period']) && $params['compute_period'] == LevelEnum::PERIOD_CUSTOM_DAYS && (empty($params['custom_compute_days']) || $params['custom_compute_days'] <= 0) ) { $this->error('请输入正确结算天数'); return; } // 保存配置 $config = Yii::$app->services->setting->addons->set($this->mall_id, BossEnum::ADDONS_NAME, ['basic' => $params]); $this->success('保存成功', $config); } else { // 获取配置 $config = Yii::$app->services->setting->addons->get($this->mall_id, BossEnum::ADDONS_NAME, 'basic'); //$is_show_decr_score = isset(\Yii::$app->params['is_show_decr_score']) ? intval(\Yii::$app->params['is_show_decr_score']): 0; $is_show_decr_score = 1; $config['is_show_decr_score'] = $is_show_decr_score; $config['participate_decr_score_type'] = json_decode($config['participate_decr_score_type'] ?? '', true) ?: []; $config['participate_decr_score_type'] = array_merge([ 'perpetual' => 1, 'extra' => 0 ], $config['participate_decr_score_type']); if(!isset($config['is_show_at_center'])) $config['is_show_at_center'] = 1; $config['boss_level'] = !empty($config['boss_level']) ? json_decode($config['boss_level'], true) : []; //获取股东权重数据 $levels = AddonsBossLevel::lists([ 'where' => [ ['mall_id' => $this->mall_id], ['status' => StatusEnum::ENABLED], ], 'select' => 'id,level,name', ]); $config['levels'] = $levels; $this->success('获取成功', $config); } } return $this->render($this->action->id); } }