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_CIRCLE_DISTRIBUTION, $group); if (!empty($configs['score'])) { $configs['score'] = json_decode($configs['score'], true); $configs['score']['list'] = $configs['score']['list'] ?? []; } else { $configs['score'] = [ 'is_percent' => 0, 'list' => [] ]; } if (!empty($configs['commission'])) { $configs['commission'] = json_decode($configs['commission'], true); $configs['commission']['list'] = $configs['commission']['list'] ?? []; } else { $configs['commission'] = [ 'is_percent' => 0, 'list' => [] ]; } $configs['thaw_goods_ids'] = $configs['thaw_goods_ids'] ? Json::decode($configs['thaw_goods_ids'], true) : []; $configs['thaw_goods_list'] = []; if (!empty($configs['thaw_goods_ids'])) { $configs['thaw_goods_list'] = Goods::find()->select("id,goods_name as name,price,cover_pic,is_on_sale,status") ->where(['id' => $configs['thaw_goods_ids']]) ->orderBy(["FIELD(id, ".join(',',$configs['thaw_goods_ids']).")" => true]) ->asArray()->all(); } $configs['become_goods_ids'] = isset($configs['become_goods_ids']) && !empty($configs['become_goods_ids']) ? Json::decode($configs['become_goods_ids'], true) : []; $configs['become_goods_list'] = []; if (!empty($configs['become_goods_ids'])) { $configs['become_goods_list'] = Goods::find()->select("id,goods_name as name,price,cover_pic,is_on_sale,status") ->where(['id' => $configs['become_goods_ids']]) ->orderBy(["FIELD(id, ".join(',',$configs['become_goods_ids']).")" => true]) ->asArray()->all(); } if(!isset($configs['is_show_at_center'])) $configs['is_show_at_center'] = 1; 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', 'is_rebuy', 'is_team', 'subsidy_price_date', 'is_subsidy', 'computing_method', 'compute_type','is_enable','score','is_enable', 'become_goods_way'], 'required'], [['protocol'], 'string'], [['commission', 'score','is_show_at_center'], 'safe'], [['level', 'is_apply', 'is_check', 'is_self_buy', 'is_show_share_level', 'is_rebuy', 'is_team', 'subsidy_price_date', 'is_subsidy', 'computing_method', 'compute_type'], 'number'], [['is_circle_repurchase','repurchase_compute_type', 'become_order_status'], 'integer'], [['thaw_goods_ids', 'become_goods_ids'], 'safe'], ]; $res = \Yii::$app->services->validate->validate($post['basic'], $rules); if ($res === false) return $this->error(\Yii::$app->services->validate->getErrorMessage()); // 将数组转为json foreach ($post['basic'] as &$item) { if (is_array($item)) $item = Json::encode($item); } \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_CIRCLE_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'; return $this->success('操作成功', $data); } }