diff --git a/app/api/controller/LandController.php b/app/api/controller/LandController.php new file mode 100644 index 00000000..e4f4af25 --- /dev/null +++ b/app/api/controller/LandController.php @@ -0,0 +1,82 @@ +request->post($fields); + foreach($fields as $v){ + if(!isset($params[$v]) || $params[$v] == ''){ + return $this->fail('缺少必要参数'); + } + } + $land = Land::where('user_id',$this->userId)->where('title',$params['title'])->findOrEmpty(); + if(!$land->isEmpty()){ + return $this->fail('土地名称已存在'); + } + $province = Province::field('province_name')->where('province_code',$params['province_code'])->findOrEmpty(); + if($province->isEmpty()){ + return $this->fail('省份编码错误'); + } + $city = City::field('city_name')->where('province_code',$params['province_code'])->where('city_code',$params['city_code'])->findOrEmpty(); + if($city->isEmpty()){ + return $this->fail('城市编码错误'); + } + $county = County::field('county_name')->where('city_code',$params['city_code'])->where('county_code',$params['county_code'])->findOrEmpty(); + if($county->isEmpty()){ + return $this->fail('区县编码错误'); + } + $town = Town::field('town_name')->where('county_code',$params['county_code'])->where('town_code',$params['town_code'])->findOrEmpty(); + if($town->isEmpty()){ + return $this->fail('镇街编码错误'); + } + $village = Village::field('village_name')->where('town_code',$params['town_code'])->where('village_code',$params['village_code'])->findOrEmpty(); + if($village->isEmpty()){ + return $this->fail('乡村编码错误'); + } + $group = Group::field('group_name')->where('id',$params['group_code'])->findOrEmpty(); + if($group->isEmpty()){ + return $this->fail('小组编码错误'); + } + $land = Land::create([ + 'user_id' => $this->userId, + 'title' => $params['title'], + 'total_area' => $params['area'], + 'residual_area' => $params['area'], + 'province_code' => $params['province_code'], + 'province_name' => $province['province_name'], + 'city_code' => $params['city_code'], + 'city_name' => $city['city_name'], + 'county_code' => $params['county_code'], + 'county_name' => $county['county_name'], + 'town_code' => $params['town_code'], + 'town_name' => $town['town_name'], + 'village_code' => $params['village_code'], + 'village_name' => $village['village_name'], + 'group_code' => $params['group_code'], + 'group_name' => $group['group_name'], + 'master_name' => $params['master_name'], + 'master_phone' => $params['master_phone'], + 'create_time' => time(), + 'update_time' => time(), + ]); + if($land->id){ + return $this->success('土地添加成功'); + }else{ + return $this->fail('土地添加失败'); + } + } + } \ No newline at end of file diff --git a/app/common/controller/GeoController.php b/app/common/controller/GeoController.php new file mode 100644 index 00000000..f8909542 --- /dev/null +++ b/app/common/controller/GeoController.php @@ -0,0 +1,73 @@ +select(); + return $this->success('请求成功',$data->toArray()); + } + + // 获取城市 + public function city(): Json + { + $province_code = $this->request->get('province_code'); + if(empty($province_code)){ + return $this->fail('请选择省份'); + } + $data = City::field('city_code,city_name')->where('province_code',$province_code)->select(); + return $this->success('请求成功',$data->toArray()); + } + + // 获取区县 + public function county(): Json + { + $city_code = $this->request->get('city_code'); + if(empty($city_code)){ + return $this->fail('请选择城市'); + } + $data = County::field('county_code,county_name')->where('city_code',$city_code)->select(); + return $this->success('请求成功',$data->toArray()); + } + + // 获取镇街 + public function towns(): Json + { + $county_code = $this->request->get('county_code'); + if(empty($county_code)){ + return $this->fail('请选择区县'); + } + $data = Town::field('town_code,town_name')->where('county_code',$county_code)->select(); + return $this->success('请求成功',$data->toArray()); + } + + // 获取村社 + public function villages(): Json + { + $town_code = $this->request->get('town_code'); + if(empty($town_code)){ + return $this->fail('请选择镇街'); + } + $data = Village::field('village_code,village_name')->where('town_code',$town_code)->select(); + return $this->success('请求成功',$data->toArray()); + } + + // 获取小组 + public function groups(): Json + { + $data = Group::field('id as group_code,group_name')->select(); + return $this->success('请求成功',$data->toArray()); + } + } \ No newline at end of file diff --git a/app/common/model/geo/City.php b/app/common/model/geo/City.php new file mode 100644 index 00000000..ceacdbcc --- /dev/null +++ b/app/common/model/geo/City.php @@ -0,0 +1,10 @@ +