suyuan/app/api/controller/LandController.php

82 lines
3.1 KiB
PHP

<?php
namespace app\api\controller;
use app\common\model\geo\City;
use app\common\model\geo\County;
use app\common\model\geo\Group;
use app\common\model\geo\Province;
use app\common\model\geo\Town;
use app\common\model\geo\Village;
use app\common\model\land\Land;
use think\response\Json;
class LandController extends BaseApiController
{
//添加土地
public function addLand(): Json
{
$fields = ['title','area','province_code','city_code','county_code','town_code','village_code','group_code','master_name','master_phone'];
$params = $this->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('土地添加失败');
}
}
}