Ver Fonte

员工切换

shish há 5 anos atrás
pai
commit
4058c7c00d

+ 1 - 1
app/ghs/controllers/AuthController.php

@@ -212,7 +212,7 @@ class AuthController extends PublicController
 		}
 		$admin['avatar'] = Yii::$app->params['imgHost'] . '/retail/default-img.png';
 		$token = jwt::getNewToken($adminId);
-		util::success(['token' => $token, 'admin' => $admin, 'shopAdminId' => $shopAdminId]);
+		util::success(['token' => $token, 'admin' => $admin, 'shopAdminId' => $shopAdminId, 'shopId' => $currentShopId]);
 	}
 	
 }

+ 24 - 39
app/ghs/controllers/ShopController.php

@@ -15,7 +15,7 @@ use yii\web\UrlManager;
 
 class ShopController extends BaseController
 {
-
+	
 	//门店列表 shish 2021.1.14
 	public function actionList()
 	{
@@ -25,7 +25,7 @@ class ShopController extends BaseController
 		$list = ShopClass::getShopList($where);
 		util::success($list);
 	}
-
+	
 	//更新门店 shish 2020.2.29
 	public function actionUpdate()
 	{
@@ -40,7 +40,7 @@ class ShopController extends BaseController
 		ShopClass::updateShop($id, $data);
 		util::complete();
 	}
-
+	
 	//添加门店 shish 2021.1.14
 	public function actionAdd()
 	{
@@ -49,7 +49,7 @@ class ShopController extends BaseController
 		ShopClass::addShop($data);
 		util::complete();
 	}
-
+	
 	//PC下载微信和支付宝收款码 shish 2020.2.29
 	public function actionGatheringCode()
 	{
@@ -73,7 +73,7 @@ class ShopController extends BaseController
 		header("Content-Disposition: attachment; filename=" . urldecode($fileName)); //设置要下载文件的文件名
 		readfile($file);
 	}
-
+	
 	//PC获取小程序的收款码 shish
 	public function actionGatheringMiniCode()
 	{
@@ -101,7 +101,7 @@ class ShopController extends BaseController
 		header("Content-Disposition: attachment; filename=" . urldecode($fileName)); //设置要下载文件的文件名
 		readfile($file);
 	}
-
+	
 	//PC下载会员注册码 shish 2020.2.29
 	public function actionApplyMemberCode()
 	{
@@ -129,7 +129,7 @@ class ShopController extends BaseController
 		header("Content-Disposition: attachment; filename=" . urldecode($fileName)); //设置要下载文件的文件名
 		readfile($file);
 	}
-
+	
 	//删除门店 shish 2020.3.1
 	public function actionDelete()
 	{
@@ -139,39 +139,24 @@ class ShopController extends BaseController
 		ShopClass::deleteShop($shop);
 		util::complete();
 	}
-
+	
 	//获取所有门店linqh 2021.1.31
-    public function actionAll()
-    {
-
-
-
-
-
-        $res = [];
-        //adminId 为 super 才有权限看到所有的门店
-        if($this->admin['super']==1){
-            $res = ShopClass::getAllShop($this->sjId);
-        }
-        util::success($res);
-    }
+	public function actionAll()
+	{
+		$res = [];
+		//adminId 为 super 才有权限看到所有的门店
+		if ($this->admin['super'] == 1) {
+			$res = ShopClass::getAllShop($this->sjId);
+		}
+		util::success($res);
+	}
 
-    //切换门店 linqh 2021.1.31
-    public function actionToggleShop()
-    {
-        $shopId = Yii::$app->request->post('shopId',0);
-        if(!$shopId){
-            util::fail();
-        }
-        if($this->adminId['super']!=1){
-            util::fail("权限不够");
-        }
-        //修改
-        $res = AdminClass::toggleShop($this->adminId,$shopId);
-        if($res){
-            util::complete("切换成功");
-        }
-        util::fail();
-    }
+	//切换门店 linqh 2021.1.31
+	public function actionToggleShop()
+	{
+		$shopId = Yii::$app->request->post('shopId', 0);
+		$res = AdminClass::toggleShop($this->admin, $shopId, $this->sjId);
+		util::success($res);
+	}
 
 }

