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); } }