소스 검색

添加员工

shish 4 년 전
부모
커밋
6e43485d0e
4개의 변경된 파일133개의 추가작업 그리고 100개의 파일을 삭제
  1. 34 24
      app-ghs/controllers/ShopAdminController.php
  2. 33 23
      app-hd/controllers/ShopAdminController.php
  3. 56 48
      biz-ghs/admin/classes/AdminClass.php
  4. 10 5
      biz-ghs/shop/services/ShopAdminService.php

+ 34 - 24
app-ghs/controllers/ShopAdminController.php

@@ -47,33 +47,43 @@ class ShopAdminController extends BaseController
             util::fail('没有权限');
         }
 
-        $post = Yii::$app->request->post();
-        $authCode = $post['authCode'] ?? '';
-        $mobile = $post['mobile'] ?? '';
-        $name = $post['name'] ?? '';
-        //避免重复提交
-        util::checkRepeatCommit($mobile, 10);
+        $connection = Yii::$app->db;
+        $transaction = $connection->beginTransaction();
+        try {
 
-        $ptStyle = Yii::$app->params['ptStyle'];
+            $post = Yii::$app->request->post();
+            $authCode = $post['authCode'] ?? '';
+            $mobile = $post['mobile'] ?? '';
+            $name = $post['name'] ?? '';
+            //避免重复提交
+            util::checkRepeatCommit($mobile, 10);
 
-        $cacheKey = 'add_staff_auth_code_' . $ptStyle . '_' . $mobile;
-        $saveAuthCode = Yii::$app->redis->executeCommand('GET', [$cacheKey]);
-        if (empty($saveAuthCode)) {
-            util::fail('请填写验证码哦');
-        }
-        if (empty($authCode)) {
-            util::fail('请填写验证码');
-        }
-        if ($saveAuthCode != $authCode) {
-            util::fail('验证码错误');
+            $ptStyle = Yii::$app->params['ptStyle'];
+
+            $cacheKey = 'add_staff_auth_code_' . $ptStyle . '_' . $mobile;
+            $saveAuthCode = Yii::$app->redis->executeCommand('GET', [$cacheKey]);
+            if (empty($saveAuthCode)) {
+                util::fail('请填写验证码哦');
+            }
+            if (empty($authCode)) {
+                util::fail('请填写验证码');
+            }
+            if ($saveAuthCode != $authCode) {
+                util::fail('验证码错误');
+            }
+            $ptStyle = Yii::$app->params['ptStyle'];
+            $adminInfo = ['name' => $name, 'mobile' => $mobile, 'style' => $ptStyle, 'currentGhsShopId' => $this->shopId];
+            $fromApp = dict::getDict('userSourceGetId', 'app', 'id');
+            $admin = \bizGhs\admin\classes\AdminClass::replaceAdmin($adminInfo, $fromApp);
+            $post['shopId'] = $this->shopId;
+            $respond = ShopAdminService::appGenerateStaff($post, $admin);
+            $transaction->commit();
+            util::success($respond);
+        } catch (\Exception $exception) {
+            $transaction->rollBack();
+            Yii::info("失败原因:" . $exception->getMessage());
+            util::fail('添加失败');
         }
-        $ptStyle = Yii::$app->params['ptStyle'];
-        $adminInfo = ['name' => $name, 'mobile' => $mobile, 'style' => $ptStyle,];
-        $fromApp = dict::getDict('userSourceGetId', 'app', 'id');
-        $admin = AdminService::replaceAdmin($adminInfo, $fromApp);
-        $post['shopId'] = $this->shopId;
-        $respond = ShopAdminService::appGenerateStaff($post, $admin);
-        util::success($respond);
     }
 
     //创建管理员数据准备 ssh 2020.4.17

+ 33 - 23
app-hd/controllers/ShopAdminController.php

@@ -47,33 +47,43 @@ class ShopAdminController extends BaseController
             util::fail('没有权限');
         }
 
