SetMobileController.php 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. <?php
  2. namespace backend\modules\mall\controllers;
  3. use backend\controllers\MallController;
  4. use common\enums\StatusEnum;
  5. use common\models\backend\Admin;
  6. use common\models\backend\Menu;
  7. use Yii;
  8. use yii\helpers\Json;
  9. class SetMobileController extends MallController
  10. {
  11. public function actionIndex()
  12. {
  13. $request = Yii::$app->request;
  14. //获取商城管理员账号
  15. $mall_admin= Admin::getOne([['mall_id' => $this->mall_id], ['admin_type' =>3], ['status' => StatusEnum::ENABLED]]);
  16. if ($request->isAjax) {
  17. if ($request->isPost) {
  18. $setting = \Yii::$app->request->post('setting');
  19. if(!empty($setting['login']['new_mobile']['value'])) {
  20. if (empty($setting['login']['old_mobile']['verify_code']) || empty($setting['login']['new_mobile']['verify_code'])) {
  21. return $this->error('修改登录手机号请填写验证码');
  22. }
  23. $old_mobile = \Yii::$app->cache->get($setting['login']['old_mobile']['value'] . '_EditAdminMobile');
  24. $new_mobile = \Yii::$app->cache->get($setting['login']['new_mobile']['value'] . '_EditAdminMobile');
  25. if ($setting['login']['old_mobile']['verify_code'] != $old_mobile) {
  26. return $this->error('修改登录手机号-旧手机号验证码错误');
  27. }
  28. if ($setting['login']['new_mobile']['verify_code'] != $new_mobile) {
  29. return $this->error('修改登录手机号-新手机号验证码错误');
  30. }
  31. $admin = Admin::getOne([['mobile' => $setting['login']['new_mobile']['value']], ['<>', 'id', $mall_admin->id], ['status' => StatusEnum::ENABLED]]);
  32. if ($admin) return $this->error('手机号已存在');
  33. $res = Admin::setData(['id' => $mall_admin->id, 'mobile' => $setting['login']['new_mobile']['value']]);
  34. if ($res === false) return $this->error('保存失败');
  35. }
  36. if($this->admin->admin_type<=2||($this->admin->admin_type==3&&$this->admin->is_default==1))
  37. {
  38. $open_sms_login = $setting['login']['open_sms_login']['value'];
  39. unset($setting['login']);
  40. $setting['login']['open_sms_login']['value'] = $open_sms_login;
  41. // 重新组合配置
  42. $data = self::makeUpParams($this->mall_id, $setting);
  43. $res = Yii::$app->services->setting->mall->set($this->mall_id, $data);
  44. }
  45. return $this->success('提交成功');
  46. }
  47. $login['old_mobile']['value'] = $mall_admin->mobile;
  48. $login_setting = Yii::$app->services->setting->mall->get($this->mall_id, 'login');
  49. $login['open_sms_login']['value'] = isset($login_setting['open_sms_login']) ? $login_setting['open_sms_login'] : 0;
  50. $return['login'] = $login;
  51. return $this->success('获取成功', $return);
  52. }
  53. $return['mall_id']=$this->mall_id;
  54. $return['is_super']=0;
  55. if($this->admin->admin_type==3&&$this->admin->is_default==1)
  56. {
  57. $return['is_super']=1;
  58. }
  59. if($this->admin->admin_type<=2)
  60. {
  61. $return['is_super']=1;
  62. }
  63. return $this->render($this->action->id,$return);
  64. }
  65. /**
  66. * 数组重组
  67. * @param array $params
  68. * @return array
  69. */
  70. private static function makeUpParams($mallId, array $params)
  71. {
  72. $data = [];
  73. // 重新组合配置
  74. foreach ($params as $group => $value) {
  75. foreach ($value as $name => $val) {
  76. isset($val['value']) && $data[$group][$name] = is_array($val['value']) ? Json::encode($val['value']) : $val['value'];
  77. }
  78. }
  79. return $data;
  80. }
  81. }