+ 51 - 35
biz-ghs/admin/classes/AdminClass.php

@@ -4,6 +4,7 @@ namespace bizGhs\admin\classes;
 
 use biz\user\classes\UserClass;
 use bizGhs\shop\classes\ShopAdminClass;
+use bizTy\shop\classes\ShopClass;
 use common\components\util;
 use common\services\ImageService;
 use Yii;
@@ -11,16 +12,16 @@ use bizGhs\base\classes\BaseClass;
 
 class AdminClass extends BaseClass
 {
-
+	
 	public static $baseFile = '\bizGhs\admin\models\Admin';
-
+	
 	//未知身份
 	CONST IDENTITY_UNKNOWN = 0;
 	//客户,花店
 	const IDENTITY_CUSTOM = 1;
 	//供货商员工
 	const IDENTITY_STAFF = 2;
-
+	
 	//组合员工基本信息 shish 2019.12.9
 	public static function groupAdminBaseInfo($list, $sensitive = true)
 	{
@@ -43,7 +44,7 @@ class AdminClass extends BaseClass
 		}
 		return $list;
 	}
-
+	
 	//取单个员工详情 shish 2019.12.9
 	public static function getAdminById($id)
 	{
@@ -54,7 +55,7 @@ class AdminClass extends BaseClass
 		$list = self::groupAdminBaseInfo([$detail]);
 		return current($list);
 	}
-
+	
 	//取多个员工信息 shish 2021.1.19
 	public static function getAdminByIds($ids)
 	{
@@ -65,17 +66,17 @@ class AdminClass extends BaseClass
 		$adminList = self::groupAdminBaseInfo($adminList);
 		return $adminList;
 	}
-
+	
 	//添加员工 shish 2019.12.9
 	public static function addAdmin($data)
 	{
 		$merchantId = $data['merchantId'];
-
+		
 		//验证角色
 		$roleId = $data['roleId'];
 		$role = AdminRoleClass::getById($roleId);
 		AdminRoleClass::valid($role, $merchantId);
-
+		
 		//验证关联的微信
 		$adminId = $data['admin'];
 		$admin = self::getById($adminId);
@@ -86,27 +87,27 @@ class AdminClass extends BaseClass
 		$respond = self::add($data);
 		return $respond;
 	}
-
+	
 	//获取商家的所有员工 shish 2019.12.9
 	public static function getAdminList($merchantId)
 	{
 		return self::getAllByCondition(['merchantId' => $merchantId, 'delStatus' => 0, 'status' => 1], null, '*');
 	}
-
+	
 	//获取商家所有员工的名字 shish 2019.12.9
 	public static function getAdminNameList($merchantId)
 	{
 		$list = self::getAdminList($merchantId);
 		return !empty($list) ? array_column($list, 'adminName') : [];
 	}
-
+	
 	//获取商家所有员工已经关联微信的userId
 	public static function getShopAdminUserId($merchantId)
 	{
 		$list = self::getAdminList($merchantId);
 		return !empty($list) ? array_column($list, 'userId') : [];
 	}
-
+	
 	//验证权限
 	public static function valid($admin, $merchantId)
 	{
@@ -119,7 +120,7 @@ class AdminClass extends BaseClass
 			util::fail('您没有权限操作');
 		}
 	}
-
+	
 	//删除员工,需要考虑权限 shish 2019.12.9
 	public static function deleteAdmin($admin, $adminId)
 	{
@@ -132,17 +133,17 @@ class AdminClass extends BaseClass
 		}
 		self::updateById($id, ['delStatus' => 1]);
 	}
-
+	
 	public static function getByMiniOpenId($miniOpenId)
 	{
 		return self::getByCondition(['miniOpenId' => $miniOpenId]);
 	}
-
+	
 	public static function getByUnionId($unionId)
 	{
 		return self::getByCondition(['unionId' => $unionId]);
 	}
-
+	
 	//创建以及更新用户 shish 2020.2.7
 	public static function replaceAdmin($adminInfo, $source)
 	{
@@ -190,7 +191,7 @@ class AdminClass extends BaseClass
 		}
 		return $admin;
 	}