-        $post = Yii::$app->request->post();
-        $authCode = $post['authCode'] ?? '';
-        $mobile = $post['mobile'] ?? '';
-        $name = $post['name'] ?? '';
+        $connection = Yii::$app->db;
+        $transaction = $connection->beginTransaction();
+        try {
 
-        //避免重复提交
-        util::checkRepeatCommit($mobile, 10);
+            $post = Yii::$app->request->post();
+            $authCode = $post['authCode'] ?? '';
+            $mobile = $post['mobile'] ?? '';
+            $name = $post['name'] ?? '';
 
-        $ptStyle = Yii::$app->params['ptStyle'];
+            //避免重复提交
+            util::checkRepeatCommit($mobile, 10);
 
-        $cacheKey = 'add_staff_auth_code_' . $ptStyle . '_' . $mobile;
-        $saveAuthCode = Yii::$app->redis->executeCommand('GET', [$cacheKey]);
-        if (empty($saveAuthCode)) {
-            util::fail('请填写验证码哦');
-        }
-        if (empty($authCode)) {
-            util::fail('请填写验证码');
-        }
-        if ($saveAuthCode != $authCode) {
-            util::fail('验证码错误');
+            $ptStyle = Yii::$app->params['ptStyle'];
+
+            $cacheKey = 'add_staff_auth_code_' . $ptStyle . '_' . $mobile;
+            $saveAuthCode = Yii::$app->redis->executeCommand('GET', [$cacheKey]);
+            if (empty($saveAuthCode)) {
+                util::fail('请填写验证码哦');
+            }
+            if (empty($authCode)) {
+                util::fail('请填写验证码');
+            }
+            if ($saveAuthCode != $authCode) {
+                util::fail('验证码错误');
+            }
+            $adminInfo = ['name' => $name, 'mobile' => $mobile, 'style' => $ptStyle, 'currentShopId' => $this->shopId];
+            $fromApp = dict::getDict('userSourceGetId', 'app', 'id');
+            $admin = \bizGhs\admin\classes\AdminClass::replaceAdmin($adminInfo, $fromApp);
+            $post['shopId'] = $this->shopId;
+            $respond = \bizGhs\shop\services\ShopAdminService::appGenerateStaff($post, $admin);
+            $transaction->commit();
+            util::success($respond);
+        } catch (\Exception $exception) {
+            $transaction->rollBack();
+            Yii::info("失败原因:" . $exception->getMessage());
+            util::fail('添加失败');
         }
-        $adminInfo = ['name' => $name, 'mobile' => $mobile, 'style' => $ptStyle,];
-        $fromApp = dict::getDict('userSourceGetId', 'app', 'id');
-        $admin = AdminService::replaceAdmin($adminInfo, $fromApp);
-        $post['shopId'] = $this->shopId;
-        $respond = \bizGhs\shop\services\ShopAdminService::appGenerateStaff($post, $admin);
-        util::success($respond);
     }
 
     //创建管理员数据准备 ssh 2020.4.17

+ 56 - 48
biz-ghs/admin/classes/AdminClass.php

@@ -245,99 +245,107 @@ class AdminClass extends BaseClass
     }
 
     //更新员工信息 ssh 2020.5.30
