| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155 |
- <?php
- /**
- * @link:http://www.goodmall.com/
- * @copyright: Copyright (c) 2022
- * Created by PhpStorm
- * Author: zmz
- * Date: 2022-10-18
- * Time: 16:09
- */
- namespace addons\CircleDistribution\backend\controllers;
- use addons\CircleDistribution\common\enums\DistributionEnum;
- use common\enums\AddonsEnum;
- use common\enums\StatusEnum;
- use common\models\goods\Goods;
- use yii\helpers\Json;
- 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_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);
- }
- }
|