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' => '编码可用' ]); } }