-    public static function updateAdmin($original, $getAdminInfo)
+    public static function updateAdmin($original, $adminData)
     {
         $data = [];
         $adminId = $original['id'];
         //替换掉微信不支持的图片
-        $nickName = isset($getAdminInfo['nickName']) ? preg_replace('/[\x{10000}-\x{10FFFF}]/u', '', $getAdminInfo['nickName']) : '';
+        $nickName = isset($adminData['nickName']) ? preg_replace('/[\x{10000}-\x{10FFFF}]/u', '', $adminData['nickName']) : '';
         if (!empty($nickName)) {
             $data['name'] = $nickName;
         }
-        if (isset($getAdminInfo['openId']) && !empty($getAdminInfo['openId'])) {
-            $openId = $getAdminInfo['openId'];
+        if (isset($adminData['openId']) && !empty($adminData['openId'])) {
+            $openId = $adminData['openId'];
             $data['openId'] = $openId;
         }
-        if (isset($getAdminInfo['miniOpenId']) && !empty($getAdminInfo['miniOpenId'])) {
-            $data['miniOpenId'] = $getAdminInfo['miniOpenId'];
+        if (isset($adminData['miniOpenId']) && !empty($adminData['miniOpenId'])) {
+            $data['miniOpenId'] = $adminData['miniOpenId'];
         }
-        if (isset($getAdminInfo['unionId']) && !empty($getAdminInfo['unionId'])) {
-            $data['unionId'] = $getAdminInfo['unionId'];
+        if (isset($adminData['ghsMiniOpenId']) && !empty($adminData['ghsMiniOpenId'])) {
+            $data['ghsMiniOpenId'] = $adminData['ghsMiniOpenId'];
         }
-        if (isset($getAdminInfo['sex'])) {
-            $data['sex'] = $getAdminInfo['sex'];
+        if (isset($adminData['currentShopId']) && !empty($adminData['currentShopId'])) {
+            $data['currentShopId'] = $adminData['currentShopId'];
         }
-        if (isset($getAdminInfo['subscribe'])) {
-            $data['subscribe'] = $getAdminInfo['subscribe'];
+        if (isset($adminData['currentGhsShopId']) && !empty($adminData['currentGhsShopId'])) {
+            $data['currentGhsShopId'] = $adminData['currentGhsShopId'];
         }
-        if (isset($getAdminInfo['subscribeTime'])) {
-            $data['subscribeTime'] = $getAdminInfo['subscribeTime'];
+        if (isset($adminData['unionId']) && !empty($adminData['unionId'])) {
+            $data['unionId'] = $adminData['unionId'];
         }
-        if (isset($getAdminInfo['isFull'])) {
-            $data['isFull'] = $getAdminInfo['isFull'];
+        if (isset($adminData['sex'])) {
+            $data['sex'] = $adminData['sex'];
         }
-        if (isset($getAdminInfo['headImgUrl']) && !empty($getAdminInfo['headImgUrl'])) {
+        if (isset($adminData['subscribe'])) {
+            $data['subscribe'] = $adminData['subscribe'];
+        }
+        if (isset($adminData['subscribeTime'])) {
+            $data['subscribeTime'] = $adminData['subscribeTime'];
+        }
+        if (isset($adminData['isFull'])) {
+            $data['isFull'] = $adminData['isFull'];
+        }
+        if (isset($adminData['headImgUrl']) && !empty($adminData['headImgUrl'])) {
             $data['isFull'] = 1;
         }
-
         //更新头像
         $sjId = 0;
         if (isset($original['avatar']) == false || empty($original['avatar'])) {
-            if (isset($getAdminInfo['headImgUrl']) && !empty($getAdminInfo['headImgUrl'])) {
-                $imgUrl = $getAdminInfo['headImgUrl'];
+            if (isset($adminData['headImgUrl']) && !empty($adminData['headImgUrl'])) {
+                $imgUrl = $adminData['headImgUrl'];
                 $name = ImageService::generateAvatar($sjId, $imgUrl);
                 if (!empty($name)) {
                     $data['avatar'] = $name;
                 }
             }
         }
-
         self::updateById($adminId, $data);
         $admin = self::getById($adminId);
         return $admin;
     }
 
-    public static function generateAdmin($getAdminInfo)
+    public static function generateAdmin($adminData)
     {
         $time = time();
         //替换掉微信名称不支持的图片
-        $nickName = isset($getAdminInfo['nickName']) ? preg_replace('/[\x{10000}-\x{10FFFF}]/u', '', $getAdminInfo['nickName']) : '';
+        $nickName = isset($adminData['nickName']) ? preg_replace('/[\x{10000}-\x{10FFFF}]/u', '', $adminData['nickName']) : '';
         if (empty($nickName)) {
-            $nickName = $getAdminInfo['name'] ?? '';
+            $nickName = $adminData['name'] ?? '';
         }
         if (empty($nickName)) {
-            if (isset($getAdminInfo['mobile']) && !empty($getAdminInfo['mobile'])) {
-                $nickName = $getAdminInfo['mobile'];
+            if (isset($adminData['mobile']) && !empty($adminData['mobile'])) {
+                $nickName = $adminData['mobile'];
             }
         }
-        $mobile = isset($getAdminInfo['mobile']) ? $getAdminInfo['mobile'] : '';
+        $mobile = isset($adminData['mobile']) ? $adminData['mobile'] : '';
         $randPwd = (string)stringUtil::charsShuffleLowerCase(3) . rand(111, 999);
         $password = password_hash($randPwd, PASSWORD_BCRYPT);
-        $getAdminInfo['name'] = $nickName;
-        $subscribe = isset($getAdminInfo['subscribe']) ? $getAdminInfo['subscribe'] : 0;
-        $getAdminInfo['subscribe'] = $subscribe;
-        $getAdminInfo['avatar'] = '';
-        $getAdminInfo['miniOpenId'] = $getAdminInfo['miniOpenId'] ?? '';
-        $getAdminInfo['password'] = $password;
-        $getAdminInfo['payPassword'] = '';
-        $getAdminInfo['mobile'] = $mobile;
-        $getAdminInfo['addTime'] = $time;
-        $getAdminInfo['source'] = isset($getAdminInfo['source']) ? $getAdminInfo['source'] : 0;
-        $getAdminInfo['hasSubscribe'] = 0;
-        $getAdminInfo['currentShopId'] = 0;
-        $getAdminInfo['currentShopId'] = $getAdminInfo['currentShopId'] ?? '';
-        $getAdminInfo['openShop'] = $getAdminInfo['openShop'] ?? \biz\admin\classes\AdminClass::OPEN_SHOP_NO;
-        $getAdminInfo['super'] = $getAdminInfo['super'] ?? \biz\admin\classes\AdminClass::SUPER_NO;
-        $getAdminInfo['delStatus'] = 0;
-        $getAdminInfo['openShop'] = 1;
-        if (isset($getAdminInfo['headImgUrl']) && !empty($getAdminInfo['headImgUrl'])) {
-            $imgUrl = $getAdminInfo['headImgUrl'];
+        $adminData['name'] = $nickName;
+        $subscribe = isset($adminData['subscribe']) ? $adminData['subscribe'] : 0;
+        $adminData['subscribe'] = $subscribe;
+        $adminData['avatar'] = '';
+        $adminData['miniOpenId'] = $adminData['miniOpenId'] ?? '';
+        $adminData['password'] = $password;
+        $adminData['payPassword'] = '';
+        $adminData['mobile'] = $mobile;
+        $adminData['addTime'] = $time;
+        $adminData['source'] = isset($adminData['source']) ? $adminData['source'] : 0;
+        $adminData['hasSubscribe'] = 0;
+        $adminData['currentShopId'] = $adminData['currentShopId'] ?? '';
+        $adminData['openShop'] = $adminData['openShop'] ?? \biz\admin\classes\AdminClass::OPEN_SHOP_NO;
+        $adminData['currentGhsShopId'] = $adminData['currentGhsShopId'] ?? '';
+        $adminData['openGhsShop'] = $adminData['openGhsShop'] ?? \biz\admin\classes\AdminClass::OPEN_SHOP_NO;
+        $adminData['super'] = $adminData['super'] ?? \biz\admin\classes\AdminClass::SUPER_NO;
+        $adminData['delStatus'] = 0;
+        $adminData['openShop'] = 1;
+        if (isset($adminData['headImgUrl']) && !empty($adminData['headImgUrl'])) {
+            $imgUrl = $adminData['headImgUrl'];
             $name = ImageService::generateAvatar(0, $imgUrl);
             if (!empty($name)) {
-                $getAdminInfo['avatar'] = $name;
+                $adminData['avatar'] = $name;
             }
         }
-        $admin = self::add($getAdminInfo);
+        $admin = self::add($adminData);
         if (!empty($mobile)) {
             sms::freeSend($mobile . ',' . $mobile . ',' . $randPwd, '您的管理帐号:{$var} 密码:{$var},开通后登录APP点右下角菜单 我的-修改密码 进行密码修改');
         }

+ 10 - 5
biz-ghs/shop/services/ShopAdminService.php

@@ -7,6 +7,7 @@ use bizGhs\admin\classes\AdminRoleClass;
 use bizGhs\shop\classes\ShopAdminClass;
 use bizHd\base\services\BaseService;
 use bizGhs\merchant\classes\ShopClass;
+use common\components\dict;
 use common\components\imgUtil;
 use common\components\miniUtil;
 use common\components\sms;
@@ -74,9 +75,6 @@ class ShopAdminService extends BaseService
                 $shopAdmin->save();
                 AdminRoleClass::counters(['num' => 1], ['id' => $roleId]);
             }
-            $update = ['currentShopId' => $shopId];
-            AdminClass::updateById($adminId, $update);
-            return $shopAdmin;
         } else {
             $addData = [
                 'adminId' => $adminId,
@@ -89,12 +87,19 @@ class ShopAdminService extends BaseService
                 'super' => $super,
                 'mainId' => $mainId
             ];
-            $shopAdmin = ShopAdminClass::add($addData);
+            $shopAdmin = ShopAdminClass::add($addData, true);
             AdminRoleClass::counters(['num' => 1], ['id' => $roleId]);
+        }
+        $ptStyle = Yii::$app->params['ptStyle'];
+        if ($ptStyle == dict::getDict('ptStyle', 'hd')) {
             $update = ['currentShopId' => $shopId];
             AdminClass::updateById($adminId, $update);
-            return $shopAdmin;
         }
+        if ($ptStyle == dict::getDict('ptStyle', 'ghs')) {
+            $update = ['currentGhsShopId' => $shopId];
+            AdminClass::updateById($adminId, $update);
+        }
+        return $shopAdmin;
     }
 
     //创建员工 ssh 2021.5.9