Browse Source

fix bug: 解决不是本帐号的门店也能被切换成功,造成数据与帐号权限出错

shizhongqi 1 năm trước cách đây
mục cha
commit
227d42944a
2 tập tin đã thay đổi với 29 bổ sung0 xóa
  1. 7 0
      biz-hd/admin/classes/AdminClass.php
  2. 22 0
      common/base/classes/BaseClass.php

+ 7 - 0
biz-hd/admin/classes/AdminClass.php

@@ -36,6 +36,13 @@ class AdminClass extends BaseClass
         if (empty($right)) {
             util::fail("没有权限");
         }
+
+        // 判断 $newShop 是否本账号下的门店
+        $exit = ShopAdminClass::exists(['adminId'=>$admin->id, 'mainId'=>$newShop->mainId]);
+        if (!$exit) { // 不存在说明不是本账号下的门店,则直接返回
+            util::fail("切换的不是您的门店");
+        }
+
         $newShopId = $newShop->id ?? 0;
         $pfShopId = $newShop->pfShopId ?? 0;
         $shopAdmin = \biz\shop\classes\ShopAdminClass::changeShopAddRelate($originShopAdmin, $newShop);

+ 22 - 0
common/base/classes/BaseClass.php

@@ -3,6 +3,7 @@
 namespace common\base\classes;
 
 use Yii;
+use \common\base\models\Base;
 
 class BaseClass
 {
@@ -12,6 +13,7 @@ class BaseClass
     //查询全部 ssh 2019.11.27
     public static function getAllList($select, $where, $order = '', $with = '')
     {
+        /** @var Base $model */
         $model = Yii::createObject(['class' => static::$baseFile]);
         $return = $model->getAllList($select, $where, $order, $with);
         return $return;
@@ -20,6 +22,7 @@ class BaseClass
     //分页查询 ssh 2019.9.21
     public static function getList($select, $where, $order = '', $with = '')
     {
+        /** @var Base $model */
         $get = Yii::$app->request->get();
         $page = isset($get['page']) ? $get['page'] : 1;
         Yii::$app->params['page'] = $page;
@@ -32,6 +35,7 @@ class BaseClass
     //查询指定条数 ssh 2019.11.30
     public static function getLimitList($select, $where, $limit = 10, $order = '', $with = '')
     {
+        /** @var Base $model */
         $model = Yii::createObject(['class' => static::$baseFile]);
         $return = $model->getLimitList($select, $where, $limit, $order, $with);
         return $return;
@@ -39,6 +43,7 @@ class BaseClass
 
     public static function add($data, $returnObject = false)
     {
+        /** @var Base $model */
         $model = Yii::createObject(['class' => static::$baseFile]);
         return $model->add($data, $returnObject);
     }
@@ -48,6 +53,7 @@ class BaseClass
      */
     public static function batchAdd($data)
     {
+        /** @var Base $model */
         $model = Yii::createObject(['class' => static::$baseFile]);
         $model->batchAdd($data);
     }
@@ -57,6 +63,7 @@ class BaseClass
      */
     public static function deleteById($id)
     {
+        /** @var Base $model */
         $model = Yii::createObject(['class' => static::$baseFile]);
         return $model->deleteById($id);
     }
@@ -66,6 +73,7 @@ class BaseClass
      */
     public static function deleteByCondition($condition)
     {
+        /** @var Base $model */
         $model = Yii::createObject(['class' => static::$baseFile]);
         $count = $model->deleteByCondition($condition);
         return $count;
@@ -74,6 +82,7 @@ class BaseClass
     //根据id批量删 ssh 2019.12.7
     public static function deleteByIds($ids)
     {
+        /** @var Base $model */
         $model = Yii::createObject(['class' => static::$baseFile]);
         return $model->deleteByIds($ids);
     }
@@ -83,6 +92,7 @@ class BaseClass
      */
     public static function updateById($id, $data)
     {
+        /** @var Base $model */
         $model = Yii::createObject(['class' => static::$baseFile]);
         return $model->updateById($id, $data);
     }
@@ -90,6 +100,7 @@ class BaseClass
     //根据多个主键id更新 ssh 2019.9.3
     public static function updateByIds($ids, $data)
     {
+        /** @var Base $model */
         $model = Yii::createObject(['class' => static::$baseFile]);
         return $model->updateByIds($ids, $data);
     }
@@ -99,6 +110,7 @@ class BaseClass
      */
     public static function updateByCondition($condition, $data)
     {
+        /** @var Base $model */
         $model = Yii::createObject(['class' => static::$baseFile]);
         $count = $model->updateByCondition($condition, $data);
         return $count;
@@ -109,6 +121,7 @@ class BaseClass
      */
     public static function getById($id, $returnObject = false)
     {
+        /** @var Base $model */
         $model = Yii::createObject(['class' => static::$baseFile]);
         return $model->getById($id, $returnObject);
     }
@@ -116,6 +129,7 @@ class BaseClass
     //随机取一个 ssh 2020.2.10
     public static function getOne($returnObject = false, $order = false)
     {
+        /** @var Base $model */
         $model = Yii::createObject(['class' => static::$baseFile]);
         return $model->getOne($returnObject, $order);
     }
@@ -125,6 +139,7 @@ class BaseClass
      */
     public static function getByCondition($condition, $returnObject = false, $order = false)
     {
+        /** @var Base $model */
         $model = Yii::createObject(['class' => static::$baseFile]);
         return $model->getByCondition($condition, $returnObject, $order);
     }
@@ -132,6 +147,7 @@ class BaseClass
     //是否存在  ssh 2019.8.30
     public static function exists($condition)
     {
+        /** @var Base $model */
         $model = Yii::createObject(['class' => static::$baseFile]);
         return $model->exists($condition);
     }
@@ -141,6 +157,7 @@ class BaseClass
      */
     public static function getAllByCondition($condition, $order = null, $field, $indexBy = null, $returnObject = false)
     {
+        /** @var Base $model */
         $model = Yii::createObject(['class' => static::$baseFile]);
         return $model->getAllByCondition($condition, $order, $field, $indexBy, $returnObject);
     }
@@ -150,6 +167,7 @@ class BaseClass
      */
     public static function getByIds($ids, $order = null, $indexBy = null)
     {
+        /** @var Base $model */
         $model = Yii::createObject(['class' => static::$baseFile]);
         return $model->getByIds($ids, $order, $indexBy);
     }
@@ -159,6 +177,7 @@ class BaseClass
      */
     public static function getCount($condition)
     {
+        /** @var Base $model */
         $model = Yii::createObject(['class' => static::$baseFile]);
         return $model->getCount($condition);
     }
@@ -166,6 +185,7 @@ class BaseClass
     //计数器+1-1 shizq 2019-12-05
     public static function counters($counters, $condition, $params = [])
     {
+        /** @var Base $model */
         $model = Yii::createObject(['class' => static::$baseFile]);
         return $model->counters($counters, $condition, $params);
     }
@@ -173,6 +193,7 @@ class BaseClass
     //根据主键获取被销的信息 ssh 2021.5.18
     public static function getLockById($id)
     {
+        /** @var Base $model */
         $model = Yii::createObject(['class' => static::$baseFile]);
         return $model->getLockById($id);
     }
@@ -180,6 +201,7 @@ class BaseClass
     //求和
     public static function sum($condition, $field)
     {
+        /** @var Base $model */
         $model = Yii::createObject(['class' => static::$baseFile]);
         return $model->sum($condition, $field);
     }