-
+	
 	//更新员工信息 shish 2020.5.30
 	public static function updateAdmin($originalAdmin, $getAdminInfo)
 	{
@@ -229,7 +230,7 @@ class AdminClass extends BaseClass
 		if (isset($getAdminInfo['headImgUrl']) && !empty($getAdminInfo['headImgUrl'])) {
 			$data['isFull'] = 1;
 		}
-
+		
 		//更新头像
 		$merchantId = 0;
 		if (isset($originalAdmin['avatar']) == false || empty($originalAdmin['avatar'])) {
@@ -241,12 +242,12 @@ class AdminClass extends BaseClass
 				}
 			}
 		}
-
+		
 		self::updateById($adminId, $data);
 		$admin = self::getById($adminId);
 		return $admin;
 	}
-
+	
 	public static function generateAdmin($getAdminInfo)
 	{
 		$time = time();
@@ -263,7 +264,7 @@ class AdminClass extends BaseClass
 		$getAdminInfo['addTime'] = $time;
 		$getAdminInfo['source'] = isset($getAdminInfo['source']) ? $getAdminInfo['source'] : 0;
 		$getAdminInfo['hasSubscribe'] = 0;
-
+		
 		if (isset($getAdminInfo['headImgUrl']) && !empty($getAdminInfo['headImgUrl'])) {
 			$imgUrl = $getAdminInfo['headImgUrl'];
 			$name = ImageService::generateAvatar(0, $imgUrl);
@@ -271,7 +272,7 @@ class AdminClass extends BaseClass
 				$getAdminInfo['avatar'] = $name;
 			}
 		}
-
+		
 		$admin = self::add($getAdminInfo);
 		$adminId = $admin['id'];
 		if (empty($nickName)) {
@@ -279,36 +280,36 @@ class AdminClass extends BaseClass
 		}
 		return $admin;
 	}
-
+	
 	//合并管理员
 	public static function mergeAdmin($delAdmin, $retainAdmin)
 	{
 		$connection = Yii::$app->db;//事务处理
 		$transaction = $connection->beginTransaction();
 		try {
-
+			
 			$delAdminId = $delAdmin['id'];
 			$clearData = ['openId' => '', 'miniOpenId' => '', 'unionId' => ''];
 			self::updateById($delAdminId, $clearData);
-
+			
 			$transaction->commit();
 		} catch (Exception $e) {
 			$transaction->rollBack();
 			return [];
 		}
 	}
-
+	
 	//找出相同unionId的用户
 	public static function getSameUnionId($unionId)
 	{
 		return self::getAllByCondition(['unionId' => $unionId], 'addTime desc', '*');
 	}
-
+	
 	public static function getByOpenId($openId)
 	{
 		return self::getByCondition(['openId' => $openId]);
 	}
-
+	
 	//将微信和小程序获取的用户信息转成可以保存的用户信息
 	public static function switchAdminInfo($info, $source)
 	{
@@ -356,17 +357,32 @@ class AdminClass extends BaseClass
 		}
 		return $info;
 	}
-
+	
 	//取消关注 shish 2020.4.19
 	public static function unFocus($adminId)
 	{
 		self::updateById($adminId, ['subscribe' => 0, 'hasSubscribe' => 1]);
 	}
-
+	
 	//切换门店 linqh 2021.1.31
-    public static function toggleShop($adminId,$shopId)
-    {
-        return self::updateById($adminId,['currentShopId'=>$shopId]);
-    }
+	public static function toggleShop($admin, $toggleShopId, $sjId)
+	{
+		if ($admin['super'] != 1) {
+			util::fail("您没有权限");
+		}
+		$adminId = $admin['id'];
+		$currentShopId = $admin['currentShopId'] ?? 0;
+		$sjShopList = ShopClass::getSjShopList($sjId);
+		$sjShopIds = array_column($sjShopList, 'id');
+		if (in_array($toggleShopId, $sjShopIds) == false) {
+			util::fail('不是您的门店');
+		}
+		$shopAdmin = ShopAdminClass::getByCondition(['shopId' => $toggleShopId, 'adminId' => $adminId, 'delStatus' => 0]);
+		if (empty($shopAdmin)) {
+			util::fail('您没有权限哦');
+		}
+		self::updateById($adminId, ['currentShopId' => $toggleShopId]);
+		return $shopAdmin;
+	}
 
