update:编辑公司-更改了公司类型,则更改公司后台账号和前台账号的角色,以及任务安排

This commit is contained in:
chenbo 2023-10-08 18:15:53 +08:00
parent dd7e99cc07
commit 2d9f2977ea

View File

@ -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;