From cd66e2c159f87274e57049e67f9caa352069c5cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E7=90=A6?= Date: Fri, 8 May 2026 16:49:01 +0800 Subject: [PATCH] =?UTF-8?q?=E9=97=A8=E5=BA=97=E7=BB=91=E5=AE=9A=E4=BC=98?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../v1/controllers/StoreController.php | 61 +++++++++++-------- 1 file changed, 37 insertions(+), 24 deletions(-) diff --git a/member/modules/v1/controllers/StoreController.php b/member/modules/v1/controllers/StoreController.php index 6066a8a..bdae1ae 100644 --- a/member/modules/v1/controllers/StoreController.php +++ b/member/modules/v1/controllers/StoreController.php @@ -97,53 +97,66 @@ class StoreController extends BaseAppController */ public function actionStoreChange() { - $post=\Yii::$app->request->post(); + $post = \Yii::$app->request->post(); - $this->requestValidate($post,[ - ['store_id','required'] + $this->requestValidate($post, [ + ['store_id', 'required'] ]); - $t=\Yii::$app->db->beginTransaction(); + + // 获取当前用户 + $userId = \Yii::$app->user->identity->getId(); + $user = User::findOne($userId); + if (!$user) { + throw new Exception('用户不存在'); + } + + // 如果当前门店就是要切换的门店,直接返回 + if ($user->current_store_id == $post['store_id']) { + return ['success1']; + } + + $t = \Yii::$app->db->beginTransaction(); try { $store = Store::findOne($post['store_id']); - if(!$store)throw new Exception('门店不存在'); + if (!$store) { + throw new Exception('门店不存在'); + } - - StoreUser::updateAll(['is_online' => 0],[ - 'user_id' => \Yii::$app->user->identity->getId(), + StoreUser::updateAll(['is_online' => 0], [ + 'user_id' => $userId, 'is_delete' => 0, 'is_online' => 1 ]); - $StoreUser=StoreUser::find()->where([ - 'user_id' => \Yii::$app->user->identity->getId(), - 'store_id' => $post['store_id'], + $StoreUser = StoreUser::find()->where([ + 'user_id' => $userId, + 'store_id' => $post['store_id'], 'is_delete' => 0, ])->one(); - if (!$StoreUser){//绑定门店 + + if (!$StoreUser) { // 绑定门店 $StoreUser = new StoreUser(); $StoreUser->store_id = $post['store_id']; - $StoreUser->user_id = \Yii::$app->user->identity->getId(); - //如果是搜索小程序进入后扫码其他门店,删除默认门店数据 - - StoreUser::updateAll(['is_delete' => 1],[ - 'user_id' => \Yii::$app->user->identity->getId(), + $StoreUser->user_id = $userId; + // 如果是搜索小程序进入后扫码其他门店,删除默认门店数据 + StoreUser::updateAll(['is_delete' => 1], [ + 'user_id' => $userId, 'is_delete' => 0, - 'type' => 1 + 'type' => 1 ]); } + $StoreUser->last_login_time = time(); - $StoreUser->type=2; - $StoreUser->is_online=1; + $StoreUser->type = 2; + $StoreUser->is_online = 1; $StoreUser->saveOrFail(); - $user=User::find()->where(['id'=>\Yii::$app->user->identity->getId()])->one(); - if (!$user) throw new Exception('用户不存在'); - $user->current_store_id=$post['store_id']; + $user->current_store_id = $post['store_id']; $user->saveOrFail(); $t->commit(); return ['success']; - }catch (\Exception $exception){ + } catch (\Exception $exception) { $t->rollBack(); throw new Exception($exception->getMessage()); }