-}
+}

+ 1 - 0
biz-ghs/shop/classes/ShopAdminClass.php

@@ -1,5 +1,6 @@
 <?php
 
+//员工相关
 namespace bizGhs\shop\classes;
 
 use biz\user\classes\UserClass;

+ 109 - 103
biz-ty/shop/classes/ShopClass.php

@@ -13,108 +13,114 @@ use bizTy\base\classes\BaseClass;
 
 class ShopClass extends BaseClass
 {
-
-    public static $baseFile = '\bizTy\shop\models\Shop';
-
-    public static function getShopList($where)
-    {
-        $list = self::getList('*', $where, 'addTime DESC');
-        return $list;
-    }
-
-    //获取商家默认的门店ID shish 2020.1.19
-    public static function getDefaultShopId($merchant)
-    {
-        return isset($merchant['defaultShopId']) ? $merchant['defaultShopId'] : 0;
-    }
-
-    //创建门店 shish 2020.2.8
-    public static function addShop($data)
-    {
-        $data['createTime'] = date("Y-m-d H:i:s");
-        $shopName = isset($data['shopName']) ? $data['shopName'] : '';
-        if (empty($shopName)) {
-            util::fail('请填写门店名称');
-        }
-        $exists = self::getByCondition(['merchantId' => $data['merchantId'], 'shopName' => $shopName]);
-        if (!empty($exists)) {
-            util::fail('门店名称已经存在');
-        }
-        $shop = self::add($data);
-
-        return $shop;
-    }
-
-    //更新门店 shish 2020.2.29
-    public static function updateShop($id, $data)
-    {
-        $shopName = isset($data['shopName']) ? $data['shopName'] : '';
-        $merchantId = $data['merchantId'];
-        $findShop = self::getByCondition(['merchantId' => $merchantId, 'shopName' => $shopName]);
-        if (!empty($findShop) && $findShop['id'] != $id) {
-            util::fail('门店名称已经存在');
-        }
-        return self::updateById($id, $data);
-    }
-
-    //取商家所有门店 shish 2020.2.29
-    public static function getAllShop($merchantId)
-    {
-        return self::getAllByCondition(['merchantId' => $merchantId]);
-    }
-
-    //验证所属权限 shish 2020.2.29
-    public static function valid($shop, $merchantId)
-    {
-        if (empty($shop)) {
-            util::fail('门店无效');
-        }
-        if (isset($shop['merchantId']) == false || $shop['merchantId'] != $merchantId) {
-            util::fail('您没有权限访问');
-        }
-    }
-
-    //删除门店 shish 2020.3.1
-    public static function deleteShop($shop)
-    {
-        if (isset($shop['default']) && $shop['default'] == 1) {
-            util::fail('默认门店不允许删除');
-        }
-        $id = $shop['id'];
-        self::updateById($id, ['delStatus' => 1]);
-    }
-
-    //生成收款码 shish 2020.3.9
-    public static function generateGatheringCode($merchantId, $shopId)
-    {
-        $url = Yii::$app->params['mallDomain'] . "/#/pages/pay/index?account={$merchantId}&shopId=" . $shopId;
-        //强制转成https
-        $url = httpUtil::becomeHttps($url);
-        $gatheringCode = qrCodeUtil::generateGatheringQrCode($url, $merchantId, $shopId, '', 10);
-        return $gatheringCode;
-    }
-
-    //取门店长信息 shish 2021.1.17
-    public static function getSuper($id)
-    {
-        $shop = self::getById($id);
-        if (empty($shop)) {
-            return [];
-        }
-        $adminId = $shop['adminId'] ?? 0;
-        return \biz\admin\classes\AdminClass::getDetail($adminId);
-    }
-
-    //增加余额 shish 2021.2.21
-    //$fix = false 余额使用时不需要指定在谁那边用
-    public static function addBalance($shop, $amount, $fix = false)
-    {
-        $shop->balance += $amount;
-        $shop->totalRecharge += $amount;
-        if ($fix) {
-            $shop->fixBalance += $amount;
-        }
-        $shop->save();
-    }
+	
+	public static $baseFile = '\bizTy\shop\models\Shop';
+	
+	public static function getShopList($where)
+	{
+		$list = self::getList('*', $where, 'addTime DESC');
+		return $list;
+	}
+	
+	//获取商家默认的门店ID shish 2020.1.19
+	public static function getDefaultShopId($merchant)
+	{
+		return isset($merchant['defaultShopId']) ? $merchant['defaultShopId'] : 0;
+	}
+	
+	//创建门店 shish 2020.2.8
+	public static function addShop($data)
+	{
+		$data['createTime'] = date("Y-m-d H:i:s");
+		$shopName = isset($data['shopName']) ? $data['shopName'] : '';
+		if (empty($shopName)) {
+			util::fail('请填写门店名称');
+		}
+		$exists = self::getByCondition(['merchantId' => $data['merchantId'], 'shopName' => $shopName]);
+		if (!empty($exists)) {
+			util::fail('门店名称已经存在');
+		}
+		$shop = self::add($data);
+		
+		return $shop;
+	}
+	
+	//更新门店 shish 2020.2.29
+	public static function updateShop($id, $data)
+	{
+		$shopName = isset($data['shopName']) ? $data['shopName'] : '';
+		$merchantId = $data['merchantId'];
+		$findShop = self::getByCondition(['merchantId' => $merchantId, 'shopName' => $shopName]);
+		if (!empty($findShop) && $findShop['id'] != $id) {
+			util::fail('门店名称已经存在');
+		}
+		return self::updateById($id, $data);
+	}
+	
+	//取商家所有门店 shish 2020.2.29
+	public static function getAllShop($merchantId)
+	{
+		return self::getAllByCondition(['merchantId' => $merchantId]);
+	}
+	
+	//验证所属权限 shish 2020.2.29
+	public static function valid($shop, $merchantId)
+	{
+		if (empty($shop)) {
+			util::fail('门店无效');
+		}
+		if (isset($shop['merchantId']) == false || $shop['merchantId'] != $merchantId) {
+			util::fail('您没有权限访问');
+		}
+	}
+	
+	//删除门店 shish 2020.3.1
+	public static function deleteShop($shop)
+	{
+		if (isset($shop['default']) && $shop['default'] == 1) {
+			util::fail('默认门店不允许删除');
+		}
+		$id = $shop['id'];
+		self::updateById($id, ['delStatus' => 1]);
+	}
+	
+	//生成收款码 shish 2020.3.9
+	public static function generateGatheringCode($merchantId, $shopId)
+	{
+		$url = Yii::$app->params['mallDomain'] . "/#/pages/pay/index?account={$merchantId}&shopId=" . $shopId;
+		//强制转成https
+		$url = httpUtil::becomeHttps($url);
+		$gatheringCode = qrCodeUtil::generateGatheringQrCode($url, $merchantId, $shopId, '', 10);
+		return $gatheringCode;
+	}
+	
+	//取门店长信息 shish 2021.1.17
+	public static function getSuper($id)
+	{
+		$shop = self::getById($id);
+		if (empty($shop)) {
+			return [];
+		}
+		$adminId = $shop['adminId'] ?? 0;
+		return \biz\admin\classes\AdminClass::getDetail($adminId);
+	}
+	
+	//增加余额 shish 2021.2.21
+	//$fix = false 余额使用时不需要指定在谁那边用
+	public static function addBalance($shop, $amount, $fix = false)
+	{
+		$shop->balance += $amount;
+		$shop->totalRecharge += $amount;
+		if ($fix) {
+			$shop->fixBalance += $amount;
+		}
+		$shop->save();
+	}
+	
+	//获取商家所有的门店 shish 2021.2.26
+	public static function getSjShopList($sjId)
+	{
+		return self::getAllByCondition(['merchantId' => $sjId, 'delStatus' => 0], null, ['id']);
+	}
 
 }