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;