diff --git a/app/adminapi/controller/farmer/FarmerController.php b/app/adminapi/controller/farmer/FarmerController.php new file mode 100644 index 00000000..50e371b2 --- /dev/null +++ b/app/adminapi/controller/farmer/FarmerController.php @@ -0,0 +1,158 @@ +request->get(['farmer_name','farmer_phone','group_name','captain_name','page_no','page_size']); + //设置分页条件 + $params['page_no'] = empty($params['page_no']) || $params['page_no'] < 0 ? 1 : $params['page_no']; + $params['page_size'] = empty($params['page_size']) || $params['page_size'] < 0 ? 10 : $params['page_size']; + //获取数据 + $url = env('project.worker_domain').'/api/information/farmerList'; + $data = curl_post($url,[],$params); + if(empty($data) || $data['code'] == 0){ + return $this->fail('请求失败'); + } + return json($data); + } + + //农户详情 + public function detail(): Json + { + $params = $this->request->get(['id']); + if(empty($params['id'])){ + return $this->fail('参数错误'); + } + //获取数据 + $url = env('project.worker_domain').'/api/information/farmerInfo'; + $result = curl_post($url,[],['user_id'=>$params['id']]); + if(empty($result) || $result['code'] == 0){ + return $this->fail('请求失败'); + } + $data = $result['data']; + if(empty($data)){ + return $this->fail('数据为空'); + } + $data['address'] = $data['area_name'].$data['street_name'].$data['village_name'].$data['brigade_name'].$data['address']; + $str = []; + $area = []; + $item['farmer_type'] = implode('/',$str); + $item['farmer_area'] = implode('/',$area); + //判断是否是种植农户 + if($data['is_zz_user']){ + $str[] = '种植户'; + $area[] = $data['total_land_area']; + $lands = $data['land_detail']; + foreach($lands as $k=>$v) { + //查找种植信息 + $land_crop = Db::name('farmer_land_crop')->where([ + ['user_id','=',$params['id']], + ['land_id','=',$v['land_id']], + ['flag','=',1] + ])->order('id desc')->findOrEmpty(); + if(!empty($land_crop)){ + $lands[$k]['is_cropped'] = true; + $lands[$k]['source_code'] = $land_crop['source_code']; + $lands[$k]['crop_name'] = $land_crop['crop_name']; + $lands[$k]['crop_variety'] = $land_crop['crop_variety']; + $lands[$k]['crop_brand'] = $land_crop['crop_brand']; + $lands[$k]['crop_yield'] = $land_crop['crop_yield']; + $lands[$k]['seed_time'] = date('Y-m-d H:i:s',$land_crop['seed_time']); + $lands[$k]['ripe_time'] = !empty($land_crop['ripe_time']) && !empty($land_crop['crop_yield']) ? date('Y-m-d H:i:s',$land_crop['ripe_time']) : $land_crop['ripe_time']; + }else{ + $lands[$k]['is_cropped'] = false; + } + } + $data['land_detail'] = $lands; + } + //判断是否是水产养殖户 + if($data['is_sc_user']){ + $str[] = '水产养殖户'; + $area[] = $data['total_pond_area']; + $ponds = $data['pond_detail']; + foreach($ponds as $k=>$v) { + //获取养殖信息 + $breedData = Db::name('farmer_pond_breed')->where('user_id',$params['id'])->where('pond_id',$v['pond_id'])->sum('number'); + //获取捕捞信息 + $catchData = Db::name('farmer_pond_catch')->where('user_id',$params['id'])->where('pond_id',$v['pond_id'])->sum('number'); + if($breedData - $catchData != 0){ + $ponds[$k]['is_culture'] = true; + $ponds[$k]['total_num'] = $breedData - $catchData; + //获取水产养殖种类 + $fishKind = Db::name('farmer_pond_breed')->distinct(true)->where('user_id',$params['id'])->where('pond_id',$v['pond_id'])->limit(4)->column('kind'); + //获取水产养殖具体品种 + $fiskBreed = Db::name('farmer_pond_breed')->distinct(true)->where('user_id',$params['id'])->where('pond_id',$v['pond_id'])->limit(4)->column('breed'); + $ponds[$k]['kind'] = $fishKind; + $ponds[$k]['breed'] = $fiskBreed; + //获取养殖时间 + $firstBreed = Db::name('farmer_pond_breed')->where('user_id',$params['id'])->where('pond_id',$v['pond_id'])->findOrEmpty(); + $ponds[$k]['source_code'] = $firstBreed['source_code']; + $ponds[$k]['create_time'] = date('Y-m-d H:i:s',$firstBreed['create_time']); + }else{ + $ponds[$k]['is_culture'] = false; + } + } + $data['pond_detail'] = $ponds; + } + //判断是否是家畜养殖户 + if($data['is_dw_user']){ + $str[] = '家畜养殖户'; + $area[] = $data['total_pasture_area']; + //获取家畜养殖数量 + $animalCount = Db::name('farmer_animal_breed')->where('user_id',$params['id'])->count(); + //获取家畜是公的数量 + $maleCount = Db::name('farmer_animal_breed')->where('user_id',$params['id'])->where('animal_gender',1)->count(); + //获取家畜是母的数量 + $maternalCount = Db::name('farmer_animal_breed')->where('user_id',$params['id'])->where('animal_gender',2)->count(); + //获取家畜养殖种类 + $animalKind = Db::name('farmer_animal_breed')->distinct(true)->where('user_id',$params['id'])->limit(4)->column('animal_kind'); + //获取家畜养殖具体品种 + $animalBreed = Db::name('farmer_animal_breed')->distinct(true)->where('user_id',$params['id'])->limit(4)->column('animal_breed'); + $animalLists = Db::name('farmer_animal_breed')->where('user_id',$params['id'])->select()->toArray(); + $data['animal_detail'] = [ + 'total_count' => $animalCount, + 'male_count' => $maleCount, + 'maternal_count' => $maternalCount, + 'kind' => $animalKind, + 'breed' => $animalBreed, + 'lists' => $animalLists + ]; + } + //判断是否是家禽养殖户 + if($data['is_jq_user']){ + $str[] = '家禽养殖户'; + $area[] = $data['total_henhouse_area']; + //获取家畜养殖数量 + $poultryCount = Db::name('farmer_poultry_breed')->where('user_id',$params['id'])->count(); + //获取家畜是公的数量 + $maleCount = Db::name('farmer_poultry_breed')->where('user_id',$params['id'])->where('gender',1)->count(); + //获取家畜是母的数量 + $maternalCount = Db::name('farmer_poultry_breed')->where('user_id',$params['id'])->where('gender',2)->count(); + //获取家畜养殖种类 + $poultryKind = Db::name('farmer_poultry_breed')->distinct(true)->where('user_id',$params['id'])->limit(4)->column('kind'); + //获取家畜养殖具体品种 + $poultryBreed = Db::name('farmer_poultry_breed')->distinct(true)->where('user_id',$params['id'])->limit(4)->column('breed'); + $poultryList = Db::name('farmer_poultry_breed')->where('user_id',$params['id'])->select()->toArray(); + $data['poultry_detail'] = [ + 'total_count' => $poultryCount, + 'male_count' => $maleCount, + 'maternal_count' => $maternalCount, + 'kind' => $poultryKind, + 'breed' => $poultryBreed, + 'lists' => $poultryList + ]; + } + $data['farmer_type'] = implode('/',$str); + $data['farmer_area'] = implode('/',$area); + unset($data['area_name'],$data['street_name'],$data['village_name'],$data['brigade_name'],$data['is_zz_user'],$data['is_dw_user'],$data['is_jq_user'],$data['is_sc_user'],$data['total_land_area'],$data['total_pasture_area'],$data['total_henhouse_area'],$data['total_pond_area']); + return $this->success('请求成功',$data); + } + } \ No newline at end of file