From 2d9f2977ea69ad57b2ea2d7db0586d582cf7cbb5 Mon Sep 17 00:00:00 2001 From: chenbo <709206448@qq.com> Date: Sun, 8 Oct 2023 18:15:53 +0800 Subject: [PATCH] =?UTF-8?q?update=EF=BC=9A=E7=BC=96=E8=BE=91=E5=85=AC?= =?UTF-8?q?=E5=8F=B8-=E6=9B=B4=E6=94=B9=E4=BA=86=E5=85=AC=E5=8F=B8?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B=EF=BC=8C=E5=88=99=E6=9B=B4=E6=94=B9=E5=85=AC?= =?UTF-8?q?=E5=8F=B8=E5=90=8E=E5=8F=B0=E8=B4=A6=E5=8F=B7=E5=92=8C=E5=89=8D?= =?UTF-8?q?=E5=8F=B0=E8=B4=A6=E5=8F=B7=E7=9A=84=E8=A7=92=E8=89=B2=EF=BC=8C?= =?UTF-8?q?=E4=BB=A5=E5=8F=8A=E4=BB=BB=E5=8A=A1=E5=AE=89=E6=8E=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/common/logic/CompanyLogic.php | 31 ++++++++++++++++++++++++++----- 1 file changed, 26 insertions(+), 5 deletions(-) diff --git a/app/common/logic/CompanyLogic.php b/app/common/logic/CompanyLogic.php index 02c5a836d..b2c2ddc03 100644 --- a/app/common/logic/CompanyLogic.php +++ b/app/common/logic/CompanyLogic.php @@ -268,7 +268,19 @@ class CompanyLogic extends BaseLogic // 如果更改了公司类型,则更改公司后台账号和前台账号的角色,以及任务安排 $editCompany = Company::where(['id'=>$params['id']])->find(); + + if($editCompany['company_type'] != $params['company_type']) { + if($editCompany['company_type'] == 30){ + // 平台公司 删除用户角色和任务安排 修改用户角色 + Db::rollback(); + throw new Exception('不可将已创建的平台公司变更为其他类型公司'); + } + if($params['company_type'] == 30){ + // 平台公司 删除用户角色和任务安排 修改用户角色 + Db::rollback(); + throw new Exception('不可将已创建的企业变更为平台公司'); + } if($editCompany['company_type']==16){ // 镇合伙人公司 $oldAdminRoleId = 3; @@ -283,7 +295,6 @@ class CompanyLogic extends BaseLogic $oldAdminRoleId = 7; //后台角色 } - if($params['company_type']==16){ $adminRoleId = 3; $userGroupId = 4; @@ -299,13 +310,23 @@ class CompanyLogic extends BaseLogic } // 更新后台账户角色 - AdminRole::where(['admin_id'=>$params['admin_id'], 'role_id'=>$oldAdminRoleId])->update(['role_id'=>$adminRoleId]); + $adminRoleModel = AdminRole::where(['admin_id'=>$params['admin_id'], 'role_id'=>$oldAdminRoleId])->findOrEmpty(); + if (!empty($adminRoleModel)) { + $adminRoleModel->save(['role_id'=>$adminRoleId]); + } // 更新前台账户角色 - User::where(['admin_id'=>$params['admin_id'], 'company_id'=>$editCompany['id']])->update(['group_id'=>$userGroupId]); + $userModel = User::where(['admin_id'=>$params['admin_id'], 'company_id'=>$editCompany['id']])->findOrEmpty(); + if (!empty($userModel)) { + $userModel->save(['group_id'=>$userGroupId]); + } // 更新任务安排公司类型 - TaskScheduling::where(['company_id'=>$params['id'], 'company_type'=>$editCompany['company_type']])->update(['company_type'=>$params['company_type']]); + $taskScheduleModel = TaskScheduling::where(['company_id'=>$params['id'], 'company_type'=>$editCompany['company_type']])->findOrEmpty(); + if (!empty($taskScheduleModel)) { + $taskScheduleModel->save(['company_type'=>$params['company_type']]); + } + } @@ -314,7 +335,7 @@ class CompanyLogic extends BaseLogic // if($params['company_type']==16){ // AdminLogic::insertRole($admin_id, [3]); // } - $user_id=User::where(['admin_id'=>$params['admin_id'], 'company_id'=>$editCompany['id']])->value('id'); + $user_id=User::where(['admin_id'=>$params['admin_id'], 'company_id'=> $params['id']])->value('id'); $arr['admin_id']=$admin_id; $arr['user_id']=$user_id;