From e8e389c78e20857c478b76e5439c43a62786ba7f Mon Sep 17 00:00:00 2001 From: weiz Date: Thu, 16 Nov 2023 09:35:28 +0800 Subject: [PATCH] update --- .../controller/CompanyController.php | 55 +++++++++++++++++++ 1 file changed, 55 insertions(+) diff --git a/app/middleapi/controller/CompanyController.php b/app/middleapi/controller/CompanyController.php index 8b5b3dd6a..4a62bf9a3 100644 --- a/app/middleapi/controller/CompanyController.php +++ b/app/middleapi/controller/CompanyController.php @@ -272,4 +272,59 @@ ->toArray(); return $this->success('请求成功',$data); } + + public function responsibleArea(): Json + { + if(!$this->request->isPost()){ + return $this->fail('请求方式错误'); + } + $params = $this->request->post(['key','value','company_type']); + if (empty($params['key']) || empty($params['value']) || empty($params['company_type'])) { + return $this->fail('参数错误'); + } + if ($params['key'] == 'city') { + $where[] = ['area', '=', 0]; + } + if ($params['value'] == '') { + return $this->fail('参数不能为空'); + } + $where[] = [$params['key'], '=', $params['value']]; + $where[] = ['company_type', '=', $params['company_type']]; + switch ($params['key']) { + case 'city': + // $geo_area=Db::name('geo_area')->where('city_code', '=', $parmas['value'])->column('area_code'); + // $where[] = ['area', 'in', $geo_area]; + break; + case 'area': + $street_code = Db::name('geo_street')->where('area_code', '=', $params['value'])->column('street_code'); + $where[] = ['street', 'in', $street_code]; + $where[] = ['village', '=', 0]; + break; + case 'street': + $street_code = Db::name('geo_village')->where('street_code', '=', $params['value'])->column('village_code'); + $where[] = ['village', 'in', $street_code]; + $where[] = ['brigade', '=', 0]; + break; + case 'village': + // $street_code = Db::name('geo_brigade')->where('street_code', '=', $parmas['value'])->column('village_code'); + $where[] = ['village', '=', $params['value']]; + // $where[] = ['brigade', '=', 0]; + break; + } + + $res = Company::where($where)->column('responsible_area'); + + foreach ($res as $k => $v) { + $res[$k] = explode(',', $v); + } + $data = []; + foreach ($res as $k => $v) { + foreach ($v as $kk => $vv) { + if ($vv != '') { + $data[] = $vv; + } + } + } + return $this->success('success', array_unique($data)); + } } \ No newline at end of file