From 7e9a1e44fe4aac93f98f792f100629c47c0efc97 Mon Sep 17 00:00:00 2001 From: chenbo <709206448@qq.com> Date: Sun, 8 Oct 2023 17:36:09 +0800 Subject: [PATCH] =?UTF-8?q?update=EF=BC=9A=E5=89=8D=E7=AB=AF=E6=89=93?= =?UTF-8?q?=E5=8C=85=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/common/logic/CompanyLogic.php | 52 ++++++++++++++++++++++++++++--- 1 file changed, 48 insertions(+), 4 deletions(-) diff --git a/app/common/logic/CompanyLogic.php b/app/common/logic/CompanyLogic.php index 97f63ad57..02c5a836d 100644 --- a/app/common/logic/CompanyLogic.php +++ b/app/common/logic/CompanyLogic.php @@ -15,6 +15,7 @@ namespace app\common\logic; use app\adminapi\logic\auth\AdminLogic; +use app\common\model\auth\AdminRole; use app\common\model\Company; use app\common\logic\BaseLogic; use app\common\model\auth\Admin; @@ -265,12 +266,55 @@ class CompanyLogic extends BaseLogic $admin['avatar'] = !empty($params['avatar']) ? FileService::setFileUrl($params['avatar']) : $defaultAvatar; $admin['phone']=$params['master_phone']; - Admin::strict(false)->where('account',$account)->update($admin); - $admin_id=Admin::where('account',$account)->value('id'); + // 如果更改了公司类型,则更改公司后台账号和前台账号的角色,以及任务安排 + $editCompany = Company::where(['id'=>$params['id']])->find(); + if($editCompany['company_type'] != $params['company_type']) { + if($editCompany['company_type']==16){ + // 镇合伙人公司 + $oldAdminRoleId = 3; + } elseif ($editCompany['company_type']==17){ + //村管理公司 + $oldAdminRoleId = 4; + } elseif ($editCompany['company_type']==18) { + //小组服务公司 + $oldAdminRoleId = 6; + } elseif ($editCompany['company_type']==41) { + //镇农科公司 总负责人 + $oldAdminRoleId = 7; //后台角色 + } + + + if($params['company_type']==16){ + $adminRoleId = 3; + $userGroupId = 4; + } elseif ($params['company_type']==17){ + $adminRoleId = 4; + $userGroupId = 3; + } elseif ($params['company_type']==18) { + $adminRoleId = 6; + $userGroupId = 5; + } elseif ($params['company_type']==41) { + $adminRoleId = 7; //后台角色 + $userGroupId = 15; // 前台角色 + } + + // 更新后台账户角色 + AdminRole::where(['admin_id'=>$params['admin_id'], 'role_id'=>$oldAdminRoleId])->update(['role_id'=>$adminRoleId]); + + // 更新前台账户角色 + User::where(['admin_id'=>$params['admin_id'], 'company_id'=>$editCompany['id']])->update(['group_id'=>$userGroupId]); + + // 更新任务安排公司类型 + TaskScheduling::where(['company_id'=>$params['id'], 'company_type'=>$editCompany['company_type']])->update(['company_type'=>$params['company_type']]); + } + + + Admin::strict(false)->where('id',$params['admin_id'])->update($admin); + $admin_id=Admin::where('id',$params['admin_id'])->value('id'); // if($params['company_type']==16){ // AdminLogic::insertRole($admin_id, [3]); // } - $user_id=User::where('account',$account)->value('id'); + $user_id=User::where(['admin_id'=>$params['admin_id'], 'company_id'=>$editCompany['id']])->value('id'); $arr['admin_id']=$admin_id; $arr['user_id']=$user_id; @@ -283,7 +327,7 @@ class CompanyLogic extends BaseLogic $admin['nickname']=$params['master_name']; $admin['mobile']=$params['master_phone']; $admin['phone']=$params['master_phone']; - User::strict(false)->where('account',$account)->update($admin); + User::strict(false)->where('id', $user_id)->update($admin); Db::commit(); return true; } catch (\Exception $e) {