model = new \app\admin\model\project\CompanyAudit; $this->view->assign("auditStatusList", $this->model->getAuditStatusList()); } public function del($ids = null) { if (false === $this->request->isPost()) { $this->error(__("Invalid parameters")); } $ids = $ids ?: $this->request->post("ids"); if (empty($ids)) { $this->error(__('Parameter %s can not be empty', 'ids')); } $pk = $this->model->getPk(); $adminIds = $this->getDataLimitAdminIds(); if (is_array($adminIds)) { $this->model->where($this->dataLimitField, 'in', $adminIds); } $list = $this->model->where($pk, 'in', $ids)->select(); $count = 0; Db::startTrans(); try { foreach ($list as $item) { $count += $item->delete(); } //删除企业同时删除企业账号和企业绑定用户 ProjectCompanyUser::where('company_id', 'in', $ids)->delete(); //删除企业角色和角色权限 AuthGroup::where('company_id', 'in', $ids)->delete(); $user_id = \app\common\model\User::where('company_id', $ids)->value('id'); AuthGroupAccess::where('uid', 'in', $user_id)->delete(); //删除企业账号 \app\common\model\User::where('company_id', 'in', $ids)->update(['company_id'=>0]); Db::commit(); } catch (PDOException|Exception $e) { Db::rollback(); $this->error($e->getMessage()); } if ($count) { $this->success(); } $this->error(__('No rows were deleted')); } /** * 审核 * @return void */ public function audit(){ $status = $this->request->post('status','', 'intval');//1 成功 2 拒绝 $id = $this->request->post('id'); $company = $this->model->get($id); $company->audit_status = $status; $company->save(); $user = User::where('company_id', $id)->find(); //添加企业管理员角色基础数据 $role_data = [ 'pid' => 1, 'type' => 1, 'name' => '企业管理员', 'rules' => '11,47,48,49,50,963,965,968,974,975,976,977,1036,1037,1038,1048,1057,5,962,970', 'status' => 'normal', 'company_id' => $id, ]; $groupModel = AuthGroup::create($role_data); $group_id = $groupModel->id; //添加企业管理员权限 (后台菜单权限) // $group_id = AuthGroup::where('type', AuthGroup::$group_type[0]['id'])->value('id'); AuthGroupAccess::create(['uid' => $user->id, 'group_id' => $group_id]); //记录企业用户关系 并添加企业角色 (接口数据权限) ProjectCompanyUser::create(['company_id' => $id, 'user_id' => $user->id, 'role_id' => $group_id, 'role_type' => AuthGroup::$group_type[0]['id']]); $this->success('操作成功', 'project/company_audit/index?ref=addtabs'); } public function detail($ids = null) { $data = $this->model->detail($ids); $this->view->assign('row', $data); return $this->view->fetch(); } }