From 1e8b6fe77d9592ff5db450576bc1500183d606b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E5=BF=97=E5=BC=BA?= <357099073@qq.com> Date: Thu, 26 Feb 2026 09:40:36 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E7=A7=9F=E6=88=B7=E6=A8=A1?= =?UTF-8?q?=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/Tenant/TenantController.php | 147 ++++++++++++++++++ app/admin/route/routes/tenant.php | 13 ++ 2 files changed, 160 insertions(+) create mode 100644 app/admin/controller/Tenant/TenantController.php create mode 100644 app/admin/route/routes/tenant.php diff --git a/app/admin/controller/Tenant/TenantController.php b/app/admin/controller/Tenant/TenantController.php new file mode 100644 index 0000000..97fd151 --- /dev/null +++ b/app/admin/controller/Tenant/TenantController.php @@ -0,0 +1,147 @@ +param('page', 1, 'int'); + $pageSize = $request->param('pageSize', 10, 'int'); + $tenantName = $request->param('tenant_name', ''); + $tenantCode = $request->param('tenant_code', ''); + $contactPerson = $request->param('contact_person', ''); + $contactPhone = $request->param('contact_phone', ''); + + $where = [['delete_time', '=', null]]; + + // 动态增加模糊搜索条件 + if ($tenantName) $where[] = ['tenant_name', 'like', "%$tenantName%"]; + if ($tenantCode) $where[] = ['tenant_code', 'like', "%$tenantCode%"]; + if ($contactPerson) $where[] = ['contact_person', 'like', "%$contactPerson%"]; + if ($contactPhone) $where[] = ['contact_phone', 'like', "%$contactPhone%"]; + + $list = Tenant::where($where)->page($page, $pageSize)->select()->toArray(); + $total = Tenant::where($where)->count(); + + return json(['code' => 200, 'data' => ['list' => $list, 'total' => $total]]); + } + + /** + * 获取租户详情 + */ + public function getTenantDetail($id) + { + $detail = Tenant::where('id', $id)->where('delete_time', null)->find()->toArray(); + return json([ + 'code' => 200, + 'msg' => '获取成功', + 'data' => $detail + ]); + } + + /** + * 创建租户 + */ + public function createTenant() + { + $data = $this->request->post(); + $tenant = Tenant::create($data); + if ($tenant) { + return json([ + 'code' => 200, + 'msg' => '创建成功', + 'data' => $tenant + ]); + } else { + return json([ + 'code' => 500, + 'msg' => '创建失败', + ]); + } + } + + /** + * 编辑租户 + */ + public function editTenant($id) + { + $data = $this->request->post(); + $tenant = Tenant::where('id', $id)->update($data); + if ($tenant) { + return json([ + 'code' => 200, + 'msg' => '编辑成功', + 'data' => $tenant + ]); + } else { + return json([ + 'code' => 500, + 'msg' => '编辑失败', + ]); + } + } + + /** + * 删除租户 + */ + public function deleteTenant($id) + { + $tenant = Tenant::where('id', $id)->update(['delete_time' => date('Y-m-d H:i:s')]); + if ($tenant) { + return json([ + 'code' => 200, + 'msg' => '删除成功', + ]); + } else { + return json([ + 'code' => 500, + 'msg' => '删除失败', + ]); + } + } + + /** + * 查询租户编码重复(不筛选删除数据) + */ + public function findTenantCode(Request $request) + { + $tenantCode = $request->param('tenant_code', ''); + + if (!$tenantCode) { + return json(['code' => 400, 'msg' => '缺少编码参数']); + } + + // 直接去表里查,只要有一条一样的就返回重复 + $hasOne = Tenant::where('tenant_code', $tenantCode)->find(); + + if ($hasOne) { + return json([ + 'code' => 201, + 'msg' => '编码已存在', + 'data' => $hasOne + ]); + } + + return json([ + 'code' => 200, + 'msg' => '编码可用' + ]); + } +} diff --git a/app/admin/route/routes/tenant.php b/app/admin/route/routes/tenant.php new file mode 100644 index 0000000..f89770b --- /dev/null +++ b/app/admin/route/routes/tenant.php @@ -0,0 +1,13 @@ +