request; //获取商城管理员账号 $mall_admin= Admin::getOne([['mall_id' => $this->mall_id], ['admin_type' =>3], ['status' => StatusEnum::ENABLED]]); if ($request->isAjax) { if ($request->isPost) { $setting = \Yii::$app->request->post('setting'); if(!empty($setting['login']['new_mobile']['value'])) { if (empty($setting['login']['old_mobile']['verify_code']) || empty($setting['login']['new_mobile']['verify_code'])) { return $this->error('修改登录手机号请填写验证码'); } $old_mobile = \Yii::$app->cache->get($setting['login']['old_mobile']['value'] . '_EditAdminMobile'); $new_mobile = \Yii::$app->cache->get($setting['login']['new_mobile']['value'] . '_EditAdminMobile'); if ($setting['login']['old_mobile']['verify_code'] != $old_mobile) { return $this->error('修改登录手机号-旧手机号验证码错误'); } if ($setting['login']['new_mobile']['verify_code'] != $new_mobile) { return $this->error('修改登录手机号-新手机号验证码错误'); } $admin = Admin::getOne([['mobile' => $setting['login']['new_mobile']['value']], ['<>', 'id', $mall_admin->id], ['status' => StatusEnum::ENABLED]]); if ($admin) return $this->error('手机号已存在'); $res = Admin::setData(['id' => $mall_admin->id, 'mobile' => $setting['login']['new_mobile']['value']]); if ($res === false) return $this->error('保存失败'); } if($this->admin->admin_type<=2||($this->admin->admin_type==3&&$this->admin->is_default==1)) { $open_sms_login = $setting['login']['open_sms_login']['value']; unset($setting['login']); $setting['login']['open_sms_login']['value'] = $open_sms_login; // 重新组合配置 $data = self::makeUpParams($this->mall_id, $setting); $res = Yii::$app->services->setting->mall->set($this->mall_id, $data); } return $this->success('提交成功'); } $login['old_mobile']['value'] = $mall_admin->mobile; $login_setting = Yii::$app->services->setting->mall->get($this->mall_id, 'login'); $login['open_sms_login']['value'] = isset($login_setting['open_sms_login']) ? $login_setting['open_sms_login'] : 0; $return['login'] = $login; return $this->success('获取成功', $return); } $return['mall_id']=$this->mall_id; $return['is_super']=0; if($this->admin->admin_type==3&&$this->admin->is_default==1) { $return['is_super']=1; } if($this->admin->admin_type<=2) { $return['is_super']=1; } return $this->render($this->action->id,$return); } /** * 数组重组 * @param array $params * @return array */ private static function makeUpParams($mallId, array $params) { $data = []; // 重新组合配置 foreach ($params as $group => $value) { foreach ($value as $name => $val) { isset($val['value']) && $data[$group][$name] = is_array($val['value']) ? Json::encode($val['value']) : $val['value']; } } return $data; } }