| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 |
- <?php
- namespace addons\Redpack\backend\controllers;
- use addons\Album\common\models\AddonsAlbum;
- use addons\Redpack\common\helper\RedpackHelper;
- use addons\Agent\common\models\AgentLevel;
- use addons\Xhs\common\enums\RedpackEnum;
- use common\enums\AddonsEnum;
- use common\enums\StatusEnum;
- use common\models\common\MallSetting;
- use common\models\common\PlatformSetting;
- use common\models\mall\MallAddons;
- use Yii;
- use common\controllers\AddonsController;
- use common\models\user\UserLevel;
- /**
- * 默认控制器
- *
- * Class SettingController
- * @package addons\Xhs\backend\controllers
- */
- class SettingController extends BaseController
- {
- public $enableCsrfValidation = false;
- /**
- * 首页
- *
- * @return string
- */
- public function actionIndex()
- {
- $retuest = Yii::$app->request;
- if ($retuest->isAjax) {
- if ($retuest->isPost) {
- $params = Yii::$app->request->post();
- $res = Yii::$app->services->validate->validate($params,[
- [['frozen_status','activation_num','activation_time','transfer_status','transfer_red_type'],'safe'],
- [['auth_status','transfer_percentage','transfer_out_status','transfer_out_type','transfer_out_mode'],'safe'],
- [['transfer_out_percentage','transfer_out_service','transfer_out_balance','transfer_out_score','give_type','redpack_name'],'safe'],
- [['frozen_redpack_transfer_out_mode','frozen_redpack_transfer_out_balance','frozen_redpack_transfer_out_score',
- 'frozen_redpack_transfer_out_service','frozen_redpack_transfer_out_service_rate'],'safe'],
- [['redpack_transfer_out_mode','redpack_transfer_out_balance','redpack_transfer_out_score',
- 'redpack_transfer_out_service','redpack_transfer_out_service_rate'],'safe'],
- [['is_accelerated_activation','accelerated_goods_ids','accelerated_goods_list',
- 'accelerated_user_level_ids','accelerate_settlement_type', 'is_set_activate', 'setting_agent_level_list', 'setting_user_level_list'],'safe'],
- ]);
- if($res === false) return $this->error(Yii::$app->services->validate->getErrorMessage());
- if ($params['is_accelerated_activation'] == 0) {
- $params['accelerated_goods_ids'] = $params['accelerated_goods_list'] = [];
- }
- if ($params['setting_user_level_list']) {
- $params['setting_user_level_list'] = array_column($params['setting_user_level_list'], 'value', 'level');
- }
- if ($params['setting_agent_level_list']) {
- $params['setting_agent_level_list'] = array_column($params['setting_agent_level_list'], 'value', 'level');
- }
- //var_dump($params);
- // 保存配置
- $config = Yii::$app->services->setting->addons->set($this->mall_id, AddonsEnum::ADDONS_NAME_REDPACK, ['basic' => $params]);
- $this->success('保存成功', $config);
- } else {
- // 获取配置
- $config = Yii::$app->services->setting->addons->get($this->mall_id, AddonsEnum::ADDONS_NAME_REDPACK, 'basic');
- $config = RedpackHelper::initConfig($config);
- $config['user_level_list'] = UserLevel::getUserLevel([['mall_id' => $this->mall_id]], [], 1);
- $setting_user_level_list = json_decode($config['setting_user_level_list'], true) ?? [];
- $setting_agent_level_list = json_decode($config['setting_agent_level_list'], true) ?? [];
- //添加层数配置 会员等级列表处理
- $config['setting_user_level_list'] = array_map(function ($value) use ($setting_user_level_list){
- return [
- 'level' => $value['level'],
- 'name' => $value['name'],
- 'value' => $setting_user_level_list[$value['level']] ?? 0
- ];
- }, $config['user_level_list']);
- $config['setting_agent_level_list'] = [];
- if (MallAddons::isInstall($this->mall_id, AddonsEnum::ADDONS_NAME_AGENT)) {
- //安装了渠道分红
- $config['setting_agent_level_list'] = AgentLevel::find()
- ->where([
- 'mall_id' => $this->mall_id,
- 'status' => StatusEnum::ENABLED
- ])
- ->select('id,name,level')
- ->orderBy('level asc')
- ->asArray()
- ->all();
- $config['setting_agent_level_list'] = array_map(function ($value) use ($setting_agent_level_list) {
- return [
- 'level' => $value['level'],
- 'name' => $value['name'],
- 'value' => $setting_agent_level_list[$value['level']] ?? 0,
- ];
- }, $config['setting_agent_level_list']);
- }
- $this->success('获取成功', $config);
- }
- }
- return $this->render($this->action->id);
- }
